From 6721b234ac84b7ae193419a28b9daab89dff6507 Mon Sep 17 00:00:00 2001 From: Martin McKeaveney Date: Tue, 11 Jan 2022 20:33:22 +0100 Subject: [PATCH 001/176] nginx dev setup --- .github/CONTRIBUTING.md | 2 +- .gitignore | 2 +- .../lib/cloud/scripts/per-instance/001_onboot | 2 +- hosting/docker-compose.dev.yaml | 8 +- hosting/kubernetes/nginx/Dockerfile | 3 + hosting/kubernetes/nginx/nginx.conf | 146 ++++++++++++++++++ hosting/nginx.dev.conf.hbs | 91 +++++++++++ hosting/proxy/Dockerfile | 2 + hosting/proxy/nginx.conf | 87 +++++++++++ packages/server/scripts/dev/manage.js | 4 +- 10 files changed, 339 insertions(+), 8 deletions(-) create mode 100644 hosting/kubernetes/nginx/Dockerfile create mode 100644 hosting/kubernetes/nginx/nginx.conf create mode 100644 hosting/nginx.dev.conf.hbs create mode 100644 hosting/proxy/Dockerfile create mode 100644 hosting/proxy/nginx.conf diff --git a/.github/CONTRIBUTING.md b/.github/CONTRIBUTING.md index d1e373003a..2a57d6f388 100644 --- a/.github/CONTRIBUTING.md +++ b/.github/CONTRIBUTING.md @@ -137,7 +137,7 @@ If you wish to delete all the apps created in development and reset the environm ### Backend -For the backend we run [Redis](https://redis.io/), [CouchDB](https://couchdb.apache.org/), [MinIO](https://min.io/) and [Envoy](https://www.envoyproxy.io/) in Docker compose. This means that to develop Budibase you will need Docker and Docker compose installed. The backend services are then ran separately as Node services with nodemon so that they can be debugged outside of Docker. +For the backend we run [Redis](https://redis.io/), [CouchDB](https://couchdb.apache.org/), [MinIO](https://min.io/) and [NGINX](https://www.nginx.com/) in Docker compose. This means that to develop Budibase you will need Docker and Docker compose installed. The backend services are then ran separately as Node services with nodemon so that they can be debugged outside of Docker. ### Data Storage diff --git a/.gitignore b/.gitignore index 086813c97e..4d963e1ab9 100644 --- a/.gitignore +++ b/.gitignore @@ -64,7 +64,7 @@ typings/ # dotenv environment variables file .env !hosting/.env -hosting/.generated-envoy.dev.yaml +hosting/.generated-nginx.dev.conf # parcel-bundler cache (https://parceljs.org/) .cache diff --git a/hosting/digitalocean/files/var/lib/cloud/scripts/per-instance/001_onboot b/hosting/digitalocean/files/var/lib/cloud/scripts/per-instance/001_onboot index e5a883ac81..938c5e595d 100755 --- a/hosting/digitalocean/files/var/lib/cloud/scripts/per-instance/001_onboot +++ b/hosting/digitalocean/files/var/lib/cloud/scripts/per-instance/001_onboot @@ -3,7 +3,7 @@ # go into the app dir cd /root -# fetch envoy and docker-compose files +# fetch nginx and docker-compose files wget https://raw.githubusercontent.com/Budibase/budibase/master/hosting/docker-compose.yaml wget https://raw.githubusercontent.com/Budibase/budibase/master/hosting/envoy.yaml wget https://raw.githubusercontent.com/Budibase/budibase/master/hosting/hosting.properties diff --git a/hosting/docker-compose.dev.yaml b/hosting/docker-compose.dev.yaml index eaced64e06..9915a7eb12 100644 --- a/hosting/docker-compose.dev.yaml +++ b/hosting/docker-compose.dev.yaml @@ -22,16 +22,18 @@ services: retries: 3 proxy-service: - container_name: budi-envoy-dev + container_name: budi-nginx-dev restart: always - image: envoyproxy/envoy:v1.16-latest + image: nginx:latest volumes: - - ./.generated-envoy.dev.yaml:/etc/envoy/envoy.yaml + - ./.generated-nginx.dev.conf:/etc/nginx/nginx.conf:ro ports: - "${MAIN_PORT}:10000" depends_on: - minio-service - couchdb-service + extra_hosts: + - "host.docker.internal:host-gateway" couchdb-service: container_name: budi-couchdb-dev diff --git a/hosting/kubernetes/nginx/Dockerfile b/hosting/kubernetes/nginx/Dockerfile new file mode 100644 index 0000000000..189a71288f --- /dev/null +++ b/hosting/kubernetes/nginx/Dockerfile @@ -0,0 +1,3 @@ +# FROM envoyproxy/envoy:v1.16-latest +# COPY envoy.yaml /etc/envoy/envoy.yaml +# RUN chmod go+r /etc/envoy/envoy.yaml diff --git a/hosting/kubernetes/nginx/nginx.conf b/hosting/kubernetes/nginx/nginx.conf new file mode 100644 index 0000000000..bab1f25c02 --- /dev/null +++ b/hosting/kubernetes/nginx/nginx.conf @@ -0,0 +1,146 @@ +static_resources: + listeners: + - name: main_listener + address: + socket_address: { address: 0.0.0.0, port_value: 10000 } + filter_chains: + - filters: + - name: envoy.filters.network.http_connection_manager + typed_config: + "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager + stat_prefix: ingress + codec_type: auto + route_config: + name: local_route + virtual_hosts: + - name: local_services + domains: ["*"] + routes: + - match: { prefix: "/app/" } + route: + cluster: app-service + prefix_rewrite: "/" + + - match: { prefix: "/builder/" } + route: + cluster: app-service + + - match: { prefix: "/builder" } + route: + cluster: app-service + + - match: { prefix: "/app_" } + route: + cluster: app-service + + # special cases for worker admin (deprecated), global and system API + - match: { prefix: "/api/global/" } + route: + cluster: worker-service + + - match: { prefix: "/api/admin/" } + route: + cluster: worker-service + + - match: { prefix: "/api/system/" } + route: + cluster: worker-service + + - match: { path: "/" } + route: + cluster: app-service + + - match: + safe_regex: + google_re2: {} + regex: "/api/.*/export" + route: + timeout: 0s + cluster: app-service + + - match: { path: "/api/deploy" } + route: + timeout: 60s + cluster: app-service + + # special case for when API requests are made, can just forward, not to minio + - match: { prefix: "/api/" } + route: + cluster: app-service + + - match: { prefix: "/worker/" } + route: + cluster: worker-service + prefix_rewrite: "/" + + - match: { prefix: "/db/" } + route: + cluster: couchdb-service + prefix_rewrite: "/" + + # minio is on the default route because this works + # best, minio + AWS SDK doesn't handle path proxy + - match: { prefix: "/" } + route: + cluster: minio-service + + http_filters: + - name: envoy.filters.http.router + + clusters: + - name: app-service + connect_timeout: 0.25s + type: strict_dns + lb_policy: round_robin + load_assignment: + cluster_name: app-service + endpoints: + - lb_endpoints: + - endpoint: + address: + socket_address: + address: app-service.budibase.svc.cluster.local + port_value: 4002 + + - name: minio-service + connect_timeout: 0.25s + type: strict_dns + lb_policy: round_robin + load_assignment: + cluster_name: minio-service + endpoints: + - lb_endpoints: + - endpoint: + address: + socket_address: + address: minio-service.budibase.svc.cluster.local + port_value: 9000 + + - name: worker-service + connect_timeout: 0.25s + type: strict_dns + lb_policy: round_robin + load_assignment: + cluster_name: worker-service + endpoints: + - lb_endpoints: + - endpoint: + address: + socket_address: + address: worker-service.budibase.svc.cluster.local + port_value: 4001 + + - name: couchdb-service + connect_timeout: 0.25s + type: strict_dns + lb_policy: round_robin + load_assignment: + cluster_name: couchdb-service + endpoints: + - lb_endpoints: + - endpoint: + address: + socket_address: + address: budibase-prod-svc-couchdb + port_value: 5984 + diff --git a/hosting/nginx.dev.conf.hbs b/hosting/nginx.dev.conf.hbs new file mode 100644 index 0000000000..f7e3134958 --- /dev/null +++ b/hosting/nginx.dev.conf.hbs @@ -0,0 +1,91 @@ +user nginx; +error_log /var/log/nginx/error.log warn; +pid /var/run/nginx.pid; +worker_processes auto; +worker_rlimit_nofile 33282; + +events { + worker_connections 4096; +} + +http { + include /etc/nginx/mime.types; + default_type application/octet-stream; + + log_format main '$remote_addr - $remote_user [$time_local] "$request" ' + '$status $body_bytes_sent "$http_referer" ' + '"$http_user_agent" "$http_x_forwarded_for"'; + + map $http_upgrade $connection_upgrade { + default "upgrade"; + } + + server { + listen 0.0.0.0:10000 default_server; + server_name _; + resolver 127.0.0.11 valid=10s; + + # security headers + add_header X-Frame-Options SAMEORIGIN always; + + # proxy headers + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-Proto $scheme; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + + + # budibase services + set $app_service http://{{ address }}:4001; + set $worker_service http://{{ address }}:4002; + set $builder http://{{ address }}:3000; + set $minio http://minio-service:9000; + set $couchdb http://couchdb-service:5984; + + location = / { + return 301 /builder/; + } + + location /db/ { + proxy_pass $couchdb; + rewrite ^/db/(.*)$ /$1 break; + } + + location ~ ^/(global|admin|system)/ { + proxy_pass $worker_service; + } + + location /api/ { + proxy_read_timeout 120s; + proxy_connect_timeout 120s; + proxy_send_timeout 120s; + proxy_pass $app_service; + } + + location ^/(app_|builder) { + proxy_pass $app_service; + } + + location /app/ { + proxy_pass $app_service; + rewrite ^/app/(.*)$ /$1 break; + } + + {{!-- location = / { + proxy_pass $builder; + } --}} + + location /builder { + proxy_pass $builder; + rewrite ^/builder(.*)$ /builder/$1 break; + } + + location /builder/ { + proxy_pass $builder; + } + + location / { + proxy_pass $minio; + } + } +} \ No newline at end of file diff --git a/hosting/proxy/Dockerfile b/hosting/proxy/Dockerfile new file mode 100644 index 0000000000..2fd64a9d68 --- /dev/null +++ b/hosting/proxy/Dockerfile @@ -0,0 +1,2 @@ +FROM nginx:latest +COPY nginx.conf /etc/nginx/nginx.conf \ No newline at end of file diff --git a/hosting/proxy/nginx.conf b/hosting/proxy/nginx.conf new file mode 100644 index 0000000000..02480e83b5 --- /dev/null +++ b/hosting/proxy/nginx.conf @@ -0,0 +1,87 @@ +user nginx; +worker_processes 5; +error_log logs/error.log; +pid logs/nginx.pid; +worker_rlimit_nofile 8192; + +events { + worker_connections 4096; +} + +http { + include /etc/nginx/mime.types; + include /etc/nginx/proxy.conf; + # include /etc/nginx/fastcgi.conf; + # index index.html index.htm index.php; + + default_type application/octet-stream; + log_format main '$remote_addr - $remote_user [$time_local] $status ' + '"$request" $body_bytes_sent "$http_referer" ' + '"$http_user_agent" "$http_x_forwarded_for"'; + access_log logs/access.log main; + + server { + listen 10000 default_server; + listen [::]:10000 default_server; + server_name _; + access_log logs/budiproxy.access.log main; + + # security headers + add_header X-Frame-Options SAMEORIGIN always; + + upstream app-service { + server app-service:4002 + } + + upstream worker-service { + server worker-service:4003 + } + + location = /v1/update { + proxy_pass http://watchtower-service:8080; + } + + location /app/ { + proxy_pass http://app-service; + } + + # location ^/(app_|builder) { + # proxy_pass http://app-service:4002; + # } + + location /app_ { + proxy_pass http://app-service; + } + + location /builder { + proxy_pass http://app-service; + } + + location ~ ^/(global|admin|system)/ { + proxy_pass http://worker-service; + } + + location = / { + proxy_pass http://app-service; + } + + location /api/ { + proxy_read_timeout 120s; + proxy_connect_timeout 120s; + proxy_send_timeout 120s; + proxy_pass http://app-service; + } + + location /worker/ { + proxy_pass http://app-service; + } + + location /db/ { + proxy_pass http://couchdb-service:5984; + } + + location / { + proxy_pass http://minio-service:9000; + } + } +} \ No newline at end of file diff --git a/packages/server/scripts/dev/manage.js b/packages/server/scripts/dev/manage.js index f3938ad8ee..1e1a114497 100644 --- a/packages/server/scripts/dev/manage.js +++ b/packages/server/scripts/dev/manage.js @@ -24,8 +24,8 @@ const Commands = { async function init() { // generate envoy file, always do this incase it has changed const hostingPath = path.join(process.cwd(), "..", "..", "hosting") - const envoyHbsPath = path.join(hostingPath, "envoy.dev.yaml.hbs") - const envoyOutputPath = path.join(hostingPath, ".generated-envoy.dev.yaml") + const envoyHbsPath = path.join(hostingPath, "nginx.dev.conf.hbs") + const envoyOutputPath = path.join(hostingPath, ".generated-nginx.dev.conf") const contents = fs.readFileSync(envoyHbsPath, "utf8") const config = { address: isLinux() ? "172.17.0.1" : "host.docker.internal", From 9d35eea39b96ecb596fa1cadd3a55968feca3f83 Mon Sep 17 00:00:00 2001 From: Martin McKeaveney Date: Thu, 13 Jan 2022 14:27:02 +0100 Subject: [PATCH 002/176] working dev setup --- hosting/docker-compose.dev.yaml | 3 +- hosting/nginx.dev.conf.hbs | 55 +++++++++++++++++---------------- 2 files changed, 31 insertions(+), 27 deletions(-) diff --git a/hosting/docker-compose.dev.yaml b/hosting/docker-compose.dev.yaml index 9915a7eb12..df403c0a22 100644 --- a/hosting/docker-compose.dev.yaml +++ b/hosting/docker-compose.dev.yaml @@ -26,7 +26,7 @@ services: restart: always image: nginx:latest volumes: - - ./.generated-nginx.dev.conf:/etc/nginx/nginx.conf:ro + - ./.generated-nginx.dev.conf:/etc/nginx/nginx.conf ports: - "${MAIN_PORT}:10000" depends_on: @@ -36,6 +36,7 @@ services: - "host.docker.internal:host-gateway" couchdb-service: + # platform: linux/amd64 container_name: budi-couchdb-dev restart: always image: ibmcom/couchdb3 diff --git a/hosting/nginx.dev.conf.hbs b/hosting/nginx.dev.conf.hbs index f7e3134958..fe1ab7ae35 100644 --- a/hosting/nginx.dev.conf.hbs +++ b/hosting/nginx.dev.conf.hbs @@ -2,10 +2,11 @@ user nginx; error_log /var/log/nginx/error.log warn; pid /var/run/nginx.pid; worker_processes auto; -worker_rlimit_nofile 33282; +# worker_rlimit_nofile 33282; +# sendfile_max_chunk 512k; events { - worker_connections 4096; + worker_connections 1024; } http { @@ -15,15 +16,14 @@ http { log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; - + map $http_upgrade $connection_upgrade { default "upgrade"; } server { - listen 0.0.0.0:10000 default_server; + listen 10000 default_server; server_name _; - resolver 127.0.0.11 valid=10s; # security headers add_header X-Frame-Options SAMEORIGIN always; @@ -34,58 +34,61 @@ http { proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - # budibase services - set $app_service http://{{ address }}:4001; - set $worker_service http://{{ address }}:4002; - set $builder http://{{ address }}:3000; - set $minio http://minio-service:9000; - set $couchdb http://couchdb-service:5984; + # set $app_service http://{{ address }}:4001; + # set $worker_service http://{{ address }}:4002; + # set $builder http://{{ address }}:3000; + # set $minio http://minio-service:9000; + # set $couchdb http://couchdb-service:5984; + + # config options + client_header_timeout 60; + client_body_timeout 60; + keepalive_timeout 60; + gzip off; + gzip_comp_level 4; + location = / { return 301 /builder/; } location /db/ { - proxy_pass $couchdb; + proxy_pass http://couchdb-service:5984; rewrite ^/db/(.*)$ /$1 break; } - location ~ ^/(global|admin|system)/ { - proxy_pass $worker_service; + location ~ ^/api/(system|admin|global)/ { + proxy_pass http://{{ address }}:4002; } location /api/ { proxy_read_timeout 120s; proxy_connect_timeout 120s; proxy_send_timeout 120s; - proxy_pass $app_service; + proxy_pass http://{{ address }}:4001; } - location ^/(app_|builder) { - proxy_pass $app_service; + location /app_ { + proxy_pass http://{{ address }}:4001; } location /app/ { - proxy_pass $app_service; - rewrite ^/app/(.*)$ /$1 break; + proxy_pass http://{{ address }}:4001; + rewrite ^/app/(.*)$ $1 break; } - {{!-- location = / { - proxy_pass $builder; - } --}} - location /builder { - proxy_pass $builder; + proxy_pass http://{{ address }}:3000; rewrite ^/builder(.*)$ /builder/$1 break; } location /builder/ { - proxy_pass $builder; + proxy_pass http://{{ address }}:3000; } location / { - proxy_pass $minio; + proxy_pass http://minio-service:9000; } } } \ No newline at end of file From 3544c8ac8250ba719bd6af21076b7833a08374f4 Mon Sep 17 00:00:00 2001 From: Martin McKeaveney Date: Fri, 14 Jan 2022 14:44:40 +0100 Subject: [PATCH 003/176] nginx proxy configs --- hosting/docker-compose.yaml | 4 +- hosting/nginx.dev.conf.hbs | 47 +-- hosting/proxy/nginx.conf | 75 ++-- packages/server/yarn.lock | 783 +----------------------------------- 4 files changed, 70 insertions(+), 839 deletions(-) diff --git a/hosting/docker-compose.yaml b/hosting/docker-compose.yaml index c94d1520a1..709eeeaf83 100644 --- a/hosting/docker-compose.yaml +++ b/hosting/docker-compose.yaml @@ -80,9 +80,9 @@ services: proxy-service: restart: always - image: envoyproxy/envoy:v1.16-latest + image: nginx:latest volumes: - - ./envoy.yaml:/etc/envoy/envoy.yaml + - ./proxy/nginx.conf:/etc/envoy/envoy.yaml ports: - "${MAIN_PORT}:10000" depends_on: diff --git a/hosting/nginx.dev.conf.hbs b/hosting/nginx.dev.conf.hbs index fe1ab7ae35..b07d3c10d2 100644 --- a/hosting/nginx.dev.conf.hbs +++ b/hosting/nginx.dev.conf.hbs @@ -1,9 +1,8 @@ user nginx; -error_log /var/log/nginx/error.log warn; +error_log /var/log/nginx/error.log debug; pid /var/run/nginx.pid; worker_processes auto; -# worker_rlimit_nofile 33282; -# sendfile_max_chunk 512k; +worker_rlimit_nofile 33282; events { worker_connections 1024; @@ -25,32 +24,9 @@ http { listen 10000 default_server; server_name _; - # security headers - add_header X-Frame-Options SAMEORIGIN always; - - # proxy headers - proxy_set_header Host $host; - proxy_set_header X-Real-IP $remote_addr; - proxy_set_header X-Forwarded-Proto $scheme; - proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; - - # budibase services - # set $app_service http://{{ address }}:4001; - # set $worker_service http://{{ address }}:4002; - # set $builder http://{{ address }}:3000; - # set $minio http://minio-service:9000; - # set $couchdb http://couchdb-service:5984; - - # config options - client_header_timeout 60; - client_body_timeout 60; - keepalive_timeout 60; - gzip off; - gzip_comp_level 4; - - location = / { - return 301 /builder/; + absolute_redirect off; + return 301 /builder; } location /db/ { @@ -75,7 +51,7 @@ http { location /app/ { proxy_pass http://{{ address }}:4001; - rewrite ^/app/(.*)$ $1 break; + rewrite ^/app/(.*)$ /$1 break; } location /builder { @@ -85,10 +61,23 @@ http { location /builder/ { proxy_pass http://{{ address }}:3000; + + proxy_http_version 1.1; + proxy_set_header Connection $connection_upgrade; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; } location / { proxy_pass http://minio-service:9000; } + + client_header_timeout 60; + client_body_timeout 60; + keepalive_timeout 60; + gzip off; + gzip_comp_level 4; } } \ No newline at end of file diff --git a/hosting/proxy/nginx.conf b/hosting/proxy/nginx.conf index 02480e83b5..2d644911f7 100644 --- a/hosting/proxy/nginx.conf +++ b/hosting/proxy/nginx.conf @@ -1,87 +1,78 @@ -user nginx; -worker_processes 5; -error_log logs/error.log; -pid logs/nginx.pid; -worker_rlimit_nofile 8192; +user nginx; +error_log /var/log/nginx/error.log debug; +pid /var/run/nginx.pid; +worker_processes auto; +worker_rlimit_nofile 33282; events { - worker_connections 4096; + worker_connections 1024; } http { include /etc/nginx/mime.types; - include /etc/nginx/proxy.conf; - # include /etc/nginx/fastcgi.conf; - # index index.html index.htm index.php; + default_type application/octet-stream; - default_type application/octet-stream; - log_format main '$remote_addr - $remote_user [$time_local] $status ' - '"$request" $body_bytes_sent "$http_referer" ' - '"$http_user_agent" "$http_x_forwarded_for"'; - access_log logs/access.log main; + log_format main '$remote_addr - $remote_user [$time_local] "$request" ' + '$status $body_bytes_sent "$http_referer" ' + '"$http_user_agent" "$http_x_forwarded_for"'; + + map $http_upgrade $connection_upgrade { + default "upgrade"; + } server { listen 10000 default_server; - listen [::]:10000 default_server; server_name _; - access_log logs/budiproxy.access.log main; - # security headers - add_header X-Frame-Options SAMEORIGIN always; - - upstream app-service { - server app-service:4002 - } - - upstream worker-service { - server worker-service:4003 + location = / { + proxy_pass http://app-service:4002; } location = /v1/update { proxy_pass http://watchtower-service:8080; } - location /app/ { - proxy_pass http://app-service; - } - - # location ^/(app_|builder) { - # proxy_pass http://app-service:4002; - # } - - location /app_ { - proxy_pass http://app-service; + location /builder/ { + proxy_pass http://app-service:4002; } location /builder { - proxy_pass http://app-service; + proxy_pass http://app-service:4002; } - location ~ ^/(global|admin|system)/ { - proxy_pass http://worker-service; + location /app_ { + proxy_pass http://app-service:4002; } - location = / { - proxy_pass http://app-service; + location ~ ^/api/(system|admin|global)/ { + proxy_pass http://worker-service:4003; } location /api/ { proxy_read_timeout 120s; proxy_connect_timeout 120s; proxy_send_timeout 120s; - proxy_pass http://app-service; + proxy_pass http://app-service:4002; } location /worker/ { - proxy_pass http://app-service; + proxy_pass http://worker-service:4003; + rewrite ^/worker/(.*)$ /$1 break; } location /db/ { proxy_pass http://couchdb-service:5984; + rewrite ^/db/(.*)$ /$1 break; } location / { proxy_pass http://minio-service:9000; } + + client_header_timeout 60; + client_body_timeout 60; + keepalive_timeout 60; + gzip off; + gzip_comp_level 4; } } \ No newline at end of file diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock index 2f64782a81..73e08e2b45 100644 --- a/packages/server/yarn.lock +++ b/packages/server/yarn.lock @@ -983,30 +983,6 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== -"@budibase/backend-core@^1.0.27-alpha.13": - version "1.0.27-alpha.13" - resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.0.27-alpha.13.tgz#89f46e081eb7b342f483fd0eccd72c42b2b2fa6c" - integrity sha512-NiasBvZ5wTpvANG9AjuO34DHMTqWQWSpabLcgwBY0tNG4ekh+wvSCPjCcUvN/bBpOzrVMQ8C4hmS4pvv342BhQ== - dependencies: - "@techpass/passport-openidconnect" "^0.3.0" - aws-sdk "^2.901.0" - bcryptjs "^2.4.3" - cls-hooked "^4.2.2" - ioredis "^4.27.1" - jsonwebtoken "^8.5.1" - koa-passport "^4.1.4" - lodash "^4.17.21" - lodash.isarguments "^3.1.0" - node-fetch "^2.6.1" - passport-google-auth "^1.0.2" - passport-google-oauth "^2.0.0" - passport-jwt "^4.0.0" - passport-local "^1.0.0" - sanitize-s3-objectkey "^0.0.1" - tar-fs "^2.1.1" - uuid "^8.3.2" - zlib "^1.0.5" - "@budibase/bbui@^0.9.139": version "0.9.187" resolved "https://registry.yarnpkg.com/@budibase/bbui/-/bbui-0.9.187.tgz#84f0a37301cfa41f50eaa335243ac08923d9e34f" @@ -1056,95 +1032,6 @@ svelte-flatpickr "^3.2.3" svelte-portal "^1.0.0" -"@budibase/bbui@^1.0.35": - version "1.0.35" - resolved "https://registry.yarnpkg.com/@budibase/bbui/-/bbui-1.0.35.tgz#a51886886772257d31e2c6346dbec46fe0c9fd85" - integrity sha512-8qeAzTujtO7uvhj+dMiyW4BTkQ7dC4xF1CNIwyuTnDwIeFDlXYgNb09VVRs3+nWcX2e2eC53EUs1RnLUoSlTsw== - dependencies: - "@adobe/spectrum-css-workflow-icons" "^1.2.1" - "@spectrum-css/actionbutton" "^1.0.1" - "@spectrum-css/actiongroup" "^1.0.1" - "@spectrum-css/avatar" "^3.0.2" - "@spectrum-css/button" "^3.0.1" - "@spectrum-css/buttongroup" "^3.0.2" - "@spectrum-css/checkbox" "^3.0.2" - "@spectrum-css/dialog" "^3.0.1" - "@spectrum-css/divider" "^1.0.3" - "@spectrum-css/dropzone" "^3.0.2" - "@spectrum-css/fieldgroup" "^3.0.2" - "@spectrum-css/fieldlabel" "^3.0.1" - "@spectrum-css/icon" "^3.0.1" - "@spectrum-css/illustratedmessage" "^3.0.2" - "@spectrum-css/inlinealert" "^2.0.1" - "@spectrum-css/inputgroup" "^3.0.2" - "@spectrum-css/label" "^2.0.10" - "@spectrum-css/link" "^3.1.1" - "@spectrum-css/menu" "^3.0.1" - "@spectrum-css/modal" "^3.0.1" - "@spectrum-css/pagination" "^3.0.3" - "@spectrum-css/picker" "^1.0.1" - "@spectrum-css/popover" "^3.0.1" - "@spectrum-css/progressbar" "^1.0.2" - "@spectrum-css/progresscircle" "^1.0.2" - "@spectrum-css/radio" "^3.0.2" - "@spectrum-css/search" "^3.0.2" - "@spectrum-css/sidenav" "^3.0.2" - "@spectrum-css/statuslight" "^3.0.2" - "@spectrum-css/stepper" "^3.0.3" - "@spectrum-css/switch" "^1.0.2" - "@spectrum-css/table" "^3.0.1" - "@spectrum-css/tabs" "^3.0.1" - "@spectrum-css/tags" "^3.0.2" - "@spectrum-css/textfield" "^3.0.1" - "@spectrum-css/toast" "^3.0.1" - "@spectrum-css/tooltip" "^3.0.3" - "@spectrum-css/treeview" "^3.0.2" - "@spectrum-css/typography" "^3.0.1" - "@spectrum-css/underlay" "^2.0.9" - "@spectrum-css/vars" "^3.0.1" - dayjs "^1.10.4" - svelte-flatpickr "^3.2.3" - svelte-portal "^1.0.0" - -"@budibase/client@^1.0.27-alpha.13": - version "1.0.35" - resolved "https://registry.yarnpkg.com/@budibase/client/-/client-1.0.35.tgz#b832e7e7e35032fb35fe5492fbb721db1da15394" - integrity sha512-maL3V29PQb9VjgnPZq44GSDZCuamAGp01bheUeJxEeskjQqZUdf8QC7Frf1mT+ZjgKJf3gU6qtFOxmWRbVzVbw== - dependencies: - "@budibase/bbui" "^1.0.35" - "@budibase/standard-components" "^0.9.139" - "@budibase/string-templates" "^1.0.35" - regexparam "^1.3.0" - shortid "^2.2.15" - svelte-spa-router "^3.0.5" - -"@budibase/handlebars-helpers@^0.11.7": - version "0.11.7" - resolved "https://registry.yarnpkg.com/@budibase/handlebars-helpers/-/handlebars-helpers-0.11.7.tgz#8e5f9843d7dd10503e9f608555a96ccf4d836c46" - integrity sha512-PvGHAv22cWSFExs1kc0WglwsmCEUEOqWvSp6JCFZwtc3qAAr5yMfLK8WGVQ63ALvyzWZiyxF+yrlzeeaohCMJw== - dependencies: - array-sort "^1.0.0" - define-property "^2.0.2" - extend-shallow "^3.0.2" - for-in "^1.0.2" - get-object "^0.2.0" - get-value "^3.0.1" - handlebars "^4.7.7" - handlebars-utils "^1.0.6" - has-value "^2.0.2" - helper-date "^1.0.1" - helper-markdown "^1.0.0" - helper-md "^0.2.2" - html-tag "^2.0.0" - is-even "^1.0.0" - is-glob "^4.0.1" - kind-of "^6.0.3" - micromatch "^3.1.5" - relative "^3.0.2" - striptags "^3.1.1" - to-gfm-code-block "^0.1.1" - year "^0.2.1" - "@budibase/standard-components@^0.9.139": version "0.9.139" resolved "https://registry.yarnpkg.com/@budibase/standard-components/-/standard-components-0.9.139.tgz#cf8e2b759ae863e469e50272b3ca87f2827e66e3" @@ -1163,18 +1050,6 @@ svelte-apexcharts "^1.0.2" svelte-flatpickr "^3.1.0" -"@budibase/string-templates@^1.0.27-alpha.13", "@budibase/string-templates@^1.0.35": - version "1.0.35" - resolved "https://registry.yarnpkg.com/@budibase/string-templates/-/string-templates-1.0.35.tgz#a888f1e9327bb36416336a91a95a43cb34e6a42d" - integrity sha512-8HxSv0ru+cgSmphqtOm1pmBM8rc0TRC/6RQGzQefmFFQFfm/SBLAVLLWRmZxAOYTxt4mittGWeL4y05FqEuocg== - dependencies: - "@budibase/handlebars-helpers" "^0.11.7" - dayjs "^1.10.4" - handlebars "^4.7.6" - handlebars-utils "^1.0.6" - lodash "^4.17.20" - vm2 "^3.9.4" - "@bull-board/api@3.7.0", "@bull-board/api@^3.7.0": version "3.7.0" resolved "https://registry.yarnpkg.com/@bull-board/api/-/api-3.7.0.tgz#231f687187c0cb34e0b97f463917b6aaeb4ef6af" @@ -2098,11 +1973,6 @@ resolved "https://registry.yarnpkg.com/@spectrum-css/illustratedmessage/-/illustratedmessage-3.0.8.tgz#69ef0c935bcc5027f233a78de5aeb0064bf033cb" integrity sha512-HvC4dywDi11GdrXQDCvKQ0vFlrXLTyJuc9UKf7meQLCGoJbGYDBwe+tHXNK1c6gPMD9BoL6pPMP1K/vRzR4EBQ== -"@spectrum-css/inlinealert@^2.0.1": - version "2.0.6" - resolved "https://registry.yarnpkg.com/@spectrum-css/inlinealert/-/inlinealert-2.0.6.tgz#4c5e923a1f56a96cc1adb30ef1f06ae04f2c6376" - integrity sha512-OpvvoWP02wWyCnF4IgG8SOPkXymovkC9cGtgMS1FdDubnG3tJZB/JeKTsRR9C9Vt3WBaOmISRdSKlZ4lC9CFzA== - "@spectrum-css/inputgroup@^3.0.2": version "3.0.8" resolved "https://registry.yarnpkg.com/@spectrum-css/inputgroup/-/inputgroup-3.0.8.tgz#fc23afc8a73c24d17249c9d2337e8b42085b298b" @@ -2252,17 +2122,6 @@ dependencies: defer-to-connect "^1.0.1" -"@techpass/passport-openidconnect@^0.3.0": - version "0.3.2" - resolved "https://registry.yarnpkg.com/@techpass/passport-openidconnect/-/passport-openidconnect-0.3.2.tgz#f8fd5d97256286665dbf26dac92431f977ab1e63" - integrity sha512-fnCtEiexXSHA029B//hJcCJlLJrT3lhpNCyA0rnz58Qttz0BLGCVv6yMT8HmOnGThH6vcDOVwdgKM3kbCQtEhw== - dependencies: - base64url "^3.0.1" - oauth "^0.9.15" - passport-strategy "^1.0.0" - request "^2.88.0" - webfinger "^0.4.2" - "@tootallnate/once@1": version "1.1.2" resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" @@ -3127,7 +2986,7 @@ arg@^4.1.0: resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== -argparse@^1.0.10, argparse@^1.0.7: +argparse@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== @@ -3174,15 +3033,6 @@ array-equal@^1.0.0: resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM= -array-sort@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/array-sort/-/array-sort-1.0.0.tgz#e4c05356453f56f53512a7d1d6123f2c54c0a88a" - integrity sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg== - dependencies: - default-compare "^1.0.0" - get-value "^2.0.6" - kind-of "^5.0.2" - array-union@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" @@ -3230,13 +3080,6 @@ astral-regex@^1.0.0: resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== -async-hook-jl@^1.7.6: - version "1.7.6" - resolved "https://registry.yarnpkg.com/async-hook-jl/-/async-hook-jl-1.7.6.tgz#4fd25c2f864dbaf279c610d73bf97b1b28595e68" - integrity sha512-gFaHkFfSxTjvoxDMYqDuGHlcRyUuamF8s+ZTtJdDzqjws4mCt7v0vuV79/E2Wr2/riMQgtG4/yUtXWs1gZ7JMg== - dependencies: - stack-chain "^1.3.7" - async-limiter@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" @@ -3259,13 +3102,6 @@ async@^3.1.0: resolved "https://registry.yarnpkg.com/async/-/async-3.2.2.tgz#2eb7671034bb2194d45d30e31e24ec7e7f9670cd" integrity sha512-H0E+qZaDEfx/FY4t7iLRv1W2fFI6+pyCeTw1uN20AQPiwqwM6ojPxHxdLv4z8hi2DtnW9BOckSspLucW7pIE5g== -async@~2.1.4: - version "2.1.5" - resolved "https://registry.yarnpkg.com/async/-/async-2.1.5.tgz#e587c68580994ac67fc56ff86d3ac56bdbe810bc" - integrity sha1-5YfGhYCZSsZ/xW/4bTrFa9voELw= - dependencies: - lodash "^4.14.0" - asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" @@ -3281,13 +3117,6 @@ atomic-sleep@^1.0.0: resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== -autolinker@~0.28.0: - version "0.28.1" - resolved "https://registry.yarnpkg.com/autolinker/-/autolinker-0.28.1.tgz#0652b491881879f0775dace0cdca3233942a4e47" - integrity sha1-BlK0kYgYefB3XazgzcoyM5QqTkc= - dependencies: - gulp-header "^1.7.1" - aws-sdk@^2.767.0: version "2.1030.0" resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.1030.0.tgz#24a856af3d2b8b37c14a8f59974993661c66fd82" @@ -3303,21 +3132,6 @@ aws-sdk@^2.767.0: uuid "3.3.2" xml2js "0.4.19" -aws-sdk@^2.901.0: - version "2.1046.0" - resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.1046.0.tgz#9147b0fa1c86acbebd1a061e951ab5012f4499d7" - integrity sha512-ocwHclMXdIA+NWocUyvp9Ild3/zy2vr5mHp3mTyodf0WU5lzBE8PocCVLSWhMAXLxyia83xv2y5f5AzAcetbqA== - dependencies: - buffer "4.9.2" - events "1.1.1" - ieee754 "1.1.13" - jmespath "0.15.0" - querystring "0.2.0" - sax "1.2.1" - url "0.10.3" - uuid "3.3.2" - xml2js "0.4.19" - aws-sign2@~0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" @@ -3500,11 +3314,6 @@ base64-js@^1.0.2, base64-js@^1.3.1: resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== -base64url@3.x.x, base64url@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/base64url/-/base64url-3.0.1.tgz#6399d572e2bc3f90a9a8b22d5dbb0a32d33f788d" - integrity sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A== - base@^0.11.1: version "0.11.2" resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" @@ -3525,7 +3334,7 @@ bcrypt-pbkdf@^1.0.0: dependencies: tweetnacl "^0.14.3" -bcryptjs@2.4.3, bcryptjs@^2.4.3: +bcryptjs@2.4.3: version "2.4.3" resolved "https://registry.yarnpkg.com/bcryptjs/-/bcryptjs-2.4.3.tgz#9ab5627b93e60621ff7cdac5da9733027df1d0cb" integrity sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms= @@ -3570,15 +3379,6 @@ bl@^3.0.0: dependencies: readable-stream "^3.0.1" -bl@^4.0.3: - version "4.1.0" - resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" - integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== - dependencies: - buffer "^5.5.0" - inherits "^2.0.4" - readable-stream "^3.4.0" - bluebird@^3.5.1, bluebird@^3.7.2: version "3.7.2" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" @@ -3926,11 +3726,6 @@ chokidar@^3.5.2: optionalDependencies: fsevents "~2.3.2" -chownr@^1.1.1: - version "1.1.4" - resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" - integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== - chrome-trace-event@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" @@ -4017,15 +3812,6 @@ clone-response@1.0.2, clone-response@^1.0.2: dependencies: mimic-response "^1.0.0" -cls-hooked@^4.2.2: - version "4.2.2" - resolved "https://registry.yarnpkg.com/cls-hooked/-/cls-hooked-4.2.2.tgz#ad2e9a4092680cdaffeb2d3551da0e225eae1908" - integrity sha512-J4Xj5f5wq/4jAvcdgoGsL3G103BtWpZrMo8NEinRltN+xpTZdI+M38pyQqhuFU/P792xkMFvnKSf+Lm81U1bxw== - dependencies: - async-hook-jl "^1.7.6" - emitter-listener "^1.0.1" - semver "^5.4.1" - cluster-key-slot@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/cluster-key-slot/-/cluster-key-slot-1.1.0.tgz#30474b2a981fb12172695833052bc0d01336d10d" @@ -4181,13 +3967,6 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= -concat-with-sourcemaps@*: - version "1.1.0" - resolved "https://registry.yarnpkg.com/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz#d4ea93f05ae25790951b99e7b3b09e3908a4082e" - integrity sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg== - dependencies: - source-map "^0.6.1" - condense-newlines@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/condense-newlines/-/condense-newlines-0.2.1.tgz#3de985553139475d32502c83b02f60684d24c55f" @@ -4434,13 +4213,6 @@ date-utils@*: resolved "https://registry.yarnpkg.com/date-utils/-/date-utils-1.2.21.tgz#61fb16cdc1274b3c9acaaffe9fc69df8720a2b64" integrity sha1-YfsWzcEnSzyayq/+n8ad+HIKK2Q= -date.js@^0.3.1: - version "0.3.3" - resolved "https://registry.yarnpkg.com/date.js/-/date.js-0.3.3.tgz#ef1e92332f507a638795dbb985e951882e50bbda" - integrity sha512-HgigOS3h3k6HnW011nAb43c5xx5rBXk8P2v/WIT9Zv4koIaVXiH2BURguI78VVp+5Qc076T7OR378JViCnZtBw== - dependencies: - debug "~3.1.0" - dateformat@^3.0.3: version "3.0.3" resolved "https://registry.yarnpkg.com/dateformat/-/dateformat-3.0.3.tgz#a6e37499a4d9a9cf85ef5872044d62901c9889ae" @@ -4584,13 +4356,6 @@ deepmerge@^4.2.2: resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== -default-compare@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/default-compare/-/default-compare-1.0.0.tgz#cb61131844ad84d84788fb68fd01681ca7781a2f" - integrity sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ== - dependencies: - kind-of "^5.0.2" - default-shell@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/default-shell/-/default-shell-1.0.1.tgz#752304bddc6174f49eb29cb988feea0b8813c8bc" @@ -4860,13 +4625,6 @@ electron-to-chromium@^1.3.896: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.900.tgz#5be2c5818a2a012c511b4b43e87b6ab7a296d4f5" integrity sha512-SuXbQD8D4EjsaBaJJxySHbC+zq8JrFfxtb4GIr4E9n1BcROyMcRrJCYQNpJ9N+Wjf5mFp7Wp0OHykd14JNEzzQ== -emitter-listener@^1.0.1: - version "1.1.2" - resolved "https://registry.yarnpkg.com/emitter-listener/-/emitter-listener-1.1.2.tgz#56b140e8f6992375b3d7cb2cab1cc7432d9632e8" - integrity sha512-Bt1sBAGFHY9DKY+4/2cV6izcKJUf5T7/gkdmkxzX/qv9CcGH8xSwVRW5mtX03SWJtRTWSOpzCuWN9rBFYZepZQ== - dependencies: - shimmer "^1.2.0" - emittery@^0.8.1: version "0.8.1" resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.8.1.tgz#bb23cc86d03b30aa75a7f734819dee2e1ba70860" @@ -4907,7 +4665,7 @@ encoding-down@^6.3.0: level-codec "^9.0.0" level-errors "^2.0.0" -end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1: +end-of-stream@^1.0.0, end-of-stream@^1.1.0: version "1.4.4" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== @@ -4929,11 +4687,6 @@ enhanced-resolve@^5.8.3: graceful-fs "^4.2.4" tapable "^2.2.0" -ent@^2.2.0: - version "2.2.0" - resolved "https://registry.yarnpkg.com/ent/-/ent-2.2.0.tgz#e964219325a21d05f44466a2f686ed6ce5f5dd1d" - integrity sha1-6WQhkyWiHQX0RGai9obtbOX13R0= - entities@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/entities/-/entities-2.1.0.tgz#992d3129cf7df6870b96c57858c249a120f8b8b5" @@ -5868,11 +5621,6 @@ fs-constants@^1.0.0: resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== -fs-exists-sync@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add" - integrity sha1-mC1ok6+RjnLQjeyehnP/K1qNat0= - fs-extra@8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" @@ -5945,14 +5693,6 @@ get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: has "^1.0.3" has-symbols "^1.0.1" -get-object@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/get-object/-/get-object-0.2.0.tgz#d92ff7d5190c64530cda0543dac63a3d47fe8c0c" - integrity sha1-2S/31RkMZFMM2gVD2sY6PUf+jAw= - dependencies: - is-number "^2.0.2" - isobject "^0.2.0" - get-package-type@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" @@ -6015,13 +5755,6 @@ get-value@^2.0.3, get-value@^2.0.6: resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= -get-value@^3.0.0, get-value@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/get-value/-/get-value-3.0.1.tgz#5efd2a157f1d6a516d7524e124ac52d0a39ef5a8" - integrity sha512-mKZj9JLQrwMBtj5wxi6MH8Z5eSKaERpAwjg43dPtlGI1ZVEgH/qC7T8/6R2OBSUA+zzHBZgICsVJaEIV2tKTDA== - dependencies: - isobject "^3.0.1" - getopts@2.2.5: version "2.2.5" resolved "https://registry.yarnpkg.com/getopts/-/getopts-2.2.5.tgz#67a0fe471cacb9c687d817cab6450b96dde8313b" @@ -6116,32 +5849,6 @@ globby@^11.0.3: merge2 "^1.3.0" slash "^3.0.0" -google-auth-library@~0.10.0: - version "0.10.0" - resolved "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-0.10.0.tgz#6e15babee85fd1dd14d8d128a295b6838d52136e" - integrity sha1-bhW6vuhf0d0U2NEoopW2g41SE24= - dependencies: - gtoken "^1.2.1" - jws "^3.1.4" - lodash.noop "^3.0.1" - request "^2.74.0" - -google-p12-pem@^0.1.0: - version "0.1.2" - resolved "https://registry.yarnpkg.com/google-p12-pem/-/google-p12-pem-0.1.2.tgz#33c46ab021aa734fa0332b3960a9a3ffcb2f3177" - integrity sha1-M8RqsCGqc0+gMys5YKmj/8svMXc= - dependencies: - node-forge "^0.7.1" - -googleapis@^16.0.0: - version "16.1.0" - resolved "https://registry.yarnpkg.com/googleapis/-/googleapis-16.1.0.tgz#0f19f2d70572d918881a0f626e3b1a2fa8629576" - integrity sha1-Dxny1wVy2RiIGg9ibjsaL6hilXY= - dependencies: - async "~2.1.4" - google-auth-library "~0.10.0" - string-template "~1.0.0" - got@^8.3.1: version "8.3.2" resolved "https://registry.yarnpkg.com/got/-/got-8.3.2.tgz#1d23f64390e97f776cac52e5b936e5f514d2e937" @@ -6187,34 +5894,7 @@ graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1. resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== -gtoken@^1.2.1: - version "1.2.3" - resolved "https://registry.yarnpkg.com/gtoken/-/gtoken-1.2.3.tgz#5509571b8afd4322e124cf66cf68115284c476d8" - integrity sha512-wQAJflfoqSgMWrSBk9Fg86q+sd6s7y6uJhIvvIPz++RElGlMtEqsdAR2oWwZ/WTEtp7P9xFbJRrT976oRgzJ/w== - dependencies: - google-p12-pem "^0.1.0" - jws "^3.0.0" - mime "^1.4.1" - request "^2.72.0" - -gulp-header@^1.7.1: - version "1.8.12" - resolved "https://registry.yarnpkg.com/gulp-header/-/gulp-header-1.8.12.tgz#ad306be0066599127281c4f8786660e705080a84" - integrity sha512-lh9HLdb53sC7XIZOYzTXM4lFuXElv3EVkSDhsd7DoJBj7hm+Ni7D3qYbb+Rr8DuM8nRanBvkVO9d7askreXGnQ== - dependencies: - concat-with-sourcemaps "*" - lodash.template "^4.4.0" - through2 "^2.0.0" - -handlebars-utils@^1.0.2, handlebars-utils@^1.0.4, handlebars-utils@^1.0.6: - version "1.0.6" - resolved "https://registry.yarnpkg.com/handlebars-utils/-/handlebars-utils-1.0.6.tgz#cb9db43362479054782d86ffe10f47abc76357f9" - integrity sha512-d5mmoQXdeEqSKMtQQZ9WkiUcO1E3tPbWxluCK9hVgIDPzQa9WsKo3Lbe/sGflTe7TomHEeZaOgwIkyIr1kfzkw== - dependencies: - kind-of "^6.0.0" - typeof-article "^0.1.1" - -handlebars@^4.7.6, handlebars@^4.7.7: +handlebars@^4.7.7: version "4.7.7" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== @@ -6296,14 +5976,6 @@ has-value@^1.0.0: has-values "^1.0.0" isobject "^3.0.0" -has-value@^2.0.2: - version "2.0.2" - resolved "https://registry.yarnpkg.com/has-value/-/has-value-2.0.2.tgz#d0f12e8780ba8e90e66ad1a21c707fdb67c25658" - integrity sha512-ybKOlcRsK2MqrM3Hmz/lQxXHZ6ejzSPzpNabKB45jb5qDgJvKPa3SdapTsTLwEb9WltgWpOmNax7i+DzNOk4TA== - dependencies: - get-value "^3.0.0" - has-values "^2.0.1" - has-values@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" @@ -6317,13 +5989,6 @@ has-values@^1.0.0: is-number "^3.0.0" kind-of "^4.0.0" -has-values@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/has-values/-/has-values-2.0.1.tgz#3876200ff86d8a8546a9264a952c17d5fc17579d" - integrity sha512-+QdH3jOmq9P8GfdjFg0eJudqx1FqU62NQJ4P16rOEHeRdl7ckgwn6uqQjzYE0ZoHVV/e5E2esuJ5Gl5+HUW19w== - dependencies: - kind-of "^6.0.2" - has-yarn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" @@ -6336,39 +6001,6 @@ has@^1.0.3: dependencies: function-bind "^1.1.1" -helper-date@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/helper-date/-/helper-date-1.0.1.tgz#12fedea3ad8e44a7ca4c4efb0ff4104a5120cffb" - integrity sha512-wU3VOwwTJvGr/w5rZr3cprPHO+hIhlblTJHD6aFBrKLuNbf4lAmkawd2iK3c6NbJEvY7HAmDpqjOFSI5/+Ey2w== - dependencies: - date.js "^0.3.1" - handlebars-utils "^1.0.4" - moment "^2.18.1" - -helper-markdown@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/helper-markdown/-/helper-markdown-1.0.0.tgz#ee7e9fc554675007d37eb90f7853b13ce74f3e10" - integrity sha512-AnDqMS4ejkQK0MXze7pA9TM3pu01ZY+XXsES6gEE0RmCGk5/NIfvTn0NmItfyDOjRAzyo9z6X7YHbHX4PzIvOA== - dependencies: - handlebars-utils "^1.0.2" - highlight.js "^9.12.0" - remarkable "^1.7.1" - -helper-md@^0.2.2: - version "0.2.2" - resolved "https://registry.yarnpkg.com/helper-md/-/helper-md-0.2.2.tgz#c1f59d7e55bbae23362fd8a0e971607aec69d41f" - integrity sha1-wfWdflW7riM2L9ig6XFgeuxp1B8= - dependencies: - ent "^2.2.0" - extend-shallow "^2.0.1" - fs-exists-sync "^0.1.0" - remarkable "^1.6.2" - -highlight.js@^9.12.0: - version "9.18.5" - resolved "https://registry.yarnpkg.com/highlight.js/-/highlight.js-9.18.5.tgz#d18a359867f378c138d6819edfc2a8acd5f29825" - integrity sha512-a5bFyofd/BHCX52/8i8uJkjr9DYwXIPnM/plwI6W7ezItLGqzt7X2G2nXuYSfsIJdkwwj/g9DG1LkcGJI/dDoA== - hosted-git-info@^2.1.4: version "2.8.9" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" @@ -6398,14 +6030,6 @@ html-escaper@^2.0.0: resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== -html-tag@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/html-tag/-/html-tag-2.0.0.tgz#36c3bc8d816fd30b570d5764a497a641640c2fed" - integrity sha512-XxzooSo6oBoxBEUazgjdXj7VwTn/iSTSZzTYKzYY6I916tkaYzypHxy+pbVU1h+0UQ9JlVf5XkNQyxOAiiQO1g== - dependencies: - is-self-closing "^1.0.1" - kind-of "^6.0.0" - http-assert@^1.3.0: version "1.5.0" resolved "https://registry.yarnpkg.com/http-assert/-/http-assert-1.5.0.tgz#c389ccd87ac16ed2dfa6246fd73b926aa00e6b8f" @@ -6669,23 +6293,6 @@ ioredis@^4.27.0: redis-parser "^3.0.0" standard-as-callback "^2.1.0" -ioredis@^4.27.1: - version "4.28.2" - resolved "https://registry.yarnpkg.com/ioredis/-/ioredis-4.28.2.tgz#493ccd5d869fd0ec86c96498192718171f6c9203" - integrity sha512-kQ+Iv7+c6HsDdPP2XUHaMv8DhnSeAeKEwMbaoqsXYbO+03dItXt7+5jGQDRyjdRUV2rFJbzg7P4Qt1iX2tqkOg== - dependencies: - cluster-key-slot "^1.1.0" - debug "^4.3.1" - denque "^1.1.0" - lodash.defaults "^4.2.0" - lodash.flatten "^4.4.0" - lodash.isarguments "^3.1.0" - p-map "^2.1.0" - redis-commands "1.7.0" - redis-errors "^1.2.0" - redis-parser "^3.0.0" - standard-as-callback "^2.1.0" - ip-regex@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" @@ -6810,13 +6417,6 @@ is-docker@^2.0.0, is-docker@^2.1.1: resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== -is-even@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-even/-/is-even-1.0.0.tgz#76b5055fbad8d294a86b6a949015e1c97b717c06" - integrity sha1-drUFX7rY0pSoa2qUkBXhyXtxfAY= - dependencies: - is-odd "^0.1.2" - is-extendable@^0.1.0, is-extendable@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" @@ -6906,13 +6506,6 @@ is-number-object@^1.0.4: dependencies: has-tostringtag "^1.0.0" -is-number@^2.0.2: - version "2.1.0" - resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" - integrity sha1-Afy7s5NGOlSPL0ZszhbezknbkI8= - dependencies: - kind-of "^3.0.2" - is-number@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" @@ -6935,13 +6528,6 @@ is-object@^1.0.1: resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.2.tgz#a56552e1c665c9e950b4a025461da87e72f86fcf" integrity sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA== -is-odd@^0.1.2: - version "0.1.2" - resolved "https://registry.yarnpkg.com/is-odd/-/is-odd-0.1.2.tgz#bc573b5ce371ef2aad6e6f49799b72bef13978a7" - integrity sha1-vFc7XONx7yqtbm9JeZtyvvE5eKc= - dependencies: - is-number "^3.0.0" - is-path-inside@^3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" @@ -6987,13 +6573,6 @@ is-retry-allowed@^2.2.0: resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-2.2.0.tgz#88f34cbd236e043e71b6932d09b0c65fb7b4d71d" integrity sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg== -is-self-closing@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-self-closing/-/is-self-closing-1.0.1.tgz#5f406b527c7b12610176320338af0fa3896416e4" - integrity sha512-E+60FomW7Blv5GXTlYee2KDrnG6srxF7Xt1SjrhWUGUEsTFIqY/nq2y3DaftCsgUMdh89V07IVfhY9KIJhLezg== - dependencies: - self-closing-tags "^1.0.1" - is-shared-array-buffer@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" @@ -7086,11 +6665,6 @@ isexe@^2.0.0: resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= -isobject@^0.2.0: - version "0.2.0" - resolved "https://registry.yarnpkg.com/isobject/-/isobject-0.2.0.tgz#a3432192f39b910b5f02cc989487836ec70aa85e" - integrity sha1-o0MhkvObkQtfAsyYlIeDbscKqF4= - isobject@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" @@ -8142,22 +7716,6 @@ jsonschema@1.4.0: resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.4.0.tgz#1afa34c4bc22190d8e42271ec17ac8b3404f87b2" integrity sha512-/YgW6pRMr6M7C+4o8kS+B/2myEpHCrxO4PEWnqJNBFMjn7EWXqlQ4tGwL6xTHeRplwuZmcAncdvfOad1nT2yMw== -jsonwebtoken@^8.2.0, jsonwebtoken@^8.5.1: - version "8.5.1" - resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz#00e71e0b8df54c2121a1f26137df2280673bcc0d" - integrity sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w== - dependencies: - jws "^3.2.2" - lodash.includes "^4.3.0" - lodash.isboolean "^3.0.3" - lodash.isinteger "^4.0.4" - lodash.isnumber "^3.0.3" - lodash.isplainobject "^4.0.6" - lodash.isstring "^4.0.1" - lodash.once "^4.0.0" - ms "^2.1.1" - semver "^5.6.0" - jsprim@^1.2.2: version "1.4.0" resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.0.tgz#a3b87e40298d8c380552d8cc7628a0bb95a22918" @@ -8197,7 +7755,7 @@ jwa@^1.4.1: ecdsa-sig-formatter "1.0.11" safe-buffer "^5.0.1" -jws@3.x.x, jws@^3.0.0, jws@^3.1.4, jws@^3.2.2: +jws@3.x.x: version "3.2.2" resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304" integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== @@ -8224,7 +7782,7 @@ keyv@3.0.0, keyv@^3.0.0: dependencies: json-buffer "3.0.0" -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.1.0, kind-of@^3.2.0: +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: version "3.2.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= @@ -8238,12 +7796,12 @@ kind-of@^4.0.0: dependencies: is-buffer "^1.1.5" -kind-of@^5.0.0, kind-of@^5.0.2: +kind-of@^5.0.0: version "5.1.0" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== -kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: +kind-of@^6.0.0, kind-of@^6.0.2: version "6.0.3" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== @@ -8345,13 +7903,6 @@ koa-mount@^4.0.0: debug "^4.0.1" koa-compose "^4.1.0" -koa-passport@^4.1.4: - version "4.1.4" - resolved "https://registry.yarnpkg.com/koa-passport/-/koa-passport-4.1.4.tgz#5f1665c1c2a37ace79af9f970b770885ca30ccfa" - integrity sha512-dJBCkl4X+zdYxbI2V2OtoGy0PUenpvp2ZLLWObc8UJhsId0iQpTFT8RVcuA0709AL2txGwRHnSPoT1bYNGa6Kg== - dependencies: - passport "^0.4.0" - koa-pino-logger@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/koa-pino-logger/-/koa-pino-logger-3.0.0.tgz#27600b4f3639e8767dfc6b66493109c5457f53ba" @@ -8694,11 +8245,6 @@ locate-path@^5.0.0: dependencies: p-locate "^4.1.0" -lodash._reinterpolate@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" - integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= - lodash.debounce@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" @@ -8719,46 +8265,16 @@ lodash.get@^4.4.2: resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= -lodash.includes@^4.3.0: - version "4.3.0" - resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" - integrity sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8= - lodash.isarguments@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" integrity sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo= -lodash.isboolean@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" - integrity sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY= - lodash.isequal@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= -lodash.isinteger@^4.0.4: - version "4.0.4" - resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" - integrity sha1-YZwK89A/iwTDH1iChAt3sRzWg0M= - -lodash.isnumber@^3.0.3: - version "3.0.3" - resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" - integrity sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w= - -lodash.isplainobject@^4.0.6: - version "4.0.6" - resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" - integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs= - -lodash.isstring@^4.0.1: - version "4.0.1" - resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" - integrity sha1-1SfftUVuynzJu5XV2ur4i6VKVFE= - lodash.keys@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-4.2.0.tgz#a08602ac12e4fb83f91fc1fb7a360a4d9ba35205" @@ -8774,21 +8290,11 @@ lodash.merge@^4.6.2: resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== -lodash.noop@^3.0.1: - version "3.0.1" - resolved "https://registry.yarnpkg.com/lodash.noop/-/lodash.noop-3.0.1.tgz#38188f4d650a3a474258439b96ec45b32617133c" - integrity sha1-OBiPTWUKOkdCWEObluxFsyYXEzw= - lodash.omit@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.omit/-/lodash.omit-4.5.0.tgz#6eb19ae5a1ee1dd9df0b969e66ce0b7fa30b5e60" integrity sha1-brGa5aHuHdnfC5aeZs4Lf6MLXmA= -lodash.once@^4.0.0: - version "4.1.1" - resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" - integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w= - lodash.pick@^4.0.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" @@ -8799,21 +8305,6 @@ lodash.sortby@^4.7.0: resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= -lodash.template@^4.4.0: - version "4.5.0" - resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" - integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A== - dependencies: - lodash._reinterpolate "^3.0.0" - lodash.templatesettings "^4.0.0" - -lodash.templatesettings@^4.0.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33" - integrity sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ== - dependencies: - lodash._reinterpolate "^3.0.0" - lodash.without@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.without/-/lodash.without-4.4.0.tgz#3cd4574a00b67bae373a94b748772640507b7aac" @@ -8824,7 +8315,7 @@ lodash.xor@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.xor/-/lodash.xor-4.5.0.tgz#4d48ed7e98095b0632582ba714d3ff8ae8fb1db6" integrity sha1-TUjtfpgJWwYyWCunFNP/iuj7HbY= -lodash@4.17.21, lodash@^4.14.0, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.3, lodash@^4.7.0: +lodash@4.17.21, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.19, lodash@^4.17.21, lodash@^4.17.3, lodash@^4.7.0: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -9021,7 +8512,7 @@ methods@^1.0.1, methods@^1.1.1, methods@^1.1.2: resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= -micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.5: +micromatch@^3.1.10, micromatch@^3.1.4: version "3.1.10" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== @@ -9122,11 +8613,6 @@ mixin-deep@^1.2.0: for-in "^1.0.2" is-extendable "^1.0.1" -mkdirp-classic@^0.5.2: - version "0.5.3" - resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" - integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== - mkdirp@^0.5.0, mkdirp@^0.5.1: version "0.5.5" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" @@ -9146,7 +8632,7 @@ moment-timezone@^0.5.31: dependencies: moment ">= 2.9.0" -"moment@>= 2.9.0", moment@^2.18.1: +"moment@>= 2.9.0": version "2.29.1" resolved "https://registry.yarnpkg.com/moment/-/moment-2.29.1.tgz#b2be769fa31940be9eeea6469c075e35006fa3d3" integrity sha512-kHmoybcPV8Sqy59DwNDY3Jefr64lK/by/da0ViFcuA4DH0vQg5Q6Ze5VimxkfQNSC+Mls/Kx53s7TjP1RhFEDQ== @@ -9246,11 +8732,6 @@ nan@^2.12.1: resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee" integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ== -nanoid@^2.1.0: - version "2.1.11" - resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-2.1.11.tgz#ec24b8a758d591561531b4176a01e3ab4f0f0280" - integrity sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA== - nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" @@ -9325,11 +8806,6 @@ node-fetch@^2.6.1: dependencies: whatwg-url "^5.0.0" -node-forge@^0.7.1: - version "0.7.6" - resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.6.tgz#fdf3b418aee1f94f0ef642cd63486c77ca9724ac" - integrity sha512-sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw== - node-gyp-build@~4.1.0: version "4.1.1" resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.1.1.tgz#d7270b5d86717068d114cc57fff352f96d745feb" @@ -9457,11 +8933,6 @@ oauth-sign@~0.9.0: resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== -oauth@0.9.x, oauth@^0.9.15: - version "0.9.15" - resolved "https://registry.yarnpkg.com/oauth/-/oauth-0.9.15.tgz#bd1fefaf686c96b75475aed5196412ff60cfb9c1" - integrity sha1-vR/vr2hslrdUda7VGWQS/2DPucE= - object-assign@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-2.1.1.tgz#43c36e5d569ff8e4816c4efa8be02d26967c18aa" @@ -9772,84 +9243,6 @@ pascalcase@^0.1.1: resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= -passport-google-auth@^1.0.2: - version "1.0.2" - resolved "https://registry.yarnpkg.com/passport-google-auth/-/passport-google-auth-1.0.2.tgz#8b300b5aa442ef433de1d832ed3112877d0b2938" - integrity sha1-izALWqRC70M94dgy7TESh30LKTg= - dependencies: - googleapis "^16.0.0" - passport-strategy "1.x" - -passport-google-oauth1@1.x.x: - version "1.0.0" - resolved "https://registry.yarnpkg.com/passport-google-oauth1/-/passport-google-oauth1-1.0.0.tgz#af74a803df51ec646f66a44d82282be6f108e0cc" - integrity sha1-r3SoA99R7GRvZqRNgigr5vEI4Mw= - dependencies: - passport-oauth1 "1.x.x" - -passport-google-oauth20@2.x.x: - version "2.0.0" - resolved "https://registry.yarnpkg.com/passport-google-oauth20/-/passport-google-oauth20-2.0.0.tgz#0d241b2d21ebd3dc7f2b60669ec4d587e3a674ef" - integrity sha512-KSk6IJ15RoxuGq7D1UKK/8qKhNfzbLeLrG3gkLZ7p4A6DBCcv7xpyQwuXtWdpyR0+E0mwkpjY1VfPOhxQrKzdQ== - dependencies: - passport-oauth2 "1.x.x" - -passport-google-oauth@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/passport-google-oauth/-/passport-google-oauth-2.0.0.tgz#f6eb4bc96dd6c16ec0ecfdf4e05ec48ca54d4dae" - integrity sha512-JKxZpBx6wBQXX1/a1s7VmdBgwOugohH+IxCy84aPTZNq/iIPX6u7Mqov1zY7MKRz3niFPol0KJz8zPLBoHKtYA== - dependencies: - passport-google-oauth1 "1.x.x" - passport-google-oauth20 "2.x.x" - -passport-jwt@^4.0.0: - version "4.0.0" - resolved "https://registry.yarnpkg.com/passport-jwt/-/passport-jwt-4.0.0.tgz#7f0be7ba942e28b9f5d22c2ebbb8ce96ef7cf065" - integrity sha512-BwC0n2GP/1hMVjR4QpnvqA61TxenUMlmfNjYNgK0ZAs0HK4SOQkHcSv4L328blNTLtHq7DbmvyNJiH+bn6C5Mg== - dependencies: - jsonwebtoken "^8.2.0" - passport-strategy "^1.0.0" - -passport-local@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/passport-local/-/passport-local-1.0.0.tgz#1fe63268c92e75606626437e3b906662c15ba6ee" - integrity sha1-H+YyaMkudWBmJkN+O5BmYsFbpu4= - dependencies: - passport-strategy "1.x.x" - -passport-oauth1@1.x.x: - version "1.2.0" - resolved "https://registry.yarnpkg.com/passport-oauth1/-/passport-oauth1-1.2.0.tgz#5229d431781bf5b265bec86ce9a9cce58a756cf9" - integrity sha512-Sv2YWodC6jN12M/OXwmR4BIXeeIHjjbwYTQw4kS6tHK4zYzSEpxBgSJJnknBjICA5cj0ju3FSnG1XmHgIhYnLg== - dependencies: - oauth "0.9.x" - passport-strategy "1.x.x" - utils-merge "1.x.x" - -passport-oauth2@1.x.x: - version "1.6.1" - resolved "https://registry.yarnpkg.com/passport-oauth2/-/passport-oauth2-1.6.1.tgz#c5aee8f849ce8bd436c7f81d904a3cd1666f181b" - integrity sha512-ZbV43Hq9d/SBSYQ22GOiglFsjsD1YY/qdiptA+8ej+9C1dL1TVB+mBE5kDH/D4AJo50+2i8f4bx0vg4/yDDZCQ== - dependencies: - base64url "3.x.x" - oauth "0.9.x" - passport-strategy "1.x.x" - uid2 "0.0.x" - utils-merge "1.x.x" - -passport-strategy@1.x, passport-strategy@1.x.x, passport-strategy@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/passport-strategy/-/passport-strategy-1.0.0.tgz#b5539aa8fc225a3d1ad179476ddf236b440f52e4" - integrity sha1-tVOaqPwiWj0a0XlHbd8ja0QPUuQ= - -passport@^0.4.0: - version "0.4.1" - resolved "https://registry.yarnpkg.com/passport/-/passport-0.4.1.tgz#941446a21cb92fc688d97a0861c38ce9f738f270" - integrity sha512-IxXgZZs8d7uFSt3eqNjM9NQ3g3uQCW5avD8mRNoXV99Yig50vjuaez6dQK2qC0kVWPRTujxY0dWgGfT09adjYg== - dependencies: - passport-strategy "1.x.x" - pause "0.0.1" - path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" @@ -9904,11 +9297,6 @@ path-type@^4.0.0: resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== -pause@0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/pause/-/pause-0.0.1.tgz#1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d" - integrity sha1-HUCLP9t2kjuVQ9lvtMnf1TXZy10= - pend@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" @@ -10632,7 +10020,7 @@ readable-stream@1.1.14, readable-stream@^1.0.27-1: isarray "0.0.1" string_decoder "~0.10.x" -"readable-stream@2 || 3", readable-stream@^3.0.0, readable-stream@^3.0.1, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: +"readable-stream@2 || 3", readable-stream@^3.0.0, readable-stream@^3.0.1, readable-stream@^3.4.0, readable-stream@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== @@ -10773,16 +10161,6 @@ regex-not@^1.0.0, regex-not@^1.0.2: extend-shallow "^3.0.2" safe-regex "^1.1.0" -regexparam@2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/regexparam/-/regexparam-2.0.0.tgz#059476767d5f5f87f735fc7922d133fd1a118c8c" - integrity sha512-gJKwd2MVPWHAIFLsaYDZfyKzHNS4o7E/v8YmNf44vmeV2e4YfVoDToTOKTvE7ab68cRJ++kLuEXJBaEeJVt5ow== - -regexparam@^1.3.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/regexparam/-/regexparam-1.3.0.tgz#2fe42c93e32a40eff6235d635e0ffa344b92965f" - integrity sha512-6IQpFBv6e5vz1QAqI+V4k8P2e/3gRrqfCJ9FI+O1FLQTO+Uz6RXZEZOPmTJ6hlGj7gkERzY5BRCv09whKP96/g== - regexpp@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" @@ -10826,21 +10204,6 @@ regjsparser@^0.7.0: dependencies: jsesc "~0.5.0" -relative@^3.0.2: - version "3.0.2" - resolved "https://registry.yarnpkg.com/relative/-/relative-3.0.2.tgz#0dcd8ec54a5d35a3c15e104503d65375b5a5367f" - integrity sha1-Dc2OxUpdNaPBXhBFA9ZTdbWlNn8= - dependencies: - isobject "^2.0.0" - -remarkable@^1.6.2, remarkable@^1.7.1: - version "1.7.4" - resolved "https://registry.yarnpkg.com/remarkable/-/remarkable-1.7.4.tgz#19073cb960398c87a7d6546eaa5e50d2022fcd00" - integrity sha512-e6NKUXgX95whv7IgddywbeN/ItCkWbISmc2DiqHJb0wTrqZIexqdco5b8Z3XZoo/48IdNVKM9ZCvTPJ4F5uvhg== - dependencies: - argparse "^1.0.10" - autolinker "~0.28.0" - remove-trailing-separator@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" @@ -10877,7 +10240,7 @@ request-promise-native@^1.0.5: stealthy-require "^1.1.1" tough-cookie "^2.3.3" -request@^2.72.0, request@^2.74.0, request@^2.87.0, request@^2.88.0: +request@^2.87.0: version "2.88.2" resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== @@ -11089,11 +10452,6 @@ sane@^4.0.3: minimist "^1.1.1" walker "~1.0.5" -sanitize-s3-objectkey@^0.0.1: - version "0.0.1" - resolved "https://registry.yarnpkg.com/sanitize-s3-objectkey/-/sanitize-s3-objectkey-0.0.1.tgz#efa9887cd45275b40234fb4bb12fc5754fe64e7e" - integrity sha512-ZTk7aqLxy4sD40GWcYWoLfbe05XLmkKvh6vGKe13ADlei24xlezcvjgKy1qRArlaIbIMYaqK7PCalvZtulZlaQ== - saslprep@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/saslprep/-/saslprep-1.0.3.tgz#4c02f946b56cf54297e347ba1093e7acac4cf226" @@ -11106,7 +10464,7 @@ sax@1.2.1: resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a" integrity sha1-e45lYZCyKOgaZq6nSEgNgozS03o= -sax@>=0.1.1, sax@>=0.6.0, sax@^1.2.4: +sax@>=0.6.0, sax@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== @@ -11139,11 +10497,6 @@ seek-bzip@^1.0.5: dependencies: commander "^2.8.1" -self-closing-tags@^1.0.1: - version "1.0.1" - resolved "https://registry.yarnpkg.com/self-closing-tags/-/self-closing-tags-1.0.1.tgz#6c5fa497994bb826b484216916371accee490a5d" - integrity sha512-7t6hNbYMxM+VHXTgJmxwgZgLGktuXtVVD5AivWzNTdJBM4DBjnDKDzkf2SrNjihaArpeJYNjxkELBu1evI4lQA== - semver-diff@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b" @@ -11151,7 +10504,7 @@ semver-diff@^3.1.1: dependencies: semver "^6.3.0" -"semver@2 || 3 || 4 || 5", semver@^5.1.0, semver@^5.4.1, semver@^5.5.0, semver@^5.6.0, semver@^5.7.1: +"semver@2 || 3 || 4 || 5", semver@^5.1.0, semver@^5.5.0, semver@^5.6.0, semver@^5.7.1: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== @@ -11262,18 +10615,6 @@ shell-path@^2.1.0: dependencies: shell-env "^0.3.0" -shimmer@^1.2.0: - version "1.2.1" - resolved "https://registry.yarnpkg.com/shimmer/-/shimmer-1.2.1.tgz#610859f7de327b587efebf501fb43117f9aff337" - integrity sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw== - -shortid@^2.2.15: - version "2.2.16" - resolved "https://registry.yarnpkg.com/shortid/-/shortid-2.2.16.tgz#b742b8f0cb96406fd391c76bfc18a67a57fe5608" - integrity sha512-Ugt+GIZqvGXCIItnsL+lvFJOiN7RYqlGy7QE41O3YC1xbNSeDGIRO7xg2JJXIAj1cAGnOeC1r7/T9pgrtQbv4g== - dependencies: - nanoid "^2.1.0" - side-channel@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" @@ -11548,11 +10889,6 @@ sshpk@^1.7.0: safer-buffer "^2.0.2" tweetnacl "~0.14.0" -stack-chain@^1.3.7: - version "1.3.7" - resolved "https://registry.yarnpkg.com/stack-chain/-/stack-chain-1.3.7.tgz#d192c9ff4ea6a22c94c4dd459171e3f00cea1285" - integrity sha1-0ZLJ/06moiyUxN1FkXHj8AzqEoU= - stack-trace@0.0.x: version "0.0.10" resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" @@ -11600,11 +10936,6 @@ stealthy-require@^1.1.1: resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= -step@0.0.x: - version "0.0.6" - resolved "https://registry.yarnpkg.com/step/-/step-0.0.6.tgz#143e7849a5d7d3f4a088fe29af94915216eeede2" - integrity sha1-FD54SaXX0/SgiP4pr5SRUhbu7eI= - strict-uri-encode@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" @@ -11623,11 +10954,6 @@ string-length@^4.0.1: char-regex "^1.0.2" strip-ansi "^6.0.0" -string-template@~1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/string-template/-/string-template-1.0.0.tgz#9e9f2233dc00f218718ec379a28a5673ecca8b96" - integrity sha1-np8iM9wA8hhxjsN5oopWc+zKi5Y= - string-width@^3.0.0, string-width@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" @@ -11761,11 +11087,6 @@ strip-outer@^1.0.0: dependencies: escape-string-regexp "^1.0.2" -striptags@^3.1.1: - version "3.2.0" - resolved "https://registry.yarnpkg.com/striptags/-/striptags-3.2.0.tgz#cc74a137db2de8b0b9a370006334161f7dd67052" - integrity sha512-g45ZOGzHDMe2bdYMdIvdAfCQkCTDMGBazSw1ypMowwGIee7ZQ5dU0rBJ8Jqgl+jAKIv4dbeE1jscZq9wid1Tkw== - style-loader@^3.3.1: version "3.3.1" resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.1.tgz#057dfa6b3d4d7c7064462830f9113ed417d38575" @@ -11860,13 +11181,6 @@ svelte-portal@^1.0.0: resolved "https://registry.yarnpkg.com/svelte-portal/-/svelte-portal-1.0.0.tgz#36a47c5578b1a4d9b4dc60fa32a904640ec4cdd3" integrity sha512-nHf+DS/jZ6jjnZSleBMSaZua9JlG5rZv9lOGKgJuaZStfevtjIlUJrkLc3vbV8QdBvPPVmvcjTlazAzfKu0v3Q== -svelte-spa-router@^3.0.5: - version "3.2.0" - resolved "https://registry.yarnpkg.com/svelte-spa-router/-/svelte-spa-router-3.2.0.tgz#fae3311d292451236cb57131262406cf312b15ee" - integrity sha512-igemo5Vs82TGBBw+DjWt6qKameXYzNs6aDXcTxou5XbEvOjiRcAM6MLkdVRCatn6u8r42dE99bt/br7T4qe/AQ== - dependencies: - regexparam "2.0.0" - svelte@^3.38.2: version "3.44.1" resolved "https://registry.yarnpkg.com/svelte/-/svelte-3.44.1.tgz#5cc772a8340f4519a4ecd1ac1a842325466b1a63" @@ -11954,16 +11268,6 @@ tapable@^2.1.1, tapable@^2.2.0: resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== -tar-fs@^2.1.1: - version "2.1.1" - resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784" - integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== - dependencies: - chownr "^1.1.1" - mkdirp-classic "^0.5.2" - pump "^3.0.0" - tar-stream "^2.1.4" - tar-stream@^1.5.2: version "1.6.2" resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.6.2.tgz#8ea55dab37972253d9a9af90fdcd559ae435c555" @@ -11977,17 +11281,6 @@ tar-stream@^1.5.2: to-buffer "^1.1.1" xtend "^4.0.0" -tar-stream@^2.1.4: - version "2.2.0" - resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" - integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== - dependencies: - bl "^4.0.3" - end-of-stream "^1.4.1" - fs-constants "^1.0.0" - inherits "^2.0.3" - readable-stream "^3.1.1" - tarn@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/tarn/-/tarn-1.1.5.tgz#7be88622e951738b9fa3fb77477309242cdddc2d" @@ -12179,11 +11472,6 @@ to-fast-properties@^2.0.0: resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= -to-gfm-code-block@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/to-gfm-code-block/-/to-gfm-code-block-0.1.1.tgz#25d045a5fae553189e9637b590900da732d8aa82" - integrity sha1-JdBFpfrlUxielje1kJANpzLYqoI= - to-json-schema@0.2.5: version "0.2.5" resolved "https://registry.yarnpkg.com/to-json-schema/-/to-json-schema-0.2.5.tgz#ef3c3f11ad64460dcfbdbafd0fd525d69d62a98f" @@ -12420,13 +11708,6 @@ typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" -typeof-article@^0.1.1: - version "0.1.1" - resolved "https://registry.yarnpkg.com/typeof-article/-/typeof-article-0.1.1.tgz#9f07e733c3fbb646ffa9e61c08debacd460e06af" - integrity sha1-nwfnM8P7tkb/qeYcCN66zUYOBq8= - dependencies: - kind-of "^3.1.0" - typescript@^4.3.5: version "4.3.5" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.3.5.tgz#4d1c37cc16e893973c45a06886b7113234f119f4" @@ -12442,11 +11723,6 @@ uglify-js@^3.1.4: resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.14.3.tgz#c0f25dfea1e8e5323eccf59610be08b6043c15cf" integrity sha512-mic3aOdiq01DuSVx0TseaEzMIVqebMZ0Z3vaeDhFEh9bsc24hV1TFvN74reA2vs08D0ZWfNjAcJ3UbVLaBss+g== -uid2@0.0.x: - version "0.0.4" - resolved "https://registry.yarnpkg.com/uid2/-/uid2-0.0.4.tgz#033f3b1d5d32505f5ce5f888b9f3b667123c0a44" - integrity sha512-IevTus0SbGwQzYh3+fRsAMTVVPOoIVufzacXcHPmdlle1jUpq7BRL+mw3dgeLanvGZdwwbWhRV6XrcFNdBmjWA== - unbox-primitive@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" @@ -12650,11 +11926,6 @@ util.promisify@^1.0.0, util.promisify@^1.0.1: has-symbols "^1.0.1" object.getownpropertydescriptors "^2.1.1" -utils-merge@1.x.x: - version "1.0.1" - resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" - integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= - uuid@3.3.2, uuid@^3.1.0, uuid@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" @@ -12719,7 +11990,7 @@ verror@1.3.6: dependencies: extsprintf "1.0.2" -vm2@^3.9.3, vm2@^3.9.4: +vm2@^3.9.3: version "3.9.5" resolved "https://registry.yarnpkg.com/vm2/-/vm2-3.9.5.tgz#5288044860b4bbace443101fcd3bddb2a0aa2496" integrity sha512-LuCAHZN75H9tdrAiLFf030oW7nJV5xwNMuk1ymOZwopmuK3d2H4L1Kv4+GFHgarKiLfXXLFU+7LDABHnwOkWng== @@ -12758,14 +12029,6 @@ watchpack@^2.2.0: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" -webfinger@^0.4.2: - version "0.4.2" - resolved "https://registry.yarnpkg.com/webfinger/-/webfinger-0.4.2.tgz#3477a6d97799461896039fcffc650b73468ee76d" - integrity sha1-NHem2XeZRhiWA5/P/GULc0aO520= - dependencies: - step "0.0.x" - xml2js "0.1.x" - webidl-conversions@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" @@ -13082,13 +12345,6 @@ xml-parse-from-string@^1.0.0: resolved "https://registry.yarnpkg.com/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz#a9029e929d3dbcded169f3c6e28238d95a5d5a28" integrity sha1-qQKekp09vN7RafPG4oI42VpdWig= -xml2js@0.1.x: - version "0.1.14" - resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.1.14.tgz#5274e67f5a64c5f92974cd85139e0332adc6b90c" - integrity sha1-UnTmf1pkxfkpdM2FE54DMq3GuQw= - dependencies: - sax ">=0.1.1" - xml2js@0.4.19: version "0.4.19" resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7" @@ -13230,11 +12486,6 @@ yauzl@^2.4.2: buffer-crc32 "~0.2.3" fd-slicer "~1.1.0" -year@^0.2.1: - version "0.2.1" - resolved "https://registry.yarnpkg.com/year/-/year-0.2.1.tgz#4083ae520a318b23ec86037f3000cb892bdf9bb0" - integrity sha1-QIOuUgoxiyPshgN/MADLiSvfm7A= - ylru@^1.2.0: version "1.2.1" resolved "https://registry.yarnpkg.com/ylru/-/ylru-1.2.1.tgz#f576b63341547989c1de7ba288760923b27fe84f" @@ -13256,7 +12507,7 @@ z-schema@^5.0.1: optionalDependencies: commander "^2.7.1" -zlib@1.0.5, zlib@^1.0.5: +zlib@1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/zlib/-/zlib-1.0.5.tgz#6e7c972fc371c645a6afb03ab14769def114fcc0" integrity sha1-bnyXL8NxxkWmr7A6sUdp3vEU/MA= From 0201841b90d3a78ccec055fb58b0b797dc9f42c6 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Tue, 18 Jan 2022 09:39:19 +0000 Subject: [PATCH 004/176] Add initial work on frontend-core refactor --- packages/bbui/src/index.js | 3 - packages/builder/src/builderStore/uuid.js | 9 - packages/builder/src/constants/lucene.js | 55 - packages/client/package.json | 1 + packages/client/src/api/api.js | 97 - .../src/components/app/DataProvider.svelte | 5 +- .../app/dynamic-filter/DynamicFilter.svelte | 4 +- .../app/dynamic-filter/FilterModal.svelte | 22 +- packages/client/src/constants.js | 8 - packages/client/src/stores/state.js | 4 +- packages/client/src/utils/conditions.js | 6 +- packages/client/src/utils/helpers.js | 57 - .../frontend-core/node_modules/lodash/LICENSE | 47 + .../node_modules/lodash/README.md | 39 + .../node_modules/lodash/_DataView.js | 7 + .../node_modules/lodash/_Hash.js | 32 + .../node_modules/lodash/_LazyWrapper.js | 28 + .../node_modules/lodash/_ListCache.js | 32 + .../node_modules/lodash/_LodashWrapper.js | 22 + .../frontend-core/node_modules/lodash/_Map.js | 7 + .../node_modules/lodash/_MapCache.js | 32 + .../node_modules/lodash/_Promise.js | 7 + .../frontend-core/node_modules/lodash/_Set.js | 7 + .../node_modules/lodash/_SetCache.js | 27 + .../node_modules/lodash/_Stack.js | 27 + .../node_modules/lodash/_Symbol.js | 6 + .../node_modules/lodash/_Uint8Array.js | 6 + .../node_modules/lodash/_WeakMap.js | 7 + .../node_modules/lodash/_apply.js | 21 + .../node_modules/lodash/_arrayAggregator.js | 22 + .../node_modules/lodash/_arrayEach.js | 22 + .../node_modules/lodash/_arrayEachRight.js | 21 + .../node_modules/lodash/_arrayEvery.js | 23 + .../node_modules/lodash/_arrayFilter.js | 25 + .../node_modules/lodash/_arrayIncludes.js | 17 + .../node_modules/lodash/_arrayIncludesWith.js | 22 + .../node_modules/lodash/_arrayLikeKeys.js | 49 + .../node_modules/lodash/_arrayMap.js | 21 + .../node_modules/lodash/_arrayPush.js | 20 + .../node_modules/lodash/_arrayReduce.js | 26 + .../node_modules/lodash/_arrayReduceRight.js | 24 + .../node_modules/lodash/_arraySample.js | 15 + .../node_modules/lodash/_arraySampleSize.js | 17 + .../node_modules/lodash/_arrayShuffle.js | 15 + .../node_modules/lodash/_arraySome.js | 23 + .../node_modules/lodash/_asciiSize.js | 12 + .../node_modules/lodash/_asciiToArray.js | 12 + .../node_modules/lodash/_asciiWords.js | 15 + .../node_modules/lodash/_assignMergeValue.js | 20 + .../node_modules/lodash/_assignValue.js | 28 + .../node_modules/lodash/_assocIndexOf.js | 21 + .../node_modules/lodash/_baseAggregator.js | 21 + .../node_modules/lodash/_baseAssign.js | 17 + .../node_modules/lodash/_baseAssignIn.js | 17 + .../node_modules/lodash/_baseAssignValue.js | 25 + .../node_modules/lodash/_baseAt.js | 23 + .../node_modules/lodash/_baseClamp.js | 22 + .../node_modules/lodash/_baseClone.js | 166 + .../node_modules/lodash/_baseConforms.js | 18 + .../node_modules/lodash/_baseConformsTo.js | 27 + .../node_modules/lodash/_baseCreate.js | 30 + .../node_modules/lodash/_baseDelay.js | 21 + .../node_modules/lodash/_baseDifference.js | 67 + .../node_modules/lodash/_baseEach.js | 14 + .../node_modules/lodash/_baseEachRight.js | 14 + .../node_modules/lodash/_baseEvery.js | 21 + .../node_modules/lodash/_baseExtremum.js | 32 + .../node_modules/lodash/_baseFill.js | 32 + .../node_modules/lodash/_baseFilter.js | 21 + .../node_modules/lodash/_baseFindIndex.js | 24 + .../node_modules/lodash/_baseFindKey.js | 23 + .../node_modules/lodash/_baseFlatten.js | 38 + .../node_modules/lodash/_baseFor.js | 16 + .../node_modules/lodash/_baseForOwn.js | 16 + .../node_modules/lodash/_baseForOwnRight.js | 16 + .../node_modules/lodash/_baseForRight.js | 15 + .../node_modules/lodash/_baseFunctions.js | 19 + .../node_modules/lodash/_baseGet.js | 24 + .../node_modules/lodash/_baseGetAllKeys.js | 20 + .../node_modules/lodash/_baseGetTag.js | 28 + .../node_modules/lodash/_baseGt.js | 14 + .../node_modules/lodash/_baseHas.js | 19 + .../node_modules/lodash/_baseHasIn.js | 13 + .../node_modules/lodash/_baseInRange.js | 18 + .../node_modules/lodash/_baseIndexOf.js | 20 + .../node_modules/lodash/_baseIndexOfWith.js | 23 + .../node_modules/lodash/_baseIntersection.js | 74 + .../node_modules/lodash/_baseInverter.js | 21 + .../node_modules/lodash/_baseInvoke.js | 24 + .../node_modules/lodash/_baseIsArguments.js | 18 + .../node_modules/lodash/_baseIsArrayBuffer.js | 17 + .../node_modules/lodash/_baseIsDate.js | 18 + .../node_modules/lodash/_baseIsEqual.js | 28 + .../node_modules/lodash/_baseIsEqualDeep.js | 83 + .../node_modules/lodash/_baseIsMap.js | 18 + .../node_modules/lodash/_baseIsMatch.js | 62 + .../node_modules/lodash/_baseIsNaN.js | 12 + .../node_modules/lodash/_baseIsNative.js | 47 + .../node_modules/lodash/_baseIsRegExp.js | 18 + .../node_modules/lodash/_baseIsSet.js | 18 + .../node_modules/lodash/_baseIsTypedArray.js | 60 + .../node_modules/lodash/_baseIteratee.js | 31 + .../node_modules/lodash/_baseKeys.js | 30 + .../node_modules/lodash/_baseKeysIn.js | 33 + .../node_modules/lodash/_baseLodash.js | 10 + .../node_modules/lodash/_baseLt.js | 14 + .../node_modules/lodash/_baseMap.js | 22 + .../node_modules/lodash/_baseMatches.js | 22 + .../lodash/_baseMatchesProperty.js | 33 + .../node_modules/lodash/_baseMean.js | 20 + .../node_modules/lodash/_baseMerge.js | 42 + .../node_modules/lodash/_baseMergeDeep.js | 94 + .../node_modules/lodash/_baseNth.js | 20 + .../node_modules/lodash/_baseOrderBy.js | 49 + .../node_modules/lodash/_basePick.js | 19 + .../node_modules/lodash/_basePickBy.js | 30 + .../node_modules/lodash/_baseProperty.js | 14 + .../node_modules/lodash/_basePropertyDeep.js | 16 + .../node_modules/lodash/_basePropertyOf.js | 14 + .../node_modules/lodash/_basePullAll.js | 51 + .../node_modules/lodash/_basePullAt.js | 37 + .../node_modules/lodash/_baseRandom.js | 18 + .../node_modules/lodash/_baseRange.js | 28 + .../node_modules/lodash/_baseReduce.js | 23 + .../node_modules/lodash/_baseRepeat.js | 35 + .../node_modules/lodash/_baseRest.js | 17 + .../node_modules/lodash/_baseSample.js | 15 + .../node_modules/lodash/_baseSampleSize.js | 18 + .../node_modules/lodash/_baseSet.js | 51 + .../node_modules/lodash/_baseSetData.js | 17 + .../node_modules/lodash/_baseSetToString.js | 22 + .../node_modules/lodash/_baseShuffle.js | 15 + .../node_modules/lodash/_baseSlice.js | 31 + .../node_modules/lodash/_baseSome.js | 22 + .../node_modules/lodash/_baseSortBy.js | 21 + .../node_modules/lodash/_baseSortedIndex.js | 42 + .../node_modules/lodash/_baseSortedIndexBy.js | 67 + .../node_modules/lodash/_baseSortedUniq.js | 30 + .../node_modules/lodash/_baseSum.js | 24 + .../node_modules/lodash/_baseTimes.js | 20 + .../node_modules/lodash/_baseToNumber.js | 24 + .../node_modules/lodash/_baseToPairs.js | 18 + .../node_modules/lodash/_baseToString.js | 37 + .../node_modules/lodash/_baseTrim.js | 19 + .../node_modules/lodash/_baseUnary.js | 14 + .../node_modules/lodash/_baseUniq.js | 72 + .../node_modules/lodash/_baseUnset.js | 20 + .../node_modules/lodash/_baseUpdate.js | 18 + .../node_modules/lodash/_baseValues.js | 19 + .../node_modules/lodash/_baseWhile.js | 26 + .../node_modules/lodash/_baseWrapperValue.js | 25 + .../node_modules/lodash/_baseXor.js | 36 + .../node_modules/lodash/_baseZipObject.js | 23 + .../node_modules/lodash/_cacheHas.js | 13 + .../lodash/_castArrayLikeObject.js | 14 + .../node_modules/lodash/_castFunction.js | 14 + .../node_modules/lodash/_castPath.js | 21 + .../node_modules/lodash/_castRest.js | 14 + .../node_modules/lodash/_castSlice.js | 18 + .../node_modules/lodash/_charsEndIndex.js | 19 + .../node_modules/lodash/_charsStartIndex.js | 20 + .../node_modules/lodash/_cloneArrayBuffer.js | 16 + .../node_modules/lodash/_cloneBuffer.js | 35 + .../node_modules/lodash/_cloneDataView.js | 16 + .../node_modules/lodash/_cloneRegExp.js | 17 + .../node_modules/lodash/_cloneSymbol.js | 18 + .../node_modules/lodash/_cloneTypedArray.js | 16 + .../node_modules/lodash/_compareAscending.js | 41 + .../node_modules/lodash/_compareMultiple.js | 44 + .../node_modules/lodash/_composeArgs.js | 39 + .../node_modules/lodash/_composeArgsRight.js | 41 + .../node_modules/lodash/_copyArray.js | 20 + .../node_modules/lodash/_copyObject.js | 40 + .../node_modules/lodash/_copySymbols.js | 16 + .../node_modules/lodash/_copySymbolsIn.js | 16 + .../node_modules/lodash/_coreJsData.js | 6 + .../node_modules/lodash/_countHolders.js | 21 + .../node_modules/lodash/_createAggregator.js | 23 + .../node_modules/lodash/_createAssigner.js | 37 + .../node_modules/lodash/_createBaseEach.js | 32 + .../node_modules/lodash/_createBaseFor.js | 25 + .../node_modules/lodash/_createBind.js | 28 + .../node_modules/lodash/_createCaseFirst.js | 33 + .../node_modules/lodash/_createCompounder.js | 24 + .../node_modules/lodash/_createCtor.js | 37 + .../node_modules/lodash/_createCurry.js | 46 + .../node_modules/lodash/_createFind.js | 25 + .../node_modules/lodash/_createFlow.js | 78 + .../node_modules/lodash/_createHybrid.js | 92 + .../node_modules/lodash/_createInverter.js | 17 + .../lodash/_createMathOperation.js | 38 + .../node_modules/lodash/_createOver.js | 27 + .../node_modules/lodash/_createPadding.js | 33 + .../node_modules/lodash/_createPartial.js | 43 + .../node_modules/lodash/_createRange.js | 30 + .../node_modules/lodash/_createRecurry.js | 56 + .../lodash/_createRelationalOperation.js | 20 + .../node_modules/lodash/_createRound.js | 35 + .../node_modules/lodash/_createSet.js | 19 + .../node_modules/lodash/_createToPairs.js | 30 + .../node_modules/lodash/_createWrap.js | 106 + .../lodash/_customDefaultsAssignIn.js | 29 + .../lodash/_customDefaultsMerge.js | 28 + .../node_modules/lodash/_customOmitClone.js | 16 + .../node_modules/lodash/_deburrLetter.js | 71 + .../node_modules/lodash/_defineProperty.js | 11 + .../node_modules/lodash/_equalArrays.js | 84 + .../node_modules/lodash/_equalByTag.js | 112 + .../node_modules/lodash/_equalObjects.js | 90 + .../node_modules/lodash/_escapeHtmlChar.js | 21 + .../node_modules/lodash/_escapeStringChar.js | 22 + .../node_modules/lodash/_flatRest.js | 16 + .../node_modules/lodash/_freeGlobal.js | 4 + .../node_modules/lodash/_getAllKeys.js | 16 + .../node_modules/lodash/_getAllKeysIn.js | 17 + .../node_modules/lodash/_getData.js | 15 + .../node_modules/lodash/_getFuncName.js | 31 + .../node_modules/lodash/_getHolder.js | 13 + .../node_modules/lodash/_getMapData.js | 18 + .../node_modules/lodash/_getMatchData.js | 24 + .../node_modules/lodash/_getNative.js | 17 + .../node_modules/lodash/_getPrototype.js | 6 + .../node_modules/lodash/_getRawTag.js | 46 + .../node_modules/lodash/_getSymbols.js | 30 + .../node_modules/lodash/_getSymbolsIn.js | 25 + .../node_modules/lodash/_getTag.js | 58 + .../node_modules/lodash/_getValue.js | 13 + .../node_modules/lodash/_getView.js | 33 + .../node_modules/lodash/_getWrapDetails.js | 17 + .../node_modules/lodash/_hasPath.js | 39 + .../node_modules/lodash/_hasUnicode.js | 26 + .../node_modules/lodash/_hasUnicodeWord.js | 15 + .../node_modules/lodash/_hashClear.js | 15 + .../node_modules/lodash/_hashDelete.js | 17 + .../node_modules/lodash/_hashGet.js | 30 + .../node_modules/lodash/_hashHas.js | 23 + .../node_modules/lodash/_hashSet.js | 23 + .../node_modules/lodash/_initCloneArray.js | 26 + .../node_modules/lodash/_initCloneByTag.js | 77 + .../node_modules/lodash/_initCloneObject.js | 18 + .../node_modules/lodash/_insertWrapDetails.js | 23 + .../node_modules/lodash/_isFlattenable.js | 20 + .../node_modules/lodash/_isIndex.js | 25 + .../node_modules/lodash/_isIterateeCall.js | 30 + .../node_modules/lodash/_isKey.js | 29 + .../node_modules/lodash/_isKeyable.js | 15 + .../node_modules/lodash/_isLaziable.js | 28 + .../node_modules/lodash/_isMaskable.js | 14 + .../node_modules/lodash/_isMasked.js | 20 + .../node_modules/lodash/_isPrototype.js | 18 + .../lodash/_isStrictComparable.js | 15 + .../node_modules/lodash/_iteratorToArray.js | 18 + .../node_modules/lodash/_lazyClone.js | 23 + .../node_modules/lodash/_lazyReverse.js | 23 + .../node_modules/lodash/_lazyValue.js | 69 + .../node_modules/lodash/_listCacheClear.js | 13 + .../node_modules/lodash/_listCacheDelete.js | 35 + .../node_modules/lodash/_listCacheGet.js | 19 + .../node_modules/lodash/_listCacheHas.js | 16 + .../node_modules/lodash/_listCacheSet.js | 26 + .../node_modules/lodash/_mapCacheClear.js | 21 + .../node_modules/lodash/_mapCacheDelete.js | 18 + .../node_modules/lodash/_mapCacheGet.js | 16 + .../node_modules/lodash/_mapCacheHas.js | 16 + .../node_modules/lodash/_mapCacheSet.js | 22 + .../node_modules/lodash/_mapToArray.js | 18 + .../lodash/_matchesStrictComparable.js | 20 + .../node_modules/lodash/_memoizeCapped.js | 26 + .../node_modules/lodash/_mergeData.js | 90 + .../node_modules/lodash/_metaMap.js | 6 + .../node_modules/lodash/_nativeCreate.js | 6 + .../node_modules/lodash/_nativeKeys.js | 6 + .../node_modules/lodash/_nativeKeysIn.js | 20 + .../node_modules/lodash/_nodeUtil.js | 30 + .../node_modules/lodash/_objectToString.js | 22 + .../node_modules/lodash/_overArg.js | 15 + .../node_modules/lodash/_overRest.js | 36 + .../node_modules/lodash/_parent.js | 16 + .../node_modules/lodash/_reEscape.js | 4 + .../node_modules/lodash/_reEvaluate.js | 4 + .../node_modules/lodash/_reInterpolate.js | 4 + .../node_modules/lodash/_realNames.js | 4 + .../node_modules/lodash/_reorder.js | 29 + .../node_modules/lodash/_replaceHolders.js | 29 + .../node_modules/lodash/_root.js | 9 + .../node_modules/lodash/_safeGet.js | 21 + .../node_modules/lodash/_setCacheAdd.js | 19 + .../node_modules/lodash/_setCacheHas.js | 14 + .../node_modules/lodash/_setData.js | 20 + .../node_modules/lodash/_setToArray.js | 18 + .../node_modules/lodash/_setToPairs.js | 18 + .../node_modules/lodash/_setToString.js | 14 + .../node_modules/lodash/_setWrapToString.js | 21 + .../node_modules/lodash/_shortOut.js | 37 + .../node_modules/lodash/_shuffleSelf.js | 28 + .../node_modules/lodash/_stackClear.js | 15 + .../node_modules/lodash/_stackDelete.js | 18 + .../node_modules/lodash/_stackGet.js | 14 + .../node_modules/lodash/_stackHas.js | 14 + .../node_modules/lodash/_stackSet.js | 34 + .../node_modules/lodash/_strictIndexOf.js | 23 + .../node_modules/lodash/_strictLastIndexOf.js | 21 + .../node_modules/lodash/_stringSize.js | 18 + .../node_modules/lodash/_stringToArray.js | 18 + .../node_modules/lodash/_stringToPath.js | 27 + .../node_modules/lodash/_toKey.js | 21 + .../node_modules/lodash/_toSource.js | 26 + .../node_modules/lodash/_trimmedEndIndex.js | 19 + .../node_modules/lodash/_unescapeHtmlChar.js | 21 + .../node_modules/lodash/_unicodeSize.js | 44 + .../node_modules/lodash/_unicodeToArray.js | 40 + .../node_modules/lodash/_unicodeWords.js | 69 + .../node_modules/lodash/_updateWrapDetails.js | 46 + .../node_modules/lodash/_wrapperClone.js | 23 + .../frontend-core/node_modules/lodash/add.js | 22 + .../node_modules/lodash/after.js | 42 + .../node_modules/lodash/array.js | 67 + .../frontend-core/node_modules/lodash/ary.js | 29 + .../node_modules/lodash/assign.js | 58 + .../node_modules/lodash/assignIn.js | 40 + .../node_modules/lodash/assignInWith.js | 38 + .../node_modules/lodash/assignWith.js | 37 + .../frontend-core/node_modules/lodash/at.js | 23 + .../node_modules/lodash/attempt.js | 35 + .../node_modules/lodash/before.js | 40 + .../frontend-core/node_modules/lodash/bind.js | 57 + .../node_modules/lodash/bindAll.js | 41 + .../node_modules/lodash/bindKey.js | 68 + .../node_modules/lodash/camelCase.js | 29 + .../node_modules/lodash/capitalize.js | 23 + .../node_modules/lodash/castArray.js | 44 + .../frontend-core/node_modules/lodash/ceil.js | 26 + .../node_modules/lodash/chain.js | 38 + .../node_modules/lodash/chunk.js | 50 + .../node_modules/lodash/clamp.js | 39 + .../node_modules/lodash/clone.js | 36 + .../node_modules/lodash/cloneDeep.js | 29 + .../node_modules/lodash/cloneDeepWith.js | 40 + .../node_modules/lodash/cloneWith.js | 42 + .../node_modules/lodash/collection.js | 30 + .../node_modules/lodash/commit.js | 33 + .../node_modules/lodash/compact.js | 31 + .../node_modules/lodash/concat.js | 43 + .../frontend-core/node_modules/lodash/cond.js | 60 + .../node_modules/lodash/conforms.js | 35 + .../node_modules/lodash/conformsTo.js | 32 + .../node_modules/lodash/constant.js | 26 + .../frontend-core/node_modules/lodash/core.js | 3877 ++ .../node_modules/lodash/core.min.js | 29 + .../node_modules/lodash/countBy.js | 40 + .../node_modules/lodash/create.js | 43 + .../node_modules/lodash/curry.js | 57 + .../node_modules/lodash/curryRight.js | 54 + .../frontend-core/node_modules/lodash/date.js | 3 + .../node_modules/lodash/debounce.js | 191 + .../node_modules/lodash/deburr.js | 45 + .../node_modules/lodash/defaultTo.js | 25 + .../node_modules/lodash/defaults.js | 64 + .../node_modules/lodash/defaultsDeep.js | 30 + .../node_modules/lodash/defer.js | 26 + .../node_modules/lodash/delay.js | 28 + .../node_modules/lodash/difference.js | 33 + .../node_modules/lodash/differenceBy.js | 44 + .../node_modules/lodash/differenceWith.js | 40 + .../node_modules/lodash/divide.js | 22 + .../frontend-core/node_modules/lodash/drop.js | 38 + .../node_modules/lodash/dropRight.js | 39 + .../node_modules/lodash/dropRightWhile.js | 45 + .../node_modules/lodash/dropWhile.js | 45 + .../frontend-core/node_modules/lodash/each.js | 1 + .../node_modules/lodash/eachRight.js | 1 + .../node_modules/lodash/endsWith.js | 43 + .../node_modules/lodash/entries.js | 1 + .../node_modules/lodash/entriesIn.js | 1 + .../frontend-core/node_modules/lodash/eq.js | 37 + .../node_modules/lodash/escape.js | 43 + .../node_modules/lodash/escapeRegExp.js | 32 + .../node_modules/lodash/every.js | 56 + .../node_modules/lodash/extend.js | 1 + .../node_modules/lodash/extendWith.js | 1 + .../frontend-core/node_modules/lodash/fill.js | 45 + .../node_modules/lodash/filter.js | 52 + .../frontend-core/node_modules/lodash/find.js | 42 + .../node_modules/lodash/findIndex.js | 55 + .../node_modules/lodash/findKey.js | 44 + .../node_modules/lodash/findLast.js | 25 + .../node_modules/lodash/findLastIndex.js | 59 + .../node_modules/lodash/findLastKey.js | 44 + .../node_modules/lodash/first.js | 1 + .../node_modules/lodash/flake.lock | 40 + .../node_modules/lodash/flake.nix | 20 + .../node_modules/lodash/flatMap.js | 29 + .../node_modules/lodash/flatMapDeep.js | 31 + .../node_modules/lodash/flatMapDepth.js | 31 + .../node_modules/lodash/flatten.js | 22 + .../node_modules/lodash/flattenDeep.js | 25 + .../node_modules/lodash/flattenDepth.js | 33 + .../frontend-core/node_modules/lodash/flip.js | 28 + .../node_modules/lodash/floor.js | 26 + .../frontend-core/node_modules/lodash/flow.js | 27 + .../node_modules/lodash/flowRight.js | 26 + .../node_modules/lodash/forEach.js | 41 + .../node_modules/lodash/forEachRight.js | 31 + .../node_modules/lodash/forIn.js | 39 + .../node_modules/lodash/forInRight.js | 37 + .../node_modules/lodash/forOwn.js | 36 + .../node_modules/lodash/forOwnRight.js | 34 + .../frontend-core/node_modules/lodash/fp.js | 2 + .../frontend-core/node_modules/lodash/fp/F.js | 1 + .../frontend-core/node_modules/lodash/fp/T.js | 1 + .../node_modules/lodash/fp/__.js | 1 + .../node_modules/lodash/fp/_baseConvert.js | 569 + .../node_modules/lodash/fp/_convertBrowser.js | 18 + .../node_modules/lodash/fp/_falseOptions.js | 7 + .../node_modules/lodash/fp/_mapping.js | 358 + .../node_modules/lodash/fp/_util.js | 16 + .../node_modules/lodash/fp/add.js | 5 + .../node_modules/lodash/fp/after.js | 5 + .../node_modules/lodash/fp/all.js | 1 + .../node_modules/lodash/fp/allPass.js | 1 + .../node_modules/lodash/fp/always.js | 1 + .../node_modules/lodash/fp/any.js | 1 + .../node_modules/lodash/fp/anyPass.js | 1 + .../node_modules/lodash/fp/apply.js | 1 + .../node_modules/lodash/fp/array.js | 2 + .../node_modules/lodash/fp/ary.js | 5 + .../node_modules/lodash/fp/assign.js | 5 + .../node_modules/lodash/fp/assignAll.js | 5 + .../node_modules/lodash/fp/assignAllWith.js | 5 + .../node_modules/lodash/fp/assignIn.js | 5 + .../node_modules/lodash/fp/assignInAll.js | 5 + .../node_modules/lodash/fp/assignInAllWith.js | 5 + .../node_modules/lodash/fp/assignInWith.js | 5 + .../node_modules/lodash/fp/assignWith.js | 5 + .../node_modules/lodash/fp/assoc.js | 1 + .../node_modules/lodash/fp/assocPath.js | 1 + .../node_modules/lodash/fp/at.js | 5 + .../node_modules/lodash/fp/attempt.js | 5 + .../node_modules/lodash/fp/before.js | 5 + .../node_modules/lodash/fp/bind.js | 5 + .../node_modules/lodash/fp/bindAll.js | 5 + .../node_modules/lodash/fp/bindKey.js | 5 + .../node_modules/lodash/fp/camelCase.js | 5 + .../node_modules/lodash/fp/capitalize.js | 5 + .../node_modules/lodash/fp/castArray.js | 5 + .../node_modules/lodash/fp/ceil.js | 5 + .../node_modules/lodash/fp/chain.js | 5 + .../node_modules/lodash/fp/chunk.js | 5 + .../node_modules/lodash/fp/clamp.js | 5 + .../node_modules/lodash/fp/clone.js | 5 + .../node_modules/lodash/fp/cloneDeep.js | 5 + .../node_modules/lodash/fp/cloneDeepWith.js | 5 + .../node_modules/lodash/fp/cloneWith.js | 5 + .../node_modules/lodash/fp/collection.js | 2 + .../node_modules/lodash/fp/commit.js | 5 + .../node_modules/lodash/fp/compact.js | 5 + .../node_modules/lodash/fp/complement.js | 1 + .../node_modules/lodash/fp/compose.js | 1 + .../node_modules/lodash/fp/concat.js | 5 + .../node_modules/lodash/fp/cond.js | 5 + .../node_modules/lodash/fp/conforms.js | 1 + .../node_modules/lodash/fp/conformsTo.js | 5 + .../node_modules/lodash/fp/constant.js | 5 + .../node_modules/lodash/fp/contains.js | 1 + .../node_modules/lodash/fp/convert.js | 18 + .../node_modules/lodash/fp/countBy.js | 5 + .../node_modules/lodash/fp/create.js | 5 + .../node_modules/lodash/fp/curry.js | 5 + .../node_modules/lodash/fp/curryN.js | 5 + .../node_modules/lodash/fp/curryRight.js | 5 + .../node_modules/lodash/fp/curryRightN.js | 5 + .../node_modules/lodash/fp/date.js | 2 + .../node_modules/lodash/fp/debounce.js | 5 + .../node_modules/lodash/fp/deburr.js | 5 + .../node_modules/lodash/fp/defaultTo.js | 5 + .../node_modules/lodash/fp/defaults.js | 5 + .../node_modules/lodash/fp/defaultsAll.js | 5 + .../node_modules/lodash/fp/defaultsDeep.js | 5 + .../node_modules/lodash/fp/defaultsDeepAll.js | 5 + .../node_modules/lodash/fp/defer.js | 5 + .../node_modules/lodash/fp/delay.js | 5 + .../node_modules/lodash/fp/difference.js | 5 + .../node_modules/lodash/fp/differenceBy.js | 5 + .../node_modules/lodash/fp/differenceWith.js | 5 + .../node_modules/lodash/fp/dissoc.js | 1 + .../node_modules/lodash/fp/dissocPath.js | 1 + .../node_modules/lodash/fp/divide.js | 5 + .../node_modules/lodash/fp/drop.js | 5 + .../node_modules/lodash/fp/dropLast.js | 1 + .../node_modules/lodash/fp/dropLastWhile.js | 1 + .../node_modules/lodash/fp/dropRight.js | 5 + .../node_modules/lodash/fp/dropRightWhile.js | 5 + .../node_modules/lodash/fp/dropWhile.js | 5 + .../node_modules/lodash/fp/each.js | 1 + .../node_modules/lodash/fp/eachRight.js | 1 + .../node_modules/lodash/fp/endsWith.js | 5 + .../node_modules/lodash/fp/entries.js | 1 + .../node_modules/lodash/fp/entriesIn.js | 1 + .../node_modules/lodash/fp/eq.js | 5 + .../node_modules/lodash/fp/equals.js | 1 + .../node_modules/lodash/fp/escape.js | 5 + .../node_modules/lodash/fp/escapeRegExp.js | 5 + .../node_modules/lodash/fp/every.js | 5 + .../node_modules/lodash/fp/extend.js | 1 + .../node_modules/lodash/fp/extendAll.js | 1 + .../node_modules/lodash/fp/extendAllWith.js | 1 + .../node_modules/lodash/fp/extendWith.js | 1 + .../node_modules/lodash/fp/fill.js | 5 + .../node_modules/lodash/fp/filter.js | 5 + .../node_modules/lodash/fp/find.js | 5 + .../node_modules/lodash/fp/findFrom.js | 5 + .../node_modules/lodash/fp/findIndex.js | 5 + .../node_modules/lodash/fp/findIndexFrom.js | 5 + .../node_modules/lodash/fp/findKey.js | 5 + .../node_modules/lodash/fp/findLast.js | 5 + .../node_modules/lodash/fp/findLastFrom.js | 5 + .../node_modules/lodash/fp/findLastIndex.js | 5 + .../lodash/fp/findLastIndexFrom.js | 5 + .../node_modules/lodash/fp/findLastKey.js | 5 + .../node_modules/lodash/fp/first.js | 1 + .../node_modules/lodash/fp/flatMap.js | 5 + .../node_modules/lodash/fp/flatMapDeep.js | 5 + .../node_modules/lodash/fp/flatMapDepth.js | 5 + .../node_modules/lodash/fp/flatten.js | 5 + .../node_modules/lodash/fp/flattenDeep.js | 5 + .../node_modules/lodash/fp/flattenDepth.js | 5 + .../node_modules/lodash/fp/flip.js | 5 + .../node_modules/lodash/fp/floor.js | 5 + .../node_modules/lodash/fp/flow.js | 5 + .../node_modules/lodash/fp/flowRight.js | 5 + .../node_modules/lodash/fp/forEach.js | 5 + .../node_modules/lodash/fp/forEachRight.js | 5 + .../node_modules/lodash/fp/forIn.js | 5 + .../node_modules/lodash/fp/forInRight.js | 5 + .../node_modules/lodash/fp/forOwn.js | 5 + .../node_modules/lodash/fp/forOwnRight.js | 5 + .../node_modules/lodash/fp/fromPairs.js | 5 + .../node_modules/lodash/fp/function.js | 2 + .../node_modules/lodash/fp/functions.js | 5 + .../node_modules/lodash/fp/functionsIn.js | 5 + .../node_modules/lodash/fp/get.js | 5 + .../node_modules/lodash/fp/getOr.js | 5 + .../node_modules/lodash/fp/groupBy.js | 5 + .../node_modules/lodash/fp/gt.js | 5 + .../node_modules/lodash/fp/gte.js | 5 + .../node_modules/lodash/fp/has.js | 5 + .../node_modules/lodash/fp/hasIn.js | 5 + .../node_modules/lodash/fp/head.js | 5 + .../node_modules/lodash/fp/identical.js | 1 + .../node_modules/lodash/fp/identity.js | 5 + .../node_modules/lodash/fp/inRange.js | 5 + .../node_modules/lodash/fp/includes.js | 5 + .../node_modules/lodash/fp/includesFrom.js | 5 + .../node_modules/lodash/fp/indexBy.js | 1 + .../node_modules/lodash/fp/indexOf.js | 5 + .../node_modules/lodash/fp/indexOfFrom.js | 5 + .../node_modules/lodash/fp/init.js | 1 + .../node_modules/lodash/fp/initial.js | 5 + .../node_modules/lodash/fp/intersection.js | 5 + .../node_modules/lodash/fp/intersectionBy.js | 5 + .../lodash/fp/intersectionWith.js | 5 + .../node_modules/lodash/fp/invert.js | 5 + .../node_modules/lodash/fp/invertBy.js | 5 + .../node_modules/lodash/fp/invertObj.js | 1 + .../node_modules/lodash/fp/invoke.js | 5 + .../node_modules/lodash/fp/invokeArgs.js | 5 + .../node_modules/lodash/fp/invokeArgsMap.js | 5 + .../node_modules/lodash/fp/invokeMap.js | 5 + .../node_modules/lodash/fp/isArguments.js | 5 + .../node_modules/lodash/fp/isArray.js | 5 + .../node_modules/lodash/fp/isArrayBuffer.js | 5 + .../node_modules/lodash/fp/isArrayLike.js | 5 + .../lodash/fp/isArrayLikeObject.js | 5 + .../node_modules/lodash/fp/isBoolean.js | 5 + .../node_modules/lodash/fp/isBuffer.js | 5 + .../node_modules/lodash/fp/isDate.js | 5 + .../node_modules/lodash/fp/isElement.js | 5 + .../node_modules/lodash/fp/isEmpty.js | 5 + .../node_modules/lodash/fp/isEqual.js | 5 + .../node_modules/lodash/fp/isEqualWith.js | 5 + .../node_modules/lodash/fp/isError.js | 5 + .../node_modules/lodash/fp/isFinite.js | 5 + .../node_modules/lodash/fp/isFunction.js | 5 + .../node_modules/lodash/fp/isInteger.js | 5 + .../node_modules/lodash/fp/isLength.js | 5 + .../node_modules/lodash/fp/isMap.js | 5 + .../node_modules/lodash/fp/isMatch.js | 5 + .../node_modules/lodash/fp/isMatchWith.js | 5 + .../node_modules/lodash/fp/isNaN.js | 5 + .../node_modules/lodash/fp/isNative.js | 5 + .../node_modules/lodash/fp/isNil.js | 5 + .../node_modules/lodash/fp/isNull.js | 5 + .../node_modules/lodash/fp/isNumber.js | 5 + .../node_modules/lodash/fp/isObject.js | 5 + .../node_modules/lodash/fp/isObjectLike.js | 5 + .../node_modules/lodash/fp/isPlainObject.js | 5 + .../node_modules/lodash/fp/isRegExp.js | 5 + .../node_modules/lodash/fp/isSafeInteger.js | 5 + .../node_modules/lodash/fp/isSet.js | 5 + .../node_modules/lodash/fp/isString.js | 5 + .../node_modules/lodash/fp/isSymbol.js | 5 + .../node_modules/lodash/fp/isTypedArray.js | 5 + .../node_modules/lodash/fp/isUndefined.js | 5 + .../node_modules/lodash/fp/isWeakMap.js | 5 + .../node_modules/lodash/fp/isWeakSet.js | 5 + .../node_modules/lodash/fp/iteratee.js | 5 + .../node_modules/lodash/fp/join.js | 5 + .../node_modules/lodash/fp/juxt.js | 1 + .../node_modules/lodash/fp/kebabCase.js | 5 + .../node_modules/lodash/fp/keyBy.js | 5 + .../node_modules/lodash/fp/keys.js | 5 + .../node_modules/lodash/fp/keysIn.js | 5 + .../node_modules/lodash/fp/lang.js | 2 + .../node_modules/lodash/fp/last.js | 5 + .../node_modules/lodash/fp/lastIndexOf.js | 5 + .../node_modules/lodash/fp/lastIndexOfFrom.js | 5 + .../node_modules/lodash/fp/lowerCase.js | 5 + .../node_modules/lodash/fp/lowerFirst.js | 5 + .../node_modules/lodash/fp/lt.js | 5 + .../node_modules/lodash/fp/lte.js | 5 + .../node_modules/lodash/fp/map.js | 5 + .../node_modules/lodash/fp/mapKeys.js | 5 + .../node_modules/lodash/fp/mapValues.js | 5 + .../node_modules/lodash/fp/matches.js | 1 + .../node_modules/lodash/fp/matchesProperty.js | 5 + .../node_modules/lodash/fp/math.js | 2 + .../node_modules/lodash/fp/max.js | 5 + .../node_modules/lodash/fp/maxBy.js | 5 + .../node_modules/lodash/fp/mean.js | 5 + .../node_modules/lodash/fp/meanBy.js | 5 + .../node_modules/lodash/fp/memoize.js | 5 + .../node_modules/lodash/fp/merge.js | 5 + .../node_modules/lodash/fp/mergeAll.js | 5 + .../node_modules/lodash/fp/mergeAllWith.js | 5 + .../node_modules/lodash/fp/mergeWith.js | 5 + .../node_modules/lodash/fp/method.js | 5 + .../node_modules/lodash/fp/methodOf.js | 5 + .../node_modules/lodash/fp/min.js | 5 + .../node_modules/lodash/fp/minBy.js | 5 + .../node_modules/lodash/fp/mixin.js | 5 + .../node_modules/lodash/fp/multiply.js | 5 + .../node_modules/lodash/fp/nAry.js | 1 + .../node_modules/lodash/fp/negate.js | 5 + .../node_modules/lodash/fp/next.js | 5 + .../node_modules/lodash/fp/noop.js | 5 + .../node_modules/lodash/fp/now.js | 5 + .../node_modules/lodash/fp/nth.js | 5 + .../node_modules/lodash/fp/nthArg.js | 5 + .../node_modules/lodash/fp/number.js | 2 + .../node_modules/lodash/fp/object.js | 2 + .../node_modules/lodash/fp/omit.js | 5 + .../node_modules/lodash/fp/omitAll.js | 1 + .../node_modules/lodash/fp/omitBy.js | 5 + .../node_modules/lodash/fp/once.js | 5 + .../node_modules/lodash/fp/orderBy.js | 5 + .../node_modules/lodash/fp/over.js | 5 + .../node_modules/lodash/fp/overArgs.js | 5 + .../node_modules/lodash/fp/overEvery.js | 5 + .../node_modules/lodash/fp/overSome.js | 5 + .../node_modules/lodash/fp/pad.js | 5 + .../node_modules/lodash/fp/padChars.js | 5 + .../node_modules/lodash/fp/padCharsEnd.js | 5 + .../node_modules/lodash/fp/padCharsStart.js | 5 + .../node_modules/lodash/fp/padEnd.js | 5 + .../node_modules/lodash/fp/padStart.js | 5 + .../node_modules/lodash/fp/parseInt.js | 5 + .../node_modules/lodash/fp/partial.js | 5 + .../node_modules/lodash/fp/partialRight.js | 5 + .../node_modules/lodash/fp/partition.js | 5 + .../node_modules/lodash/fp/path.js | 1 + .../node_modules/lodash/fp/pathEq.js | 1 + .../node_modules/lodash/fp/pathOr.js | 1 + .../node_modules/lodash/fp/paths.js | 1 + .../node_modules/lodash/fp/pick.js | 5 + .../node_modules/lodash/fp/pickAll.js | 1 + .../node_modules/lodash/fp/pickBy.js | 5 + .../node_modules/lodash/fp/pipe.js | 1 + .../node_modules/lodash/fp/placeholder.js | 6 + .../node_modules/lodash/fp/plant.js | 5 + .../node_modules/lodash/fp/pluck.js | 1 + .../node_modules/lodash/fp/prop.js | 1 + .../node_modules/lodash/fp/propEq.js | 1 + .../node_modules/lodash/fp/propOr.js | 1 + .../node_modules/lodash/fp/property.js | 1 + .../node_modules/lodash/fp/propertyOf.js | 5 + .../node_modules/lodash/fp/props.js | 1 + .../node_modules/lodash/fp/pull.js | 5 + .../node_modules/lodash/fp/pullAll.js | 5 + .../node_modules/lodash/fp/pullAllBy.js | 5 + .../node_modules/lodash/fp/pullAllWith.js | 5 + .../node_modules/lodash/fp/pullAt.js | 5 + .../node_modules/lodash/fp/random.js | 5 + .../node_modules/lodash/fp/range.js | 5 + .../node_modules/lodash/fp/rangeRight.js | 5 + .../node_modules/lodash/fp/rangeStep.js | 5 + .../node_modules/lodash/fp/rangeStepRight.js | 5 + .../node_modules/lodash/fp/rearg.js | 5 + .../node_modules/lodash/fp/reduce.js | 5 + .../node_modules/lodash/fp/reduceRight.js | 5 + .../node_modules/lodash/fp/reject.js | 5 + .../node_modules/lodash/fp/remove.js | 5 + .../node_modules/lodash/fp/repeat.js | 5 + .../node_modules/lodash/fp/replace.js | 5 + .../node_modules/lodash/fp/rest.js | 5 + .../node_modules/lodash/fp/restFrom.js | 5 + .../node_modules/lodash/fp/result.js | 5 + .../node_modules/lodash/fp/reverse.js | 5 + .../node_modules/lodash/fp/round.js | 5 + .../node_modules/lodash/fp/sample.js | 5 + .../node_modules/lodash/fp/sampleSize.js | 5 + .../node_modules/lodash/fp/seq.js | 2 + .../node_modules/lodash/fp/set.js | 5 + .../node_modules/lodash/fp/setWith.js | 5 + .../node_modules/lodash/fp/shuffle.js | 5 + .../node_modules/lodash/fp/size.js | 5 + .../node_modules/lodash/fp/slice.js | 5 + .../node_modules/lodash/fp/snakeCase.js | 5 + .../node_modules/lodash/fp/some.js | 5 + .../node_modules/lodash/fp/sortBy.js | 5 + .../node_modules/lodash/fp/sortedIndex.js | 5 + .../node_modules/lodash/fp/sortedIndexBy.js | 5 + .../node_modules/lodash/fp/sortedIndexOf.js | 5 + .../node_modules/lodash/fp/sortedLastIndex.js | 5 + .../lodash/fp/sortedLastIndexBy.js | 5 + .../lodash/fp/sortedLastIndexOf.js | 5 + .../node_modules/lodash/fp/sortedUniq.js | 5 + .../node_modules/lodash/fp/sortedUniqBy.js | 5 + .../node_modules/lodash/fp/split.js | 5 + .../node_modules/lodash/fp/spread.js | 5 + .../node_modules/lodash/fp/spreadFrom.js | 5 + .../node_modules/lodash/fp/startCase.js | 5 + .../node_modules/lodash/fp/startsWith.js | 5 + .../node_modules/lodash/fp/string.js | 2 + .../node_modules/lodash/fp/stubArray.js | 5 + .../node_modules/lodash/fp/stubFalse.js | 5 + .../node_modules/lodash/fp/stubObject.js | 5 + .../node_modules/lodash/fp/stubString.js | 5 + .../node_modules/lodash/fp/stubTrue.js | 5 + .../node_modules/lodash/fp/subtract.js | 5 + .../node_modules/lodash/fp/sum.js | 5 + .../node_modules/lodash/fp/sumBy.js | 5 + .../lodash/fp/symmetricDifference.js | 1 + .../lodash/fp/symmetricDifferenceBy.js | 1 + .../lodash/fp/symmetricDifferenceWith.js | 1 + .../node_modules/lodash/fp/tail.js | 5 + .../node_modules/lodash/fp/take.js | 5 + .../node_modules/lodash/fp/takeLast.js | 1 + .../node_modules/lodash/fp/takeLastWhile.js | 1 + .../node_modules/lodash/fp/takeRight.js | 5 + .../node_modules/lodash/fp/takeRightWhile.js | 5 + .../node_modules/lodash/fp/takeWhile.js | 5 + .../node_modules/lodash/fp/tap.js | 5 + .../node_modules/lodash/fp/template.js | 5 + .../lodash/fp/templateSettings.js | 5 + .../node_modules/lodash/fp/throttle.js | 5 + .../node_modules/lodash/fp/thru.js | 5 + .../node_modules/lodash/fp/times.js | 5 + .../node_modules/lodash/fp/toArray.js | 5 + .../node_modules/lodash/fp/toFinite.js | 5 + .../node_modules/lodash/fp/toInteger.js | 5 + .../node_modules/lodash/fp/toIterator.js | 5 + .../node_modules/lodash/fp/toJSON.js | 5 + .../node_modules/lodash/fp/toLength.js | 5 + .../node_modules/lodash/fp/toLower.js | 5 + .../node_modules/lodash/fp/toNumber.js | 5 + .../node_modules/lodash/fp/toPairs.js | 5 + .../node_modules/lodash/fp/toPairsIn.js | 5 + .../node_modules/lodash/fp/toPath.js | 5 + .../node_modules/lodash/fp/toPlainObject.js | 5 + .../node_modules/lodash/fp/toSafeInteger.js | 5 + .../node_modules/lodash/fp/toString.js | 5 + .../node_modules/lodash/fp/toUpper.js | 5 + .../node_modules/lodash/fp/transform.js | 5 + .../node_modules/lodash/fp/trim.js | 5 + .../node_modules/lodash/fp/trimChars.js | 5 + .../node_modules/lodash/fp/trimCharsEnd.js | 5 + .../node_modules/lodash/fp/trimCharsStart.js | 5 + .../node_modules/lodash/fp/trimEnd.js | 5 + .../node_modules/lodash/fp/trimStart.js | 5 + .../node_modules/lodash/fp/truncate.js | 5 + .../node_modules/lodash/fp/unapply.js | 1 + .../node_modules/lodash/fp/unary.js | 5 + .../node_modules/lodash/fp/unescape.js | 5 + .../node_modules/lodash/fp/union.js | 5 + .../node_modules/lodash/fp/unionBy.js | 5 + .../node_modules/lodash/fp/unionWith.js | 5 + .../node_modules/lodash/fp/uniq.js | 5 + .../node_modules/lodash/fp/uniqBy.js | 5 + .../node_modules/lodash/fp/uniqWith.js | 5 + .../node_modules/lodash/fp/uniqueId.js | 5 + .../node_modules/lodash/fp/unnest.js | 1 + .../node_modules/lodash/fp/unset.js | 5 + .../node_modules/lodash/fp/unzip.js | 5 + .../node_modules/lodash/fp/unzipWith.js | 5 + .../node_modules/lodash/fp/update.js | 5 + .../node_modules/lodash/fp/updateWith.js | 5 + .../node_modules/lodash/fp/upperCase.js | 5 + .../node_modules/lodash/fp/upperFirst.js | 5 + .../node_modules/lodash/fp/useWith.js | 1 + .../node_modules/lodash/fp/util.js | 2 + .../node_modules/lodash/fp/value.js | 5 + .../node_modules/lodash/fp/valueOf.js | 5 + .../node_modules/lodash/fp/values.js | 5 + .../node_modules/lodash/fp/valuesIn.js | 5 + .../node_modules/lodash/fp/where.js | 1 + .../node_modules/lodash/fp/whereEq.js | 1 + .../node_modules/lodash/fp/without.js | 5 + .../node_modules/lodash/fp/words.js | 5 + .../node_modules/lodash/fp/wrap.js | 5 + .../node_modules/lodash/fp/wrapperAt.js | 5 + .../node_modules/lodash/fp/wrapperChain.js | 5 + .../node_modules/lodash/fp/wrapperLodash.js | 5 + .../node_modules/lodash/fp/wrapperReverse.js | 5 + .../node_modules/lodash/fp/wrapperValue.js | 5 + .../node_modules/lodash/fp/xor.js | 5 + .../node_modules/lodash/fp/xorBy.js | 5 + .../node_modules/lodash/fp/xorWith.js | 5 + .../node_modules/lodash/fp/zip.js | 5 + .../node_modules/lodash/fp/zipAll.js | 5 + .../node_modules/lodash/fp/zipObj.js | 1 + .../node_modules/lodash/fp/zipObject.js | 5 + .../node_modules/lodash/fp/zipObjectDeep.js | 5 + .../node_modules/lodash/fp/zipWith.js | 5 + .../node_modules/lodash/fromPairs.js | 28 + .../node_modules/lodash/function.js | 25 + .../node_modules/lodash/functions.js | 31 + .../node_modules/lodash/functionsIn.js | 31 + .../frontend-core/node_modules/lodash/get.js | 33 + .../node_modules/lodash/groupBy.js | 41 + .../frontend-core/node_modules/lodash/gt.js | 29 + .../frontend-core/node_modules/lodash/gte.js | 30 + .../frontend-core/node_modules/lodash/has.js | 35 + .../node_modules/lodash/hasIn.js | 34 + .../frontend-core/node_modules/lodash/head.js | 23 + .../node_modules/lodash/identity.js | 21 + .../node_modules/lodash/inRange.js | 55 + .../node_modules/lodash/includes.js | 53 + .../node_modules/lodash/index.js | 1 + .../node_modules/lodash/indexOf.js | 42 + .../node_modules/lodash/initial.js | 22 + .../node_modules/lodash/intersection.js | 30 + .../node_modules/lodash/intersectionBy.js | 45 + .../node_modules/lodash/intersectionWith.js | 41 + .../node_modules/lodash/invert.js | 42 + .../node_modules/lodash/invertBy.js | 56 + .../node_modules/lodash/invoke.js | 24 + .../node_modules/lodash/invokeMap.js | 41 + .../node_modules/lodash/isArguments.js | 36 + .../node_modules/lodash/isArray.js | 26 + .../node_modules/lodash/isArrayBuffer.js | 27 + .../node_modules/lodash/isArrayLike.js | 33 + .../node_modules/lodash/isArrayLikeObject.js | 33 + .../node_modules/lodash/isBoolean.js | 29 + .../node_modules/lodash/isBuffer.js | 38 + .../node_modules/lodash/isDate.js | 27 + .../node_modules/lodash/isElement.js | 25 + .../node_modules/lodash/isEmpty.js | 77 + .../node_modules/lodash/isEqual.js | 35 + .../node_modules/lodash/isEqualWith.js | 41 + .../node_modules/lodash/isError.js | 36 + .../node_modules/lodash/isFinite.js | 36 + .../node_modules/lodash/isFunction.js | 37 + .../node_modules/lodash/isInteger.js | 33 + .../node_modules/lodash/isLength.js | 35 + .../node_modules/lodash/isMap.js | 27 + .../node_modules/lodash/isMatch.js | 36 + .../node_modules/lodash/isMatchWith.js | 41 + .../node_modules/lodash/isNaN.js | 38 + .../node_modules/lodash/isNative.js | 40 + .../node_modules/lodash/isNil.js | 25 + .../node_modules/lodash/isNull.js | 22 + .../node_modules/lodash/isNumber.js | 38 + .../node_modules/lodash/isObject.js | 31 + .../node_modules/lodash/isObjectLike.js | 29 + .../node_modules/lodash/isPlainObject.js | 62 + .../node_modules/lodash/isRegExp.js | 27 + .../node_modules/lodash/isSafeInteger.js | 37 + .../node_modules/lodash/isSet.js | 27 + .../node_modules/lodash/isString.js | 30 + .../node_modules/lodash/isSymbol.js | 29 + .../node_modules/lodash/isTypedArray.js | 27 + .../node_modules/lodash/isUndefined.js | 22 + .../node_modules/lodash/isWeakMap.js | 28 + .../node_modules/lodash/isWeakSet.js | 28 + .../node_modules/lodash/iteratee.js | 53 + .../frontend-core/node_modules/lodash/join.js | 26 + .../node_modules/lodash/kebabCase.js | 28 + .../node_modules/lodash/keyBy.js | 36 + .../frontend-core/node_modules/lodash/keys.js | 37 + .../node_modules/lodash/keysIn.js | 32 + .../frontend-core/node_modules/lodash/lang.js | 58 + .../frontend-core/node_modules/lodash/last.js | 20 + .../node_modules/lodash/lastIndexOf.js | 46 + .../node_modules/lodash/lodash.js | 17209 +++++++++ .../node_modules/lodash/lodash.min.js | 140 + .../node_modules/lodash/lowerCase.js | 27 + .../node_modules/lodash/lowerFirst.js | 22 + .../frontend-core/node_modules/lodash/lt.js | 29 + .../frontend-core/node_modules/lodash/lte.js | 30 + .../frontend-core/node_modules/lodash/map.js | 53 + .../node_modules/lodash/mapKeys.js | 36 + .../node_modules/lodash/mapValues.js | 43 + .../node_modules/lodash/matches.js | 46 + .../node_modules/lodash/matchesProperty.js | 44 + .../frontend-core/node_modules/lodash/math.js | 17 + .../frontend-core/node_modules/lodash/max.js | 29 + .../node_modules/lodash/maxBy.js | 34 + .../frontend-core/node_modules/lodash/mean.js | 22 + .../node_modules/lodash/meanBy.js | 31 + .../node_modules/lodash/memoize.js | 73 + .../node_modules/lodash/merge.js | 39 + .../node_modules/lodash/mergeWith.js | 39 + .../node_modules/lodash/method.js | 34 + .../node_modules/lodash/methodOf.js | 33 + .../frontend-core/node_modules/lodash/min.js | 29 + .../node_modules/lodash/minBy.js | 34 + .../node_modules/lodash/mixin.js | 74 + .../node_modules/lodash/multiply.js | 22 + .../node_modules/lodash/negate.js | 40 + .../frontend-core/node_modules/lodash/next.js | 35 + .../frontend-core/node_modules/lodash/noop.js | 17 + .../frontend-core/node_modules/lodash/now.js | 23 + .../frontend-core/node_modules/lodash/nth.js | 29 + .../node_modules/lodash/nthArg.js | 32 + .../node_modules/lodash/number.js | 5 + .../node_modules/lodash/object.js | 49 + .../frontend-core/node_modules/lodash/omit.js | 57 + .../node_modules/lodash/omitBy.js | 29 + .../frontend-core/node_modules/lodash/once.js | 25 + .../node_modules/lodash/orderBy.js | 47 + .../frontend-core/node_modules/lodash/over.js | 24 + .../node_modules/lodash/overArgs.js | 61 + .../node_modules/lodash/overEvery.js | 34 + .../node_modules/lodash/overSome.js | 37 + .../node_modules/lodash/package.json | 17 + .../frontend-core/node_modules/lodash/pad.js | 49 + .../node_modules/lodash/padEnd.js | 39 + .../node_modules/lodash/padStart.js | 39 + .../node_modules/lodash/parseInt.js | 43 + .../node_modules/lodash/partial.js | 50 + .../node_modules/lodash/partialRight.js | 49 + .../node_modules/lodash/partition.js | 43 + .../frontend-core/node_modules/lodash/pick.js | 25 + .../node_modules/lodash/pickBy.js | 37 + .../node_modules/lodash/plant.js | 48 + .../node_modules/lodash/property.js | 32 + .../node_modules/lodash/propertyOf.js | 30 + .../frontend-core/node_modules/lodash/pull.js | 29 + .../node_modules/lodash/pullAll.js | 29 + .../node_modules/lodash/pullAllBy.js | 33 + .../node_modules/lodash/pullAllWith.js | 32 + .../node_modules/lodash/pullAt.js | 43 + .../node_modules/lodash/random.js | 82 + .../node_modules/lodash/range.js | 46 + .../node_modules/lodash/rangeRight.js | 41 + .../node_modules/lodash/rearg.js | 33 + .../node_modules/lodash/reduce.js | 51 + .../node_modules/lodash/reduceRight.js | 36 + .../node_modules/lodash/reject.js | 46 + .../node_modules/lodash/release.md | 48 + .../node_modules/lodash/remove.js | 53 + .../node_modules/lodash/repeat.js | 37 + .../node_modules/lodash/replace.js | 29 + .../frontend-core/node_modules/lodash/rest.js | 40 + .../node_modules/lodash/result.js | 56 + .../node_modules/lodash/reverse.js | 34 + .../node_modules/lodash/round.js | 26 + .../node_modules/lodash/sample.js | 24 + .../node_modules/lodash/sampleSize.js | 37 + .../frontend-core/node_modules/lodash/seq.js | 16 + .../frontend-core/node_modules/lodash/set.js | 35 + .../node_modules/lodash/setWith.js | 32 + .../node_modules/lodash/shuffle.js | 25 + .../frontend-core/node_modules/lodash/size.js | 46 + .../node_modules/lodash/slice.js | 37 + .../node_modules/lodash/snakeCase.js | 28 + .../frontend-core/node_modules/lodash/some.js | 51 + .../node_modules/lodash/sortBy.js | 48 + .../node_modules/lodash/sortedIndex.js | 24 + .../node_modules/lodash/sortedIndexBy.js | 33 + .../node_modules/lodash/sortedIndexOf.js | 31 + .../node_modules/lodash/sortedLastIndex.js | 25 + .../node_modules/lodash/sortedLastIndexBy.js | 33 + .../node_modules/lodash/sortedLastIndexOf.js | 31 + .../node_modules/lodash/sortedUniq.js | 24 + .../node_modules/lodash/sortedUniqBy.js | 26 + .../node_modules/lodash/split.js | 52 + .../node_modules/lodash/spread.js | 63 + .../node_modules/lodash/startCase.js | 29 + .../node_modules/lodash/startsWith.js | 39 + .../node_modules/lodash/string.js | 33 + .../node_modules/lodash/stubArray.js | 23 + .../node_modules/lodash/stubFalse.js | 18 + .../node_modules/lodash/stubObject.js | 23 + .../node_modules/lodash/stubString.js | 18 + .../node_modules/lodash/stubTrue.js | 18 + .../node_modules/lodash/subtract.js | 22 + .../frontend-core/node_modules/lodash/sum.js | 24 + .../node_modules/lodash/sumBy.js | 33 + .../frontend-core/node_modules/lodash/tail.js | 22 + .../frontend-core/node_modules/lodash/take.js | 37 + .../node_modules/lodash/takeRight.js | 39 + .../node_modules/lodash/takeRightWhile.js | 45 + .../node_modules/lodash/takeWhile.js | 45 + .../frontend-core/node_modules/lodash/tap.js | 29 + .../node_modules/lodash/template.js | 272 + .../node_modules/lodash/templateSettings.js | 67 + .../node_modules/lodash/throttle.js | 69 + .../frontend-core/node_modules/lodash/thru.js | 28 + .../node_modules/lodash/times.js | 51 + .../node_modules/lodash/toArray.js | 58 + .../node_modules/lodash/toFinite.js | 42 + .../node_modules/lodash/toInteger.js | 36 + .../node_modules/lodash/toIterator.js | 23 + .../node_modules/lodash/toJSON.js | 1 + .../node_modules/lodash/toLength.js | 38 + .../node_modules/lodash/toLower.js | 28 + .../node_modules/lodash/toNumber.js | 64 + .../node_modules/lodash/toPairs.js | 30 + .../node_modules/lodash/toPairsIn.js | 30 + .../node_modules/lodash/toPath.js | 33 + .../node_modules/lodash/toPlainObject.js | 32 + .../node_modules/lodash/toSafeInteger.js | 37 + .../node_modules/lodash/toString.js | 28 + .../node_modules/lodash/toUpper.js | 28 + .../node_modules/lodash/transform.js | 65 + .../frontend-core/node_modules/lodash/trim.js | 47 + .../node_modules/lodash/trimEnd.js | 41 + .../node_modules/lodash/trimStart.js | 43 + .../node_modules/lodash/truncate.js | 111 + .../node_modules/lodash/unary.js | 22 + .../node_modules/lodash/unescape.js | 34 + .../node_modules/lodash/union.js | 26 + .../node_modules/lodash/unionBy.js | 39 + .../node_modules/lodash/unionWith.js | 34 + .../frontend-core/node_modules/lodash/uniq.js | 25 + .../node_modules/lodash/uniqBy.js | 31 + .../node_modules/lodash/uniqWith.js | 28 + .../node_modules/lodash/uniqueId.js | 28 + .../node_modules/lodash/unset.js | 34 + .../node_modules/lodash/unzip.js | 45 + .../node_modules/lodash/unzipWith.js | 39 + .../node_modules/lodash/update.js | 35 + .../node_modules/lodash/updateWith.js | 33 + .../node_modules/lodash/upperCase.js | 27 + .../node_modules/lodash/upperFirst.js | 22 + .../frontend-core/node_modules/lodash/util.js | 34 + .../node_modules/lodash/value.js | 1 + .../node_modules/lodash/valueOf.js | 1 + .../node_modules/lodash/values.js | 34 + .../node_modules/lodash/valuesIn.js | 32 + .../node_modules/lodash/without.js | 31 + .../node_modules/lodash/words.js | 35 + .../frontend-core/node_modules/lodash/wrap.js | 30 + .../node_modules/lodash/wrapperAt.js | 48 + .../node_modules/lodash/wrapperChain.js | 34 + .../node_modules/lodash/wrapperLodash.js | 147 + .../node_modules/lodash/wrapperReverse.js | 44 + .../node_modules/lodash/wrapperValue.js | 21 + .../frontend-core/node_modules/lodash/xor.js | 28 + .../node_modules/lodash/xorBy.js | 39 + .../node_modules/lodash/xorWith.js | 34 + .../frontend-core/node_modules/lodash/zip.js | 22 + .../node_modules/lodash/zipObject.js | 24 + .../node_modules/lodash/zipObjectDeep.js | 23 + .../node_modules/lodash/zipWith.js | 32 + .../node_modules/svelte/CHANGELOG.md | 2387 ++ .../node_modules/svelte/LICENSE.md | 7 + .../node_modules/svelte/README.md | 75 + .../node_modules/svelte/animate/index.d.ts | 1 + .../node_modules/svelte/animate/index.js | 29 + .../node_modules/svelte/animate/index.mjs | 25 + .../node_modules/svelte/animate/package.json | 5 + .../node_modules/svelte/compiler.d.ts | 1 + .../node_modules/svelte/compiler.js | 32182 ++++++++++++++++ .../node_modules/svelte/compiler.js.map | 1 + .../node_modules/svelte/compiler.mjs | 32168 +++++++++++++++ .../node_modules/svelte/compiler.mjs.map | 1 + .../node_modules/svelte/easing/index.d.ts | 1 + .../node_modules/svelte/easing/index.js | 183 + .../node_modules/svelte/easing/index.mjs | 144 + .../node_modules/svelte/easing/package.json | 5 + .../node_modules/svelte/index.js | 80 + .../node_modules/svelte/index.mjs | 1 + .../node_modules/svelte/internal/index.d.ts | 1 + .../node_modules/svelte/internal/index.js | 2294 ++ .../node_modules/svelte/internal/index.mjs | 2122 + .../node_modules/svelte/internal/package.json | 5 + .../node_modules/svelte/motion/index.d.ts | 1 + .../node_modules/svelte/motion/index.js | 216 + .../node_modules/svelte/motion/index.mjs | 211 + .../node_modules/svelte/motion/package.json | 5 + .../node_modules/svelte/package.json | 166 + .../node_modules/svelte/register.js | 56 + .../frontend-core/node_modules/svelte/ssr.js | 67 + .../frontend-core/node_modules/svelte/ssr.mjs | 7 + .../node_modules/svelte/store/index.d.ts | 1 + .../node_modules/svelte/store/index.js | 114 + .../node_modules/svelte/store/index.mjs | 103 + .../node_modules/svelte/store/package.json | 5 + .../node_modules/svelte/transition/index.d.ts | 1 + .../node_modules/svelte/transition/index.js | 192 + .../node_modules/svelte/transition/index.mjs | 182 + .../svelte/transition/package.json | 5 + .../svelte/types/compiler/Stats.d.ts | 22 + .../types/compiler/compile/Component.d.ts | 124 + .../compiler/compile/compiler_errors.d.ts | 1 + .../compiler/compile/compiler_warnings.d.ts | 1 + .../types/compiler/compile/create_module.d.ts | 14 + .../types/compiler/compile/css/Selector.d.ts | 32 + .../compiler/compile/css/Stylesheet.d.ts | 67 + .../compile/css/gather_possible_values.d.ts | 3 + .../compiler/compile/css/interfaces.d.ts | 6 + .../svelte/types/compiler/compile/index.d.ts | 13 + .../compiler/compile/internal_exports.d.ts | 2 + .../types/compiler/compile/nodes/Action.d.ts | 13 + .../compiler/compile/nodes/Animation.d.ts | 12 + .../compiler/compile/nodes/Attribute.d.ts | 30 + .../compiler/compile/nodes/AwaitBlock.d.ts | 22 + .../types/compiler/compile/nodes/Binding.d.ts | 19 + .../types/compiler/compile/nodes/Body.d.ts | 12 + .../compiler/compile/nodes/CatchBlock.d.ts | 12 + .../types/compiler/compile/nodes/Class.d.ts | 11 + .../types/compiler/compile/nodes/Comment.d.ts | 10 + .../compiler/compile/nodes/ConstTag.d.ts | 18 + .../compiler/compile/nodes/DebugTag.d.ts | 11 + .../compile/nodes/DefaultSlotTemplate.d.ts | 13 + .../compiler/compile/nodes/EachBlock.d.ts | 26 + .../types/compiler/compile/nodes/Element.d.ts | 44 + .../compiler/compile/nodes/ElseBlock.d.ts | 9 + .../compiler/compile/nodes/EventHandler.d.ts | 17 + .../compiler/compile/nodes/Fragment.d.ts | 13 + .../types/compiler/compile/nodes/Head.d.ts | 10 + .../types/compiler/compile/nodes/IfBlock.d.ts | 13 + .../compile/nodes/InlineComponent.d.ts | 24 + .../compiler/compile/nodes/KeyBlock.d.ts | 11 + .../types/compiler/compile/nodes/Let.d.ts | 12 + .../compiler/compile/nodes/MustacheTag.d.ts | 4 + .../types/compiler/compile/nodes/Options.d.ts | 4 + .../compiler/compile/nodes/PendingBlock.d.ts | 9 + .../compile/nodes/RawMustacheTag.d.ts | 4 + .../types/compiler/compile/nodes/Slot.d.ts | 14 + .../compiler/compile/nodes/SlotTemplate.d.ts | 18 + .../types/compiler/compile/nodes/Style.d.ts | 12 + .../compile/nodes/StyleDirective.d.ts | 12 + .../types/compiler/compile/nodes/Text.d.ts | 12 + .../compiler/compile/nodes/ThenBlock.d.ts | 12 + .../types/compiler/compile/nodes/Title.d.ts | 11 + .../compiler/compile/nodes/Transition.d.ts | 14 + .../types/compiler/compile/nodes/Window.d.ts | 14 + .../compiler/compile/nodes/interfaces.d.ts | 36 + .../compile/nodes/shared/AbstractBlock.d.ts | 10 + .../compile/nodes/shared/Context.d.ts | 17 + .../compile/nodes/shared/Expression.d.ts | 26 + .../compiler/compile/nodes/shared/Node.d.ts | 21 + .../compiler/compile/nodes/shared/Tag.d.ts | 8 + .../compile/nodes/shared/TemplateScope.d.ts | 23 + .../compile/nodes/shared/get_const_tags.d.ts | 5 + .../compile/nodes/shared/is_contextual.d.ts | 3 + .../compile/nodes/shared/map_children.d.ts | 21 + .../compiler/compile/render_dom/Block.d.ts | 81 + .../compiler/compile/render_dom/Renderer.d.ts | 46 + .../compiler/compile/render_dom/index.d.ts | 7 + .../compile/render_dom/invalidate.d.ts | 5 + .../render_dom/wrappers/AwaitBlock.d.ts | 39 + .../compile/render_dom/wrappers/Body.d.ts | 13 + .../compile/render_dom/wrappers/DebugTag.d.ts | 10 + .../render_dom/wrappers/EachBlock.d.ts | 56 + .../wrappers/Element/Attribute.d.ts | 42 + .../render_dom/wrappers/Element/Binding.d.ts | 24 + .../wrappers/Element/EventHandler.d.ts | 11 + .../wrappers/Element/SpreadAttribute.d.ts | 3 + .../wrappers/Element/StyleAttribute.d.ts | 16 + .../Element/fix_attribute_casing.d.ts | 1 + .../Element/handle_select_value_binding.d.ts | 3 + .../render_dom/wrappers/Element/index.d.ts | 204 + .../compile/render_dom/wrappers/Fragment.d.ts | 10 + .../compile/render_dom/wrappers/Head.d.ts | 12 + .../compile/render_dom/wrappers/IfBlock.d.ts | 47 + .../wrappers/InlineComponent/index.d.ts | 25 + .../compile/render_dom/wrappers/KeyBlock.d.ts | 18 + .../render_dom/wrappers/MustacheTag.d.ts | 12 + .../render_dom/wrappers/RawMustacheTag.d.ts | 12 + .../compile/render_dom/wrappers/Slot.d.ts | 17 + .../render_dom/wrappers/SlotTemplate.d.ts | 15 + .../compile/render_dom/wrappers/Text.d.ts | 14 + .../compile/render_dom/wrappers/Title.d.ts | 10 + .../compile/render_dom/wrappers/Window.d.ts | 13 + .../render_dom/wrappers/shared/Tag.d.ts | 14 + .../render_dom/wrappers/shared/Wrapper.d.ts | 21 + .../wrappers/shared/add_actions.d.ts | 5 + .../wrappers/shared/add_const_tags.d.ts | 5 + .../wrappers/shared/add_event_handlers.d.ts | 5 + .../render_dom/wrappers/shared/bind_this.d.ts | 5 + .../shared/create_debugging_comment.d.ts | 3 + .../wrappers/shared/get_slot_definition.d.ts | 177 + .../wrappers/shared/is_dynamic.d.ts | 2 + .../render_dom/wrappers/shared/is_head.d.ts | 1 + .../shared/mark_each_block_bindings.d.ts | 4 + .../compiler/compile/render_ssr/Renderer.d.ts | 33 + .../render_ssr/handlers/AwaitBlock.d.ts | 3 + .../compile/render_ssr/handlers/Comment.d.ts | 3 + .../compile/render_ssr/handlers/DebugTag.d.ts | 3 + .../render_ssr/handlers/EachBlock.d.ts | 3 + .../compile/render_ssr/handlers/Element.d.ts | 3 + .../compile/render_ssr/handlers/Head.d.ts | 3 + .../compile/render_ssr/handlers/HtmlTag.d.ts | 3 + .../compile/render_ssr/handlers/IfBlock.d.ts | 3 + .../render_ssr/handlers/InlineComponent.d.ts | 3 + .../compile/render_ssr/handlers/KeyBlock.d.ts | 3 + .../compile/render_ssr/handlers/Slot.d.ts | 5 + .../render_ssr/handlers/SlotTemplate.d.ts | 5 + .../compile/render_ssr/handlers/Tag.d.ts | 2 + .../compile/render_ssr/handlers/Text.d.ts | 3 + .../compile/render_ssr/handlers/Title.d.ts | 3 + .../handlers/shared/boolean_attributes.d.ts | 1 + .../handlers/shared/get_attribute_value.d.ts | 5 + .../handlers/shared/get_const_tags.d.ts | 10 + .../handlers/shared/get_slot_scope.d.ts | 3 + .../utils/remove_whitespace_children.d.ts | 2 + .../compiler/compile/render_ssr/index.d.ts | 7 + .../compiler/compile/utils/__test__.d.ts | 1 + .../compiler/compile/utils/add_to_set.d.ts | 1 + .../compile/utils/check_enable_sourcemap.d.ts | 2 + .../compile/utils/check_graph_for_cycles.d.ts | 1 + .../compiler/compile/utils/compare_node.d.ts | 2 + .../compile/utils/flatten_reference.d.ts | 6 + .../compile/utils/get_name_from_filename.d.ts | 1 + .../compiler/compile/utils/get_object.d.ts | 2 + .../compiler/compile/utils/get_slot_data.d.ts | 15 + .../types/compiler/compile/utils/hash.d.ts | 1 + .../compile/utils/is_used_as_reference.d.ts | 2 + .../utils/nodes_to_template_literal.d.ts | 7 + .../compile/utils/replace_object.d.ts | 2 + .../compile/utils/reserved_keywords.d.ts | 2 + .../types/compiler/compile/utils/scope.d.ts | 8 + .../utils/string_to_member_expression.d.ts | 2 + .../compiler/compile/utils/stringify.d.ts | 9 + .../svelte/types/compiler/config.d.ts | 1 + .../svelte/types/compiler/index.d.ts | 5 + .../svelte/types/compiler/interfaces.d.ts | 186 + .../svelte/types/compiler/parse/acorn.d.ts | 3 + .../svelte/types/compiler/parse/errors.d.ts | 1 + .../svelte/types/compiler/parse/index.d.ts | 38 + .../types/compiler/parse/read/context.d.ts | 6 + .../types/compiler/parse/read/expression.d.ts | 3 + .../types/compiler/parse/read/script.d.ts | 4 + .../types/compiler/parse/read/style.d.ts | 4 + .../types/compiler/parse/state/fragment.d.ts | 3 + .../types/compiler/parse/state/mustache.d.ts | 2 + .../types/compiler/parse/state/tag.d.ts | 2 + .../types/compiler/parse/state/text.d.ts | 2 + .../types/compiler/parse/utils/bracket.d.ts | 4 + .../types/compiler/parse/utils/entities.d.ts | 2034 + .../types/compiler/parse/utils/html.d.ts | 2 + .../types/compiler/parse/utils/node.d.ts | 2 + .../compiler/preprocess/decode_sourcemap.d.ts | 2 + .../types/compiler/preprocess/index.d.ts | 5 + .../compiler/preprocess/replace_in_code.d.ts | 4 + .../types/compiler/preprocess/types.d.ts | 27 + .../svelte/types/compiler/utils/clone.d.ts | 1 + .../svelte/types/compiler/utils/error.d.ts | 8 + .../compiler/utils/extract_svelte_ignore.d.ts | 8 + .../svelte/types/compiler/utils/flatten.d.ts | 2 + .../compiler/utils/full_char_code_at.d.ts | 1 + .../types/compiler/utils/fuzzymatch.d.ts | 1 + .../types/compiler/utils/get_code_frame.d.ts | 1 + .../svelte/types/compiler/utils/link.d.ts | 4 + .../svelte/types/compiler/utils/list.d.ts | 1 + .../types/compiler/utils/mapped_code.d.ts | 23 + .../svelte/types/compiler/utils/names.d.ts | 5 + .../types/compiler/utils/namespaces.d.ts | 9 + .../types/compiler/utils/nodes_match.d.ts | 1 + .../svelte/types/compiler/utils/patterns.d.ts | 4 + .../svelte/types/compiler/utils/trim.d.ts | 2 + .../svelte/types/runtime/ambient.d.ts | 3 + .../svelte/types/runtime/animate/index.d.ts | 16 + .../svelte/types/runtime/easing/index.d.ts | 31 + .../svelte/types/runtime/index.d.ts | 2 + .../types/runtime/internal/Component.d.ts | 54 + .../types/runtime/internal/animations.d.ts | 11 + .../types/runtime/internal/await_block.d.ts | 2 + .../svelte/types/runtime/internal/dev.d.ts | 125 + .../svelte/types/runtime/internal/dom.d.ts | 99 + .../types/runtime/internal/environment.d.ts | 6 + .../types/runtime/internal/globals.d.ts | 1 + .../svelte/types/runtime/internal/index.d.ts | 15 + .../types/runtime/internal/keyed_each.d.ts | 6 + .../types/runtime/internal/lifecycle.d.ts | 13 + .../svelte/types/runtime/internal/loop.d.ts | 15 + .../types/runtime/internal/scheduler.d.ts | 10 + .../svelte/types/runtime/internal/spread.d.ts | 2 + .../svelte/types/runtime/internal/ssr.d.ts | 36 + .../types/runtime/internal/style_manager.d.ts | 3 + .../types/runtime/internal/transitions.d.ts | 20 + .../svelte/types/runtime/internal/utils.d.ts | 31 + .../svelte/types/runtime/motion/index.d.ts | 2 + .../svelte/types/runtime/motion/spring.d.ts | 20 + .../svelte/types/runtime/motion/tweened.d.ts | 14 + .../svelte/types/runtime/motion/utils.d.ts | 1 + .../svelte/types/runtime/ssr.d.ts | 4 + .../svelte/types/runtime/store/index.d.ts | 82 + .../types/runtime/transition/index.d.ts | 66 + packages/frontend-core/package.json | 12 + .../src/api/analytics.js | 0 packages/frontend-core/src/api/api.js | 145 + .../{client => frontend-core}/src/api/app.js | 0 .../src/api/attachments.js | 0 .../{client => frontend-core}/src/api/auth.js | 0 .../src/api/automations.js | 0 .../src/api/index.js | 0 .../src/api/queries.js | 0 .../src/api/relationships.js | 0 .../src/api/routes.js | 0 .../{client => frontend-core}/src/api/rows.js | 0 .../src/api/tables.js | 0 .../src/api/views.js | 0 packages/frontend-core/src/constants.js | 7 + .../src}/fetch/DataFetch.js | 4 +- .../src}/fetch/FieldFetch.js | 0 .../src}/fetch/JSONArrayFetch.js | 4 +- .../src}/fetch/NestedProviderFetch.js | 0 .../src}/fetch/QueryFetch.js | 2 +- .../src}/fetch/RelationshipFetch.js | 2 +- .../src}/fetch/TableFetch.js | 2 +- .../src}/fetch/ViewFetch.js | 2 +- .../src}/fetch/fetchData.js | 2 + packages/frontend-core/src/index.js | 9 + .../src/stores}/localStorage.js | 2 +- .../src/utils}/cookies.js | 0 .../src/utils/helpers.js | 46 +- .../src/utils/json.js} | 0 .../src/utils}/lucene.js | 65 +- .../src/utils/schema.js | 16 +- packages/frontend-core/yarn.lock | 13 + 1335 files changed, 122880 insertions(+), 278 deletions(-) delete mode 100644 packages/builder/src/builderStore/uuid.js delete mode 100644 packages/client/src/api/api.js delete mode 100644 packages/client/src/utils/helpers.js create mode 100644 packages/frontend-core/node_modules/lodash/LICENSE create mode 100644 packages/frontend-core/node_modules/lodash/README.md create mode 100644 packages/frontend-core/node_modules/lodash/_DataView.js create mode 100644 packages/frontend-core/node_modules/lodash/_Hash.js create mode 100644 packages/frontend-core/node_modules/lodash/_LazyWrapper.js create mode 100644 packages/frontend-core/node_modules/lodash/_ListCache.js create mode 100644 packages/frontend-core/node_modules/lodash/_LodashWrapper.js create mode 100644 packages/frontend-core/node_modules/lodash/_Map.js create mode 100644 packages/frontend-core/node_modules/lodash/_MapCache.js create mode 100644 packages/frontend-core/node_modules/lodash/_Promise.js create mode 100644 packages/frontend-core/node_modules/lodash/_Set.js create mode 100644 packages/frontend-core/node_modules/lodash/_SetCache.js create mode 100644 packages/frontend-core/node_modules/lodash/_Stack.js create mode 100644 packages/frontend-core/node_modules/lodash/_Symbol.js create mode 100644 packages/frontend-core/node_modules/lodash/_Uint8Array.js create mode 100644 packages/frontend-core/node_modules/lodash/_WeakMap.js create mode 100644 packages/frontend-core/node_modules/lodash/_apply.js create mode 100644 packages/frontend-core/node_modules/lodash/_arrayAggregator.js create mode 100644 packages/frontend-core/node_modules/lodash/_arrayEach.js create mode 100644 packages/frontend-core/node_modules/lodash/_arrayEachRight.js create mode 100644 packages/frontend-core/node_modules/lodash/_arrayEvery.js create mode 100644 packages/frontend-core/node_modules/lodash/_arrayFilter.js create mode 100644 packages/frontend-core/node_modules/lodash/_arrayIncludes.js create mode 100644 packages/frontend-core/node_modules/lodash/_arrayIncludesWith.js create mode 100644 packages/frontend-core/node_modules/lodash/_arrayLikeKeys.js create mode 100644 packages/frontend-core/node_modules/lodash/_arrayMap.js create mode 100644 packages/frontend-core/node_modules/lodash/_arrayPush.js create mode 100644 packages/frontend-core/node_modules/lodash/_arrayReduce.js create mode 100644 packages/frontend-core/node_modules/lodash/_arrayReduceRight.js create mode 100644 packages/frontend-core/node_modules/lodash/_arraySample.js create mode 100644 packages/frontend-core/node_modules/lodash/_arraySampleSize.js create mode 100644 packages/frontend-core/node_modules/lodash/_arrayShuffle.js create mode 100644 packages/frontend-core/node_modules/lodash/_arraySome.js create mode 100644 packages/frontend-core/node_modules/lodash/_asciiSize.js create mode 100644 packages/frontend-core/node_modules/lodash/_asciiToArray.js create mode 100644 packages/frontend-core/node_modules/lodash/_asciiWords.js create mode 100644 packages/frontend-core/node_modules/lodash/_assignMergeValue.js create mode 100644 packages/frontend-core/node_modules/lodash/_assignValue.js create mode 100644 packages/frontend-core/node_modules/lodash/_assocIndexOf.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseAggregator.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseAssign.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseAssignIn.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseAssignValue.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseAt.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseClamp.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseClone.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseConforms.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseConformsTo.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseCreate.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseDelay.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseDifference.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseEach.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseEachRight.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseEvery.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseExtremum.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseFill.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseFilter.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseFindIndex.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseFindKey.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseFlatten.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseFor.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseForOwn.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseForOwnRight.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseForRight.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseFunctions.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseGet.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseGetAllKeys.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseGetTag.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseGt.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseHas.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseHasIn.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseInRange.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseIndexOf.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseIndexOfWith.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseIntersection.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseInverter.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseInvoke.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseIsArguments.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseIsArrayBuffer.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseIsDate.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseIsEqual.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseIsEqualDeep.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseIsMap.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseIsMatch.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseIsNaN.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseIsNative.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseIsRegExp.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseIsSet.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseIsTypedArray.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseIteratee.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseKeys.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseKeysIn.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseLodash.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseLt.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseMap.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseMatches.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseMatchesProperty.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseMean.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseMerge.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseMergeDeep.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseNth.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseOrderBy.js create mode 100644 packages/frontend-core/node_modules/lodash/_basePick.js create mode 100644 packages/frontend-core/node_modules/lodash/_basePickBy.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseProperty.js create mode 100644 packages/frontend-core/node_modules/lodash/_basePropertyDeep.js create mode 100644 packages/frontend-core/node_modules/lodash/_basePropertyOf.js create mode 100644 packages/frontend-core/node_modules/lodash/_basePullAll.js create mode 100644 packages/frontend-core/node_modules/lodash/_basePullAt.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseRandom.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseRange.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseReduce.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseRepeat.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseRest.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseSample.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseSampleSize.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseSet.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseSetData.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseSetToString.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseShuffle.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseSlice.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseSome.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseSortBy.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseSortedIndex.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseSortedIndexBy.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseSortedUniq.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseSum.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseTimes.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseToNumber.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseToPairs.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseToString.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseTrim.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseUnary.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseUniq.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseUnset.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseUpdate.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseValues.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseWhile.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseWrapperValue.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseXor.js create mode 100644 packages/frontend-core/node_modules/lodash/_baseZipObject.js create mode 100644 packages/frontend-core/node_modules/lodash/_cacheHas.js create mode 100644 packages/frontend-core/node_modules/lodash/_castArrayLikeObject.js create mode 100644 packages/frontend-core/node_modules/lodash/_castFunction.js create mode 100644 packages/frontend-core/node_modules/lodash/_castPath.js create mode 100644 packages/frontend-core/node_modules/lodash/_castRest.js create mode 100644 packages/frontend-core/node_modules/lodash/_castSlice.js create mode 100644 packages/frontend-core/node_modules/lodash/_charsEndIndex.js create mode 100644 packages/frontend-core/node_modules/lodash/_charsStartIndex.js create mode 100644 packages/frontend-core/node_modules/lodash/_cloneArrayBuffer.js create mode 100644 packages/frontend-core/node_modules/lodash/_cloneBuffer.js create mode 100644 packages/frontend-core/node_modules/lodash/_cloneDataView.js create mode 100644 packages/frontend-core/node_modules/lodash/_cloneRegExp.js create mode 100644 packages/frontend-core/node_modules/lodash/_cloneSymbol.js create mode 100644 packages/frontend-core/node_modules/lodash/_cloneTypedArray.js create mode 100644 packages/frontend-core/node_modules/lodash/_compareAscending.js create mode 100644 packages/frontend-core/node_modules/lodash/_compareMultiple.js create mode 100644 packages/frontend-core/node_modules/lodash/_composeArgs.js create mode 100644 packages/frontend-core/node_modules/lodash/_composeArgsRight.js create mode 100644 packages/frontend-core/node_modules/lodash/_copyArray.js create mode 100644 packages/frontend-core/node_modules/lodash/_copyObject.js create mode 100644 packages/frontend-core/node_modules/lodash/_copySymbols.js create mode 100644 packages/frontend-core/node_modules/lodash/_copySymbolsIn.js create mode 100644 packages/frontend-core/node_modules/lodash/_coreJsData.js create mode 100644 packages/frontend-core/node_modules/lodash/_countHolders.js create mode 100644 packages/frontend-core/node_modules/lodash/_createAggregator.js create mode 100644 packages/frontend-core/node_modules/lodash/_createAssigner.js create mode 100644 packages/frontend-core/node_modules/lodash/_createBaseEach.js create mode 100644 packages/frontend-core/node_modules/lodash/_createBaseFor.js create mode 100644 packages/frontend-core/node_modules/lodash/_createBind.js create mode 100644 packages/frontend-core/node_modules/lodash/_createCaseFirst.js create mode 100644 packages/frontend-core/node_modules/lodash/_createCompounder.js create mode 100644 packages/frontend-core/node_modules/lodash/_createCtor.js create mode 100644 packages/frontend-core/node_modules/lodash/_createCurry.js create mode 100644 packages/frontend-core/node_modules/lodash/_createFind.js create mode 100644 packages/frontend-core/node_modules/lodash/_createFlow.js create mode 100644 packages/frontend-core/node_modules/lodash/_createHybrid.js create mode 100644 packages/frontend-core/node_modules/lodash/_createInverter.js create mode 100644 packages/frontend-core/node_modules/lodash/_createMathOperation.js create mode 100644 packages/frontend-core/node_modules/lodash/_createOver.js create mode 100644 packages/frontend-core/node_modules/lodash/_createPadding.js create mode 100644 packages/frontend-core/node_modules/lodash/_createPartial.js create mode 100644 packages/frontend-core/node_modules/lodash/_createRange.js create mode 100644 packages/frontend-core/node_modules/lodash/_createRecurry.js create mode 100644 packages/frontend-core/node_modules/lodash/_createRelationalOperation.js create mode 100644 packages/frontend-core/node_modules/lodash/_createRound.js create mode 100644 packages/frontend-core/node_modules/lodash/_createSet.js create mode 100644 packages/frontend-core/node_modules/lodash/_createToPairs.js create mode 100644 packages/frontend-core/node_modules/lodash/_createWrap.js create mode 100644 packages/frontend-core/node_modules/lodash/_customDefaultsAssignIn.js create mode 100644 packages/frontend-core/node_modules/lodash/_customDefaultsMerge.js create mode 100644 packages/frontend-core/node_modules/lodash/_customOmitClone.js create mode 100644 packages/frontend-core/node_modules/lodash/_deburrLetter.js create mode 100644 packages/frontend-core/node_modules/lodash/_defineProperty.js create mode 100644 packages/frontend-core/node_modules/lodash/_equalArrays.js create mode 100644 packages/frontend-core/node_modules/lodash/_equalByTag.js create mode 100644 packages/frontend-core/node_modules/lodash/_equalObjects.js create mode 100644 packages/frontend-core/node_modules/lodash/_escapeHtmlChar.js create mode 100644 packages/frontend-core/node_modules/lodash/_escapeStringChar.js create mode 100644 packages/frontend-core/node_modules/lodash/_flatRest.js create mode 100644 packages/frontend-core/node_modules/lodash/_freeGlobal.js create mode 100644 packages/frontend-core/node_modules/lodash/_getAllKeys.js create mode 100644 packages/frontend-core/node_modules/lodash/_getAllKeysIn.js create mode 100644 packages/frontend-core/node_modules/lodash/_getData.js create mode 100644 packages/frontend-core/node_modules/lodash/_getFuncName.js create mode 100644 packages/frontend-core/node_modules/lodash/_getHolder.js create mode 100644 packages/frontend-core/node_modules/lodash/_getMapData.js create mode 100644 packages/frontend-core/node_modules/lodash/_getMatchData.js create mode 100644 packages/frontend-core/node_modules/lodash/_getNative.js create mode 100644 packages/frontend-core/node_modules/lodash/_getPrototype.js create mode 100644 packages/frontend-core/node_modules/lodash/_getRawTag.js create mode 100644 packages/frontend-core/node_modules/lodash/_getSymbols.js create mode 100644 packages/frontend-core/node_modules/lodash/_getSymbolsIn.js create mode 100644 packages/frontend-core/node_modules/lodash/_getTag.js create mode 100644 packages/frontend-core/node_modules/lodash/_getValue.js create mode 100644 packages/frontend-core/node_modules/lodash/_getView.js create mode 100644 packages/frontend-core/node_modules/lodash/_getWrapDetails.js create mode 100644 packages/frontend-core/node_modules/lodash/_hasPath.js create mode 100644 packages/frontend-core/node_modules/lodash/_hasUnicode.js create mode 100644 packages/frontend-core/node_modules/lodash/_hasUnicodeWord.js create mode 100644 packages/frontend-core/node_modules/lodash/_hashClear.js create mode 100644 packages/frontend-core/node_modules/lodash/_hashDelete.js create mode 100644 packages/frontend-core/node_modules/lodash/_hashGet.js create mode 100644 packages/frontend-core/node_modules/lodash/_hashHas.js create mode 100644 packages/frontend-core/node_modules/lodash/_hashSet.js create mode 100644 packages/frontend-core/node_modules/lodash/_initCloneArray.js create mode 100644 packages/frontend-core/node_modules/lodash/_initCloneByTag.js create mode 100644 packages/frontend-core/node_modules/lodash/_initCloneObject.js create mode 100644 packages/frontend-core/node_modules/lodash/_insertWrapDetails.js create mode 100644 packages/frontend-core/node_modules/lodash/_isFlattenable.js create mode 100644 packages/frontend-core/node_modules/lodash/_isIndex.js create mode 100644 packages/frontend-core/node_modules/lodash/_isIterateeCall.js create mode 100644 packages/frontend-core/node_modules/lodash/_isKey.js create mode 100644 packages/frontend-core/node_modules/lodash/_isKeyable.js create mode 100644 packages/frontend-core/node_modules/lodash/_isLaziable.js create mode 100644 packages/frontend-core/node_modules/lodash/_isMaskable.js create mode 100644 packages/frontend-core/node_modules/lodash/_isMasked.js create mode 100644 packages/frontend-core/node_modules/lodash/_isPrototype.js create mode 100644 packages/frontend-core/node_modules/lodash/_isStrictComparable.js create mode 100644 packages/frontend-core/node_modules/lodash/_iteratorToArray.js create mode 100644 packages/frontend-core/node_modules/lodash/_lazyClone.js create mode 100644 packages/frontend-core/node_modules/lodash/_lazyReverse.js create mode 100644 packages/frontend-core/node_modules/lodash/_lazyValue.js create mode 100644 packages/frontend-core/node_modules/lodash/_listCacheClear.js create mode 100644 packages/frontend-core/node_modules/lodash/_listCacheDelete.js create mode 100644 packages/frontend-core/node_modules/lodash/_listCacheGet.js create mode 100644 packages/frontend-core/node_modules/lodash/_listCacheHas.js create mode 100644 packages/frontend-core/node_modules/lodash/_listCacheSet.js create mode 100644 packages/frontend-core/node_modules/lodash/_mapCacheClear.js create mode 100644 packages/frontend-core/node_modules/lodash/_mapCacheDelete.js create mode 100644 packages/frontend-core/node_modules/lodash/_mapCacheGet.js create mode 100644 packages/frontend-core/node_modules/lodash/_mapCacheHas.js create mode 100644 packages/frontend-core/node_modules/lodash/_mapCacheSet.js create mode 100644 packages/frontend-core/node_modules/lodash/_mapToArray.js create mode 100644 packages/frontend-core/node_modules/lodash/_matchesStrictComparable.js create mode 100644 packages/frontend-core/node_modules/lodash/_memoizeCapped.js create mode 100644 packages/frontend-core/node_modules/lodash/_mergeData.js create mode 100644 packages/frontend-core/node_modules/lodash/_metaMap.js create mode 100644 packages/frontend-core/node_modules/lodash/_nativeCreate.js create mode 100644 packages/frontend-core/node_modules/lodash/_nativeKeys.js create mode 100644 packages/frontend-core/node_modules/lodash/_nativeKeysIn.js create mode 100644 packages/frontend-core/node_modules/lodash/_nodeUtil.js create mode 100644 packages/frontend-core/node_modules/lodash/_objectToString.js create mode 100644 packages/frontend-core/node_modules/lodash/_overArg.js create mode 100644 packages/frontend-core/node_modules/lodash/_overRest.js create mode 100644 packages/frontend-core/node_modules/lodash/_parent.js create mode 100644 packages/frontend-core/node_modules/lodash/_reEscape.js create mode 100644 packages/frontend-core/node_modules/lodash/_reEvaluate.js create mode 100644 packages/frontend-core/node_modules/lodash/_reInterpolate.js create mode 100644 packages/frontend-core/node_modules/lodash/_realNames.js create mode 100644 packages/frontend-core/node_modules/lodash/_reorder.js create mode 100644 packages/frontend-core/node_modules/lodash/_replaceHolders.js create mode 100644 packages/frontend-core/node_modules/lodash/_root.js create mode 100644 packages/frontend-core/node_modules/lodash/_safeGet.js create mode 100644 packages/frontend-core/node_modules/lodash/_setCacheAdd.js create mode 100644 packages/frontend-core/node_modules/lodash/_setCacheHas.js create mode 100644 packages/frontend-core/node_modules/lodash/_setData.js create mode 100644 packages/frontend-core/node_modules/lodash/_setToArray.js create mode 100644 packages/frontend-core/node_modules/lodash/_setToPairs.js create mode 100644 packages/frontend-core/node_modules/lodash/_setToString.js create mode 100644 packages/frontend-core/node_modules/lodash/_setWrapToString.js create mode 100644 packages/frontend-core/node_modules/lodash/_shortOut.js create mode 100644 packages/frontend-core/node_modules/lodash/_shuffleSelf.js create mode 100644 packages/frontend-core/node_modules/lodash/_stackClear.js create mode 100644 packages/frontend-core/node_modules/lodash/_stackDelete.js create mode 100644 packages/frontend-core/node_modules/lodash/_stackGet.js create mode 100644 packages/frontend-core/node_modules/lodash/_stackHas.js create mode 100644 packages/frontend-core/node_modules/lodash/_stackSet.js create mode 100644 packages/frontend-core/node_modules/lodash/_strictIndexOf.js create mode 100644 packages/frontend-core/node_modules/lodash/_strictLastIndexOf.js create mode 100644 packages/frontend-core/node_modules/lodash/_stringSize.js create mode 100644 packages/frontend-core/node_modules/lodash/_stringToArray.js create mode 100644 packages/frontend-core/node_modules/lodash/_stringToPath.js create mode 100644 packages/frontend-core/node_modules/lodash/_toKey.js create mode 100644 packages/frontend-core/node_modules/lodash/_toSource.js create mode 100644 packages/frontend-core/node_modules/lodash/_trimmedEndIndex.js create mode 100644 packages/frontend-core/node_modules/lodash/_unescapeHtmlChar.js create mode 100644 packages/frontend-core/node_modules/lodash/_unicodeSize.js create mode 100644 packages/frontend-core/node_modules/lodash/_unicodeToArray.js create mode 100644 packages/frontend-core/node_modules/lodash/_unicodeWords.js create mode 100644 packages/frontend-core/node_modules/lodash/_updateWrapDetails.js create mode 100644 packages/frontend-core/node_modules/lodash/_wrapperClone.js create mode 100644 packages/frontend-core/node_modules/lodash/add.js create mode 100644 packages/frontend-core/node_modules/lodash/after.js create mode 100644 packages/frontend-core/node_modules/lodash/array.js create mode 100644 packages/frontend-core/node_modules/lodash/ary.js create mode 100644 packages/frontend-core/node_modules/lodash/assign.js create mode 100644 packages/frontend-core/node_modules/lodash/assignIn.js create mode 100644 packages/frontend-core/node_modules/lodash/assignInWith.js create mode 100644 packages/frontend-core/node_modules/lodash/assignWith.js create mode 100644 packages/frontend-core/node_modules/lodash/at.js create mode 100644 packages/frontend-core/node_modules/lodash/attempt.js create mode 100644 packages/frontend-core/node_modules/lodash/before.js create mode 100644 packages/frontend-core/node_modules/lodash/bind.js create mode 100644 packages/frontend-core/node_modules/lodash/bindAll.js create mode 100644 packages/frontend-core/node_modules/lodash/bindKey.js create mode 100644 packages/frontend-core/node_modules/lodash/camelCase.js create mode 100644 packages/frontend-core/node_modules/lodash/capitalize.js create mode 100644 packages/frontend-core/node_modules/lodash/castArray.js create mode 100644 packages/frontend-core/node_modules/lodash/ceil.js create mode 100644 packages/frontend-core/node_modules/lodash/chain.js create mode 100644 packages/frontend-core/node_modules/lodash/chunk.js create mode 100644 packages/frontend-core/node_modules/lodash/clamp.js create mode 100644 packages/frontend-core/node_modules/lodash/clone.js create mode 100644 packages/frontend-core/node_modules/lodash/cloneDeep.js create mode 100644 packages/frontend-core/node_modules/lodash/cloneDeepWith.js create mode 100644 packages/frontend-core/node_modules/lodash/cloneWith.js create mode 100644 packages/frontend-core/node_modules/lodash/collection.js create mode 100644 packages/frontend-core/node_modules/lodash/commit.js create mode 100644 packages/frontend-core/node_modules/lodash/compact.js create mode 100644 packages/frontend-core/node_modules/lodash/concat.js create mode 100644 packages/frontend-core/node_modules/lodash/cond.js create mode 100644 packages/frontend-core/node_modules/lodash/conforms.js create mode 100644 packages/frontend-core/node_modules/lodash/conformsTo.js create mode 100644 packages/frontend-core/node_modules/lodash/constant.js create mode 100644 packages/frontend-core/node_modules/lodash/core.js create mode 100644 packages/frontend-core/node_modules/lodash/core.min.js create mode 100644 packages/frontend-core/node_modules/lodash/countBy.js create mode 100644 packages/frontend-core/node_modules/lodash/create.js create mode 100644 packages/frontend-core/node_modules/lodash/curry.js create mode 100644 packages/frontend-core/node_modules/lodash/curryRight.js create mode 100644 packages/frontend-core/node_modules/lodash/date.js create mode 100644 packages/frontend-core/node_modules/lodash/debounce.js create mode 100644 packages/frontend-core/node_modules/lodash/deburr.js create mode 100644 packages/frontend-core/node_modules/lodash/defaultTo.js create mode 100644 packages/frontend-core/node_modules/lodash/defaults.js create mode 100644 packages/frontend-core/node_modules/lodash/defaultsDeep.js create mode 100644 packages/frontend-core/node_modules/lodash/defer.js create mode 100644 packages/frontend-core/node_modules/lodash/delay.js create mode 100644 packages/frontend-core/node_modules/lodash/difference.js create mode 100644 packages/frontend-core/node_modules/lodash/differenceBy.js create mode 100644 packages/frontend-core/node_modules/lodash/differenceWith.js create mode 100644 packages/frontend-core/node_modules/lodash/divide.js create mode 100644 packages/frontend-core/node_modules/lodash/drop.js create mode 100644 packages/frontend-core/node_modules/lodash/dropRight.js create mode 100644 packages/frontend-core/node_modules/lodash/dropRightWhile.js create mode 100644 packages/frontend-core/node_modules/lodash/dropWhile.js create mode 100644 packages/frontend-core/node_modules/lodash/each.js create mode 100644 packages/frontend-core/node_modules/lodash/eachRight.js create mode 100644 packages/frontend-core/node_modules/lodash/endsWith.js create mode 100644 packages/frontend-core/node_modules/lodash/entries.js create mode 100644 packages/frontend-core/node_modules/lodash/entriesIn.js create mode 100644 packages/frontend-core/node_modules/lodash/eq.js create mode 100644 packages/frontend-core/node_modules/lodash/escape.js create mode 100644 packages/frontend-core/node_modules/lodash/escapeRegExp.js create mode 100644 packages/frontend-core/node_modules/lodash/every.js create mode 100644 packages/frontend-core/node_modules/lodash/extend.js create mode 100644 packages/frontend-core/node_modules/lodash/extendWith.js create mode 100644 packages/frontend-core/node_modules/lodash/fill.js create mode 100644 packages/frontend-core/node_modules/lodash/filter.js create mode 100644 packages/frontend-core/node_modules/lodash/find.js create mode 100644 packages/frontend-core/node_modules/lodash/findIndex.js create mode 100644 packages/frontend-core/node_modules/lodash/findKey.js create mode 100644 packages/frontend-core/node_modules/lodash/findLast.js create mode 100644 packages/frontend-core/node_modules/lodash/findLastIndex.js create mode 100644 packages/frontend-core/node_modules/lodash/findLastKey.js create mode 100644 packages/frontend-core/node_modules/lodash/first.js create mode 100644 packages/frontend-core/node_modules/lodash/flake.lock create mode 100644 packages/frontend-core/node_modules/lodash/flake.nix create mode 100644 packages/frontend-core/node_modules/lodash/flatMap.js create mode 100644 packages/frontend-core/node_modules/lodash/flatMapDeep.js create mode 100644 packages/frontend-core/node_modules/lodash/flatMapDepth.js create mode 100644 packages/frontend-core/node_modules/lodash/flatten.js create mode 100644 packages/frontend-core/node_modules/lodash/flattenDeep.js create mode 100644 packages/frontend-core/node_modules/lodash/flattenDepth.js create mode 100644 packages/frontend-core/node_modules/lodash/flip.js create mode 100644 packages/frontend-core/node_modules/lodash/floor.js create mode 100644 packages/frontend-core/node_modules/lodash/flow.js create mode 100644 packages/frontend-core/node_modules/lodash/flowRight.js create mode 100644 packages/frontend-core/node_modules/lodash/forEach.js create mode 100644 packages/frontend-core/node_modules/lodash/forEachRight.js create mode 100644 packages/frontend-core/node_modules/lodash/forIn.js create mode 100644 packages/frontend-core/node_modules/lodash/forInRight.js create mode 100644 packages/frontend-core/node_modules/lodash/forOwn.js create mode 100644 packages/frontend-core/node_modules/lodash/forOwnRight.js create mode 100644 packages/frontend-core/node_modules/lodash/fp.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/F.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/T.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/__.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/_baseConvert.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/_convertBrowser.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/_falseOptions.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/_mapping.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/_util.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/add.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/after.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/all.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/allPass.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/always.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/any.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/anyPass.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/apply.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/array.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/ary.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/assign.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/assignAll.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/assignAllWith.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/assignIn.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/assignInAll.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/assignInAllWith.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/assignInWith.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/assignWith.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/assoc.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/assocPath.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/at.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/attempt.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/before.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/bind.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/bindAll.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/bindKey.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/camelCase.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/capitalize.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/castArray.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/ceil.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/chain.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/chunk.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/clamp.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/clone.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/cloneDeep.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/cloneDeepWith.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/cloneWith.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/collection.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/commit.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/compact.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/complement.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/compose.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/concat.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/cond.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/conforms.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/conformsTo.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/constant.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/contains.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/convert.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/countBy.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/create.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/curry.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/curryN.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/curryRight.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/curryRightN.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/date.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/debounce.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/deburr.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/defaultTo.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/defaults.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/defaultsAll.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/defaultsDeep.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/defaultsDeepAll.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/defer.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/delay.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/difference.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/differenceBy.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/differenceWith.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/dissoc.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/dissocPath.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/divide.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/drop.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/dropLast.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/dropLastWhile.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/dropRight.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/dropRightWhile.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/dropWhile.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/each.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/eachRight.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/endsWith.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/entries.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/entriesIn.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/eq.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/equals.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/escape.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/escapeRegExp.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/every.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/extend.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/extendAll.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/extendAllWith.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/extendWith.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/fill.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/filter.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/find.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/findFrom.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/findIndex.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/findIndexFrom.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/findKey.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/findLast.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/findLastFrom.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/findLastIndex.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/findLastIndexFrom.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/findLastKey.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/first.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/flatMap.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/flatMapDeep.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/flatMapDepth.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/flatten.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/flattenDeep.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/flattenDepth.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/flip.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/floor.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/flow.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/flowRight.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/forEach.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/forEachRight.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/forIn.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/forInRight.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/forOwn.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/forOwnRight.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/fromPairs.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/function.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/functions.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/functionsIn.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/get.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/getOr.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/groupBy.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/gt.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/gte.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/has.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/hasIn.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/head.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/identical.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/identity.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/inRange.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/includes.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/includesFrom.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/indexBy.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/indexOf.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/indexOfFrom.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/init.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/initial.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/intersection.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/intersectionBy.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/intersectionWith.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/invert.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/invertBy.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/invertObj.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/invoke.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/invokeArgs.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/invokeArgsMap.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/invokeMap.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/isArguments.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/isArray.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/isArrayBuffer.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/isArrayLike.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/isArrayLikeObject.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/isBoolean.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/isBuffer.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/isDate.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/isElement.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/isEmpty.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/isEqual.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/isEqualWith.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/isError.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/isFinite.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/isFunction.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/isInteger.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/isLength.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/isMap.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/isMatch.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/isMatchWith.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/isNaN.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/isNative.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/isNil.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/isNull.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/isNumber.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/isObject.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/isObjectLike.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/isPlainObject.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/isRegExp.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/isSafeInteger.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/isSet.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/isString.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/isSymbol.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/isTypedArray.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/isUndefined.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/isWeakMap.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/isWeakSet.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/iteratee.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/join.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/juxt.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/kebabCase.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/keyBy.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/keys.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/keysIn.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/lang.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/last.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/lastIndexOf.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/lastIndexOfFrom.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/lowerCase.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/lowerFirst.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/lt.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/lte.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/map.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/mapKeys.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/mapValues.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/matches.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/matchesProperty.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/math.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/max.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/maxBy.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/mean.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/meanBy.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/memoize.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/merge.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/mergeAll.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/mergeAllWith.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/mergeWith.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/method.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/methodOf.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/min.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/minBy.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/mixin.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/multiply.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/nAry.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/negate.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/next.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/noop.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/now.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/nth.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/nthArg.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/number.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/object.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/omit.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/omitAll.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/omitBy.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/once.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/orderBy.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/over.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/overArgs.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/overEvery.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/overSome.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/pad.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/padChars.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/padCharsEnd.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/padCharsStart.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/padEnd.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/padStart.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/parseInt.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/partial.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/partialRight.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/partition.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/path.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/pathEq.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/pathOr.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/paths.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/pick.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/pickAll.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/pickBy.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/pipe.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/placeholder.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/plant.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/pluck.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/prop.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/propEq.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/propOr.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/property.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/propertyOf.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/props.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/pull.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/pullAll.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/pullAllBy.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/pullAllWith.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/pullAt.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/random.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/range.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/rangeRight.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/rangeStep.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/rangeStepRight.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/rearg.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/reduce.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/reduceRight.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/reject.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/remove.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/repeat.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/replace.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/rest.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/restFrom.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/result.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/reverse.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/round.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/sample.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/sampleSize.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/seq.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/set.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/setWith.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/shuffle.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/size.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/slice.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/snakeCase.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/some.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/sortBy.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/sortedIndex.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/sortedIndexBy.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/sortedIndexOf.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/sortedLastIndex.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/sortedLastIndexBy.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/sortedLastIndexOf.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/sortedUniq.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/sortedUniqBy.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/split.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/spread.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/spreadFrom.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/startCase.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/startsWith.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/string.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/stubArray.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/stubFalse.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/stubObject.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/stubString.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/stubTrue.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/subtract.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/sum.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/sumBy.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/symmetricDifference.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/symmetricDifferenceBy.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/symmetricDifferenceWith.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/tail.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/take.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/takeLast.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/takeLastWhile.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/takeRight.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/takeRightWhile.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/takeWhile.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/tap.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/template.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/templateSettings.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/throttle.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/thru.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/times.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/toArray.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/toFinite.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/toInteger.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/toIterator.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/toJSON.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/toLength.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/toLower.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/toNumber.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/toPairs.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/toPairsIn.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/toPath.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/toPlainObject.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/toSafeInteger.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/toString.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/toUpper.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/transform.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/trim.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/trimChars.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/trimCharsEnd.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/trimCharsStart.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/trimEnd.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/trimStart.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/truncate.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/unapply.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/unary.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/unescape.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/union.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/unionBy.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/unionWith.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/uniq.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/uniqBy.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/uniqWith.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/uniqueId.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/unnest.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/unset.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/unzip.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/unzipWith.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/update.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/updateWith.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/upperCase.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/upperFirst.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/useWith.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/util.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/value.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/valueOf.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/values.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/valuesIn.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/where.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/whereEq.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/without.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/words.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/wrap.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/wrapperAt.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/wrapperChain.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/wrapperLodash.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/wrapperReverse.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/wrapperValue.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/xor.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/xorBy.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/xorWith.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/zip.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/zipAll.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/zipObj.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/zipObject.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/zipObjectDeep.js create mode 100644 packages/frontend-core/node_modules/lodash/fp/zipWith.js create mode 100644 packages/frontend-core/node_modules/lodash/fromPairs.js create mode 100644 packages/frontend-core/node_modules/lodash/function.js create mode 100644 packages/frontend-core/node_modules/lodash/functions.js create mode 100644 packages/frontend-core/node_modules/lodash/functionsIn.js create mode 100644 packages/frontend-core/node_modules/lodash/get.js create mode 100644 packages/frontend-core/node_modules/lodash/groupBy.js create mode 100644 packages/frontend-core/node_modules/lodash/gt.js create mode 100644 packages/frontend-core/node_modules/lodash/gte.js create mode 100644 packages/frontend-core/node_modules/lodash/has.js create mode 100644 packages/frontend-core/node_modules/lodash/hasIn.js create mode 100644 packages/frontend-core/node_modules/lodash/head.js create mode 100644 packages/frontend-core/node_modules/lodash/identity.js create mode 100644 packages/frontend-core/node_modules/lodash/inRange.js create mode 100644 packages/frontend-core/node_modules/lodash/includes.js create mode 100644 packages/frontend-core/node_modules/lodash/index.js create mode 100644 packages/frontend-core/node_modules/lodash/indexOf.js create mode 100644 packages/frontend-core/node_modules/lodash/initial.js create mode 100644 packages/frontend-core/node_modules/lodash/intersection.js create mode 100644 packages/frontend-core/node_modules/lodash/intersectionBy.js create mode 100644 packages/frontend-core/node_modules/lodash/intersectionWith.js create mode 100644 packages/frontend-core/node_modules/lodash/invert.js create mode 100644 packages/frontend-core/node_modules/lodash/invertBy.js create mode 100644 packages/frontend-core/node_modules/lodash/invoke.js create mode 100644 packages/frontend-core/node_modules/lodash/invokeMap.js create mode 100644 packages/frontend-core/node_modules/lodash/isArguments.js create mode 100644 packages/frontend-core/node_modules/lodash/isArray.js create mode 100644 packages/frontend-core/node_modules/lodash/isArrayBuffer.js create mode 100644 packages/frontend-core/node_modules/lodash/isArrayLike.js create mode 100644 packages/frontend-core/node_modules/lodash/isArrayLikeObject.js create mode 100644 packages/frontend-core/node_modules/lodash/isBoolean.js create mode 100644 packages/frontend-core/node_modules/lodash/isBuffer.js create mode 100644 packages/frontend-core/node_modules/lodash/isDate.js create mode 100644 packages/frontend-core/node_modules/lodash/isElement.js create mode 100644 packages/frontend-core/node_modules/lodash/isEmpty.js create mode 100644 packages/frontend-core/node_modules/lodash/isEqual.js create mode 100644 packages/frontend-core/node_modules/lodash/isEqualWith.js create mode 100644 packages/frontend-core/node_modules/lodash/isError.js create mode 100644 packages/frontend-core/node_modules/lodash/isFinite.js create mode 100644 packages/frontend-core/node_modules/lodash/isFunction.js create mode 100644 packages/frontend-core/node_modules/lodash/isInteger.js create mode 100644 packages/frontend-core/node_modules/lodash/isLength.js create mode 100644 packages/frontend-core/node_modules/lodash/isMap.js create mode 100644 packages/frontend-core/node_modules/lodash/isMatch.js create mode 100644 packages/frontend-core/node_modules/lodash/isMatchWith.js create mode 100644 packages/frontend-core/node_modules/lodash/isNaN.js create mode 100644 packages/frontend-core/node_modules/lodash/isNative.js create mode 100644 packages/frontend-core/node_modules/lodash/isNil.js create mode 100644 packages/frontend-core/node_modules/lodash/isNull.js create mode 100644 packages/frontend-core/node_modules/lodash/isNumber.js create mode 100644 packages/frontend-core/node_modules/lodash/isObject.js create mode 100644 packages/frontend-core/node_modules/lodash/isObjectLike.js create mode 100644 packages/frontend-core/node_modules/lodash/isPlainObject.js create mode 100644 packages/frontend-core/node_modules/lodash/isRegExp.js create mode 100644 packages/frontend-core/node_modules/lodash/isSafeInteger.js create mode 100644 packages/frontend-core/node_modules/lodash/isSet.js create mode 100644 packages/frontend-core/node_modules/lodash/isString.js create mode 100644 packages/frontend-core/node_modules/lodash/isSymbol.js create mode 100644 packages/frontend-core/node_modules/lodash/isTypedArray.js create mode 100644 packages/frontend-core/node_modules/lodash/isUndefined.js create mode 100644 packages/frontend-core/node_modules/lodash/isWeakMap.js create mode 100644 packages/frontend-core/node_modules/lodash/isWeakSet.js create mode 100644 packages/frontend-core/node_modules/lodash/iteratee.js create mode 100644 packages/frontend-core/node_modules/lodash/join.js create mode 100644 packages/frontend-core/node_modules/lodash/kebabCase.js create mode 100644 packages/frontend-core/node_modules/lodash/keyBy.js create mode 100644 packages/frontend-core/node_modules/lodash/keys.js create mode 100644 packages/frontend-core/node_modules/lodash/keysIn.js create mode 100644 packages/frontend-core/node_modules/lodash/lang.js create mode 100644 packages/frontend-core/node_modules/lodash/last.js create mode 100644 packages/frontend-core/node_modules/lodash/lastIndexOf.js create mode 100644 packages/frontend-core/node_modules/lodash/lodash.js create mode 100644 packages/frontend-core/node_modules/lodash/lodash.min.js create mode 100644 packages/frontend-core/node_modules/lodash/lowerCase.js create mode 100644 packages/frontend-core/node_modules/lodash/lowerFirst.js create mode 100644 packages/frontend-core/node_modules/lodash/lt.js create mode 100644 packages/frontend-core/node_modules/lodash/lte.js create mode 100644 packages/frontend-core/node_modules/lodash/map.js create mode 100644 packages/frontend-core/node_modules/lodash/mapKeys.js create mode 100644 packages/frontend-core/node_modules/lodash/mapValues.js create mode 100644 packages/frontend-core/node_modules/lodash/matches.js create mode 100644 packages/frontend-core/node_modules/lodash/matchesProperty.js create mode 100644 packages/frontend-core/node_modules/lodash/math.js create mode 100644 packages/frontend-core/node_modules/lodash/max.js create mode 100644 packages/frontend-core/node_modules/lodash/maxBy.js create mode 100644 packages/frontend-core/node_modules/lodash/mean.js create mode 100644 packages/frontend-core/node_modules/lodash/meanBy.js create mode 100644 packages/frontend-core/node_modules/lodash/memoize.js create mode 100644 packages/frontend-core/node_modules/lodash/merge.js create mode 100644 packages/frontend-core/node_modules/lodash/mergeWith.js create mode 100644 packages/frontend-core/node_modules/lodash/method.js create mode 100644 packages/frontend-core/node_modules/lodash/methodOf.js create mode 100644 packages/frontend-core/node_modules/lodash/min.js create mode 100644 packages/frontend-core/node_modules/lodash/minBy.js create mode 100644 packages/frontend-core/node_modules/lodash/mixin.js create mode 100644 packages/frontend-core/node_modules/lodash/multiply.js create mode 100644 packages/frontend-core/node_modules/lodash/negate.js create mode 100644 packages/frontend-core/node_modules/lodash/next.js create mode 100644 packages/frontend-core/node_modules/lodash/noop.js create mode 100644 packages/frontend-core/node_modules/lodash/now.js create mode 100644 packages/frontend-core/node_modules/lodash/nth.js create mode 100644 packages/frontend-core/node_modules/lodash/nthArg.js create mode 100644 packages/frontend-core/node_modules/lodash/number.js create mode 100644 packages/frontend-core/node_modules/lodash/object.js create mode 100644 packages/frontend-core/node_modules/lodash/omit.js create mode 100644 packages/frontend-core/node_modules/lodash/omitBy.js create mode 100644 packages/frontend-core/node_modules/lodash/once.js create mode 100644 packages/frontend-core/node_modules/lodash/orderBy.js create mode 100644 packages/frontend-core/node_modules/lodash/over.js create mode 100644 packages/frontend-core/node_modules/lodash/overArgs.js create mode 100644 packages/frontend-core/node_modules/lodash/overEvery.js create mode 100644 packages/frontend-core/node_modules/lodash/overSome.js create mode 100644 packages/frontend-core/node_modules/lodash/package.json create mode 100644 packages/frontend-core/node_modules/lodash/pad.js create mode 100644 packages/frontend-core/node_modules/lodash/padEnd.js create mode 100644 packages/frontend-core/node_modules/lodash/padStart.js create mode 100644 packages/frontend-core/node_modules/lodash/parseInt.js create mode 100644 packages/frontend-core/node_modules/lodash/partial.js create mode 100644 packages/frontend-core/node_modules/lodash/partialRight.js create mode 100644 packages/frontend-core/node_modules/lodash/partition.js create mode 100644 packages/frontend-core/node_modules/lodash/pick.js create mode 100644 packages/frontend-core/node_modules/lodash/pickBy.js create mode 100644 packages/frontend-core/node_modules/lodash/plant.js create mode 100644 packages/frontend-core/node_modules/lodash/property.js create mode 100644 packages/frontend-core/node_modules/lodash/propertyOf.js create mode 100644 packages/frontend-core/node_modules/lodash/pull.js create mode 100644 packages/frontend-core/node_modules/lodash/pullAll.js create mode 100644 packages/frontend-core/node_modules/lodash/pullAllBy.js create mode 100644 packages/frontend-core/node_modules/lodash/pullAllWith.js create mode 100644 packages/frontend-core/node_modules/lodash/pullAt.js create mode 100644 packages/frontend-core/node_modules/lodash/random.js create mode 100644 packages/frontend-core/node_modules/lodash/range.js create mode 100644 packages/frontend-core/node_modules/lodash/rangeRight.js create mode 100644 packages/frontend-core/node_modules/lodash/rearg.js create mode 100644 packages/frontend-core/node_modules/lodash/reduce.js create mode 100644 packages/frontend-core/node_modules/lodash/reduceRight.js create mode 100644 packages/frontend-core/node_modules/lodash/reject.js create mode 100644 packages/frontend-core/node_modules/lodash/release.md create mode 100644 packages/frontend-core/node_modules/lodash/remove.js create mode 100644 packages/frontend-core/node_modules/lodash/repeat.js create mode 100644 packages/frontend-core/node_modules/lodash/replace.js create mode 100644 packages/frontend-core/node_modules/lodash/rest.js create mode 100644 packages/frontend-core/node_modules/lodash/result.js create mode 100644 packages/frontend-core/node_modules/lodash/reverse.js create mode 100644 packages/frontend-core/node_modules/lodash/round.js create mode 100644 packages/frontend-core/node_modules/lodash/sample.js create mode 100644 packages/frontend-core/node_modules/lodash/sampleSize.js create mode 100644 packages/frontend-core/node_modules/lodash/seq.js create mode 100644 packages/frontend-core/node_modules/lodash/set.js create mode 100644 packages/frontend-core/node_modules/lodash/setWith.js create mode 100644 packages/frontend-core/node_modules/lodash/shuffle.js create mode 100644 packages/frontend-core/node_modules/lodash/size.js create mode 100644 packages/frontend-core/node_modules/lodash/slice.js create mode 100644 packages/frontend-core/node_modules/lodash/snakeCase.js create mode 100644 packages/frontend-core/node_modules/lodash/some.js create mode 100644 packages/frontend-core/node_modules/lodash/sortBy.js create mode 100644 packages/frontend-core/node_modules/lodash/sortedIndex.js create mode 100644 packages/frontend-core/node_modules/lodash/sortedIndexBy.js create mode 100644 packages/frontend-core/node_modules/lodash/sortedIndexOf.js create mode 100644 packages/frontend-core/node_modules/lodash/sortedLastIndex.js create mode 100644 packages/frontend-core/node_modules/lodash/sortedLastIndexBy.js create mode 100644 packages/frontend-core/node_modules/lodash/sortedLastIndexOf.js create mode 100644 packages/frontend-core/node_modules/lodash/sortedUniq.js create mode 100644 packages/frontend-core/node_modules/lodash/sortedUniqBy.js create mode 100644 packages/frontend-core/node_modules/lodash/split.js create mode 100644 packages/frontend-core/node_modules/lodash/spread.js create mode 100644 packages/frontend-core/node_modules/lodash/startCase.js create mode 100644 packages/frontend-core/node_modules/lodash/startsWith.js create mode 100644 packages/frontend-core/node_modules/lodash/string.js create mode 100644 packages/frontend-core/node_modules/lodash/stubArray.js create mode 100644 packages/frontend-core/node_modules/lodash/stubFalse.js create mode 100644 packages/frontend-core/node_modules/lodash/stubObject.js create mode 100644 packages/frontend-core/node_modules/lodash/stubString.js create mode 100644 packages/frontend-core/node_modules/lodash/stubTrue.js create mode 100644 packages/frontend-core/node_modules/lodash/subtract.js create mode 100644 packages/frontend-core/node_modules/lodash/sum.js create mode 100644 packages/frontend-core/node_modules/lodash/sumBy.js create mode 100644 packages/frontend-core/node_modules/lodash/tail.js create mode 100644 packages/frontend-core/node_modules/lodash/take.js create mode 100644 packages/frontend-core/node_modules/lodash/takeRight.js create mode 100644 packages/frontend-core/node_modules/lodash/takeRightWhile.js create mode 100644 packages/frontend-core/node_modules/lodash/takeWhile.js create mode 100644 packages/frontend-core/node_modules/lodash/tap.js create mode 100644 packages/frontend-core/node_modules/lodash/template.js create mode 100644 packages/frontend-core/node_modules/lodash/templateSettings.js create mode 100644 packages/frontend-core/node_modules/lodash/throttle.js create mode 100644 packages/frontend-core/node_modules/lodash/thru.js create mode 100644 packages/frontend-core/node_modules/lodash/times.js create mode 100644 packages/frontend-core/node_modules/lodash/toArray.js create mode 100644 packages/frontend-core/node_modules/lodash/toFinite.js create mode 100644 packages/frontend-core/node_modules/lodash/toInteger.js create mode 100644 packages/frontend-core/node_modules/lodash/toIterator.js create mode 100644 packages/frontend-core/node_modules/lodash/toJSON.js create mode 100644 packages/frontend-core/node_modules/lodash/toLength.js create mode 100644 packages/frontend-core/node_modules/lodash/toLower.js create mode 100644 packages/frontend-core/node_modules/lodash/toNumber.js create mode 100644 packages/frontend-core/node_modules/lodash/toPairs.js create mode 100644 packages/frontend-core/node_modules/lodash/toPairsIn.js create mode 100644 packages/frontend-core/node_modules/lodash/toPath.js create mode 100644 packages/frontend-core/node_modules/lodash/toPlainObject.js create mode 100644 packages/frontend-core/node_modules/lodash/toSafeInteger.js create mode 100644 packages/frontend-core/node_modules/lodash/toString.js create mode 100644 packages/frontend-core/node_modules/lodash/toUpper.js create mode 100644 packages/frontend-core/node_modules/lodash/transform.js create mode 100644 packages/frontend-core/node_modules/lodash/trim.js create mode 100644 packages/frontend-core/node_modules/lodash/trimEnd.js create mode 100644 packages/frontend-core/node_modules/lodash/trimStart.js create mode 100644 packages/frontend-core/node_modules/lodash/truncate.js create mode 100644 packages/frontend-core/node_modules/lodash/unary.js create mode 100644 packages/frontend-core/node_modules/lodash/unescape.js create mode 100644 packages/frontend-core/node_modules/lodash/union.js create mode 100644 packages/frontend-core/node_modules/lodash/unionBy.js create mode 100644 packages/frontend-core/node_modules/lodash/unionWith.js create mode 100644 packages/frontend-core/node_modules/lodash/uniq.js create mode 100644 packages/frontend-core/node_modules/lodash/uniqBy.js create mode 100644 packages/frontend-core/node_modules/lodash/uniqWith.js create mode 100644 packages/frontend-core/node_modules/lodash/uniqueId.js create mode 100644 packages/frontend-core/node_modules/lodash/unset.js create mode 100644 packages/frontend-core/node_modules/lodash/unzip.js create mode 100644 packages/frontend-core/node_modules/lodash/unzipWith.js create mode 100644 packages/frontend-core/node_modules/lodash/update.js create mode 100644 packages/frontend-core/node_modules/lodash/updateWith.js create mode 100644 packages/frontend-core/node_modules/lodash/upperCase.js create mode 100644 packages/frontend-core/node_modules/lodash/upperFirst.js create mode 100644 packages/frontend-core/node_modules/lodash/util.js create mode 100644 packages/frontend-core/node_modules/lodash/value.js create mode 100644 packages/frontend-core/node_modules/lodash/valueOf.js create mode 100644 packages/frontend-core/node_modules/lodash/values.js create mode 100644 packages/frontend-core/node_modules/lodash/valuesIn.js create mode 100644 packages/frontend-core/node_modules/lodash/without.js create mode 100644 packages/frontend-core/node_modules/lodash/words.js create mode 100644 packages/frontend-core/node_modules/lodash/wrap.js create mode 100644 packages/frontend-core/node_modules/lodash/wrapperAt.js create mode 100644 packages/frontend-core/node_modules/lodash/wrapperChain.js create mode 100644 packages/frontend-core/node_modules/lodash/wrapperLodash.js create mode 100644 packages/frontend-core/node_modules/lodash/wrapperReverse.js create mode 100644 packages/frontend-core/node_modules/lodash/wrapperValue.js create mode 100644 packages/frontend-core/node_modules/lodash/xor.js create mode 100644 packages/frontend-core/node_modules/lodash/xorBy.js create mode 100644 packages/frontend-core/node_modules/lodash/xorWith.js create mode 100644 packages/frontend-core/node_modules/lodash/zip.js create mode 100644 packages/frontend-core/node_modules/lodash/zipObject.js create mode 100644 packages/frontend-core/node_modules/lodash/zipObjectDeep.js create mode 100644 packages/frontend-core/node_modules/lodash/zipWith.js create mode 100644 packages/frontend-core/node_modules/svelte/CHANGELOG.md create mode 100644 packages/frontend-core/node_modules/svelte/LICENSE.md create mode 100644 packages/frontend-core/node_modules/svelte/README.md create mode 100644 packages/frontend-core/node_modules/svelte/animate/index.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/animate/index.js create mode 100644 packages/frontend-core/node_modules/svelte/animate/index.mjs create mode 100644 packages/frontend-core/node_modules/svelte/animate/package.json create mode 100644 packages/frontend-core/node_modules/svelte/compiler.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/compiler.js create mode 100644 packages/frontend-core/node_modules/svelte/compiler.js.map create mode 100644 packages/frontend-core/node_modules/svelte/compiler.mjs create mode 100644 packages/frontend-core/node_modules/svelte/compiler.mjs.map create mode 100644 packages/frontend-core/node_modules/svelte/easing/index.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/easing/index.js create mode 100644 packages/frontend-core/node_modules/svelte/easing/index.mjs create mode 100644 packages/frontend-core/node_modules/svelte/easing/package.json create mode 100644 packages/frontend-core/node_modules/svelte/index.js create mode 100644 packages/frontend-core/node_modules/svelte/index.mjs create mode 100644 packages/frontend-core/node_modules/svelte/internal/index.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/internal/index.js create mode 100644 packages/frontend-core/node_modules/svelte/internal/index.mjs create mode 100644 packages/frontend-core/node_modules/svelte/internal/package.json create mode 100644 packages/frontend-core/node_modules/svelte/motion/index.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/motion/index.js create mode 100644 packages/frontend-core/node_modules/svelte/motion/index.mjs create mode 100644 packages/frontend-core/node_modules/svelte/motion/package.json create mode 100644 packages/frontend-core/node_modules/svelte/package.json create mode 100644 packages/frontend-core/node_modules/svelte/register.js create mode 100644 packages/frontend-core/node_modules/svelte/ssr.js create mode 100644 packages/frontend-core/node_modules/svelte/ssr.mjs create mode 100644 packages/frontend-core/node_modules/svelte/store/index.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/store/index.js create mode 100644 packages/frontend-core/node_modules/svelte/store/index.mjs create mode 100644 packages/frontend-core/node_modules/svelte/store/package.json create mode 100644 packages/frontend-core/node_modules/svelte/transition/index.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/transition/index.js create mode 100644 packages/frontend-core/node_modules/svelte/transition/index.mjs create mode 100644 packages/frontend-core/node_modules/svelte/transition/package.json create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/Stats.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/Component.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/compiler_errors.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/compiler_warnings.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/create_module.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/css/Selector.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/css/Stylesheet.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/css/gather_possible_values.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/css/interfaces.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/index.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/internal_exports.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Action.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Animation.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Attribute.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/AwaitBlock.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Binding.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Body.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/CatchBlock.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Class.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Comment.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/ConstTag.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/DebugTag.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/DefaultSlotTemplate.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/EachBlock.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Element.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/ElseBlock.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/EventHandler.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Fragment.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Head.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/IfBlock.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/InlineComponent.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/KeyBlock.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Let.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/MustacheTag.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Options.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/PendingBlock.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/RawMustacheTag.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Slot.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/SlotTemplate.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Style.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/StyleDirective.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Text.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/ThenBlock.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Title.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Transition.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Window.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/interfaces.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/shared/AbstractBlock.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/shared/Context.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/shared/Expression.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/shared/Node.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/shared/Tag.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/shared/TemplateScope.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/shared/get_const_tags.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/shared/is_contextual.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/shared/map_children.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/Block.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/Renderer.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/index.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/invalidate.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/AwaitBlock.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Body.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/DebugTag.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/EachBlock.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Element/Attribute.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Element/Binding.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Element/EventHandler.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Element/SpreadAttribute.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Element/StyleAttribute.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Element/fix_attribute_casing.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Element/handle_select_value_binding.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Element/index.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Fragment.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Head.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/IfBlock.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/InlineComponent/index.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/KeyBlock.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/MustacheTag.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/RawMustacheTag.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Slot.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/SlotTemplate.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Text.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Title.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Window.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/Tag.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/Wrapper.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/add_actions.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/add_const_tags.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/add_event_handlers.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/bind_this.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/create_debugging_comment.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/get_slot_definition.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/is_dynamic.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/is_head.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/mark_each_block_bindings.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/Renderer.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/AwaitBlock.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/Comment.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/DebugTag.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/EachBlock.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/Element.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/Head.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/HtmlTag.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/IfBlock.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/InlineComponent.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/KeyBlock.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/Slot.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/SlotTemplate.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/Tag.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/Text.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/Title.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/shared/boolean_attributes.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/shared/get_attribute_value.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/shared/get_const_tags.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/shared/get_slot_scope.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/utils/remove_whitespace_children.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/index.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/__test__.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/add_to_set.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/check_enable_sourcemap.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/check_graph_for_cycles.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/compare_node.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/flatten_reference.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/get_name_from_filename.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/get_object.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/get_slot_data.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/hash.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/is_used_as_reference.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/nodes_to_template_literal.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/replace_object.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/reserved_keywords.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/scope.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/string_to_member_expression.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/stringify.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/config.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/index.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/interfaces.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/parse/acorn.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/parse/errors.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/parse/index.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/parse/read/context.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/parse/read/expression.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/parse/read/script.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/parse/read/style.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/parse/state/fragment.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/parse/state/mustache.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/parse/state/tag.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/parse/state/text.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/parse/utils/bracket.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/parse/utils/entities.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/parse/utils/html.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/parse/utils/node.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/preprocess/decode_sourcemap.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/preprocess/index.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/preprocess/replace_in_code.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/preprocess/types.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/utils/clone.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/utils/error.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/utils/extract_svelte_ignore.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/utils/flatten.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/utils/full_char_code_at.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/utils/fuzzymatch.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/utils/get_code_frame.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/utils/link.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/utils/list.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/utils/mapped_code.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/utils/names.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/utils/namespaces.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/utils/nodes_match.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/utils/patterns.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/utils/trim.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/ambient.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/animate/index.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/easing/index.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/index.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/internal/Component.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/internal/animations.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/internal/await_block.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/internal/dev.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/internal/dom.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/internal/environment.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/internal/globals.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/internal/index.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/internal/keyed_each.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/internal/lifecycle.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/internal/loop.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/internal/scheduler.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/internal/spread.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/internal/ssr.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/internal/style_manager.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/internal/transitions.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/internal/utils.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/motion/index.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/motion/spring.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/motion/tweened.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/motion/utils.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/ssr.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/store/index.d.ts create mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/transition/index.d.ts create mode 100644 packages/frontend-core/package.json rename packages/{client => frontend-core}/src/api/analytics.js (100%) create mode 100644 packages/frontend-core/src/api/api.js rename packages/{client => frontend-core}/src/api/app.js (100%) rename packages/{client => frontend-core}/src/api/attachments.js (100%) rename packages/{client => frontend-core}/src/api/auth.js (100%) rename packages/{client => frontend-core}/src/api/automations.js (100%) rename packages/{client => frontend-core}/src/api/index.js (100%) rename packages/{client => frontend-core}/src/api/queries.js (100%) rename packages/{client => frontend-core}/src/api/relationships.js (100%) rename packages/{client => frontend-core}/src/api/routes.js (100%) rename packages/{client => frontend-core}/src/api/rows.js (100%) rename packages/{client => frontend-core}/src/api/tables.js (100%) rename packages/{client => frontend-core}/src/api/views.js (100%) create mode 100644 packages/frontend-core/src/constants.js rename packages/{client/src/utils => frontend-core/src}/fetch/DataFetch.js (99%) rename packages/{client/src/utils => frontend-core/src}/fetch/FieldFetch.js (100%) rename packages/{client/src/utils => frontend-core/src}/fetch/JSONArrayFetch.js (77%) rename packages/{client/src/utils => frontend-core/src}/fetch/NestedProviderFetch.js (100%) rename packages/{client/src/utils => frontend-core/src}/fetch/QueryFetch.js (97%) rename packages/{client/src/utils => frontend-core/src}/fetch/RelationshipFetch.js (88%) rename packages/{client/src/utils => frontend-core/src}/fetch/TableFetch.js (95%) rename packages/{client/src/utils => frontend-core/src}/fetch/ViewFetch.js (90%) rename packages/{client/src/utils => frontend-core/src}/fetch/fetchData.js (94%) create mode 100644 packages/frontend-core/src/index.js rename packages/{builder/src/builderStore/store => frontend-core/src/stores}/localStorage.js (93%) rename packages/{builder/src/builderStore => frontend-core/src/utils}/cookies.js (100%) rename packages/{bbui => frontend-core}/src/utils/helpers.js (61%) rename packages/{builder/src/builderStore/jsonUtils.js => frontend-core/src/utils/json.js} (100%) rename packages/{builder/src/helpers => frontend-core/src/utils}/lucene.js (83%) rename packages/{client => frontend-core}/src/utils/schema.js (74%) create mode 100644 packages/frontend-core/yarn.lock diff --git a/packages/bbui/src/index.js b/packages/bbui/src/index.js index 16f069f4e7..3e86d01a0d 100644 --- a/packages/bbui/src/index.js +++ b/packages/bbui/src/index.js @@ -81,6 +81,3 @@ export { default as clickOutside } from "./Actions/click_outside" // Stores export { notifications, createNotificationStore } from "./Stores/notifications" - -// Utils -export * from "./utils/helpers" diff --git a/packages/builder/src/builderStore/uuid.js b/packages/builder/src/builderStore/uuid.js deleted file mode 100644 index 149da83c68..0000000000 --- a/packages/builder/src/builderStore/uuid.js +++ /dev/null @@ -1,9 +0,0 @@ -export function uuid() { - // always want to make this start with a letter, as this makes it - // easier to use with template string bindings in the client - return "cxxxxxxxxxxxx4xxxyxxxxxxxxxxxxxxx".replace(/[xy]/g, c => { - const r = (Math.random() * 16) | 0, - v = c == "x" ? r : (r & 0x3) | 0x8 - return v.toString(16) - }) -} diff --git a/packages/builder/src/constants/lucene.js b/packages/builder/src/constants/lucene.js index 132790739c..159b66e35d 100644 --- a/packages/builder/src/constants/lucene.js +++ b/packages/builder/src/constants/lucene.js @@ -1,58 +1,3 @@ -/** - * Operator options for lucene queries - */ -export const OperatorOptions = { - Equals: { - value: "equal", - label: "Equals", - }, - NotEquals: { - value: "notEqual", - label: "Not equals", - }, - Empty: { - value: "empty", - label: "Is empty", - }, - NotEmpty: { - value: "notEmpty", - label: "Is not empty", - }, - StartsWith: { - value: "string", - label: "Starts with", - }, - Like: { - value: "fuzzy", - label: "Like", - }, - MoreThan: { - value: "rangeLow", - label: "More than", - }, - LessThan: { - value: "rangeHigh", - label: "Less than", - }, - Contains: { - value: "equal", - label: "Contains", - }, - NotContains: { - value: "notEqual", - label: "Does Not Contain", - }, -} - -export const NoEmptyFilterStrings = [ - OperatorOptions.StartsWith.value, - OperatorOptions.Like.value, - OperatorOptions.Equals.value, - OperatorOptions.NotEquals.value, - OperatorOptions.Contains.value, - OperatorOptions.NotContains.value, -] - /** * Returns the valid operator options for a certain data type * @param type the data type diff --git a/packages/client/package.json b/packages/client/package.json index af286bf683..4d917b2080 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -20,6 +20,7 @@ }, "dependencies": { "@budibase/bbui": "^1.0.27-alpha.19", + "@budibase/frontend-core": "^1.0.27-alpha.19", "@budibase/standard-components": "^0.9.139", "@budibase/string-templates": "^1.0.27-alpha.19", "regexparam": "^1.3.0", diff --git a/packages/client/src/api/api.js b/packages/client/src/api/api.js deleted file mode 100644 index 2476030eb0..0000000000 --- a/packages/client/src/api/api.js +++ /dev/null @@ -1,97 +0,0 @@ -import { notificationStore } from "stores" -import { ApiVersion } from "constants" - -/** - * API cache for cached request responses. - */ -let cache = {} - -/** - * Handler for API errors. - */ -const handleError = error => { - return { error } -} - -/** - * Performs an API call to the server. - * App ID header is always correctly set. - */ -const makeApiCall = async ({ method, url, body, json = true }) => { - try { - const requestBody = json ? JSON.stringify(body) : body - const inBuilder = window["##BUDIBASE_IN_BUILDER##"] - const headers = { - Accept: "application/json", - "x-budibase-app-id": window["##BUDIBASE_APP_ID##"], - "x-budibase-api-version": ApiVersion, - ...(json && { "Content-Type": "application/json" }), - ...(!inBuilder && { "x-budibase-type": "client" }), - } - const response = await fetch(url, { - method, - headers, - body: requestBody, - credentials: "same-origin", - }) - switch (response.status) { - case 200: - return response.json() - case 401: - notificationStore.actions.error("Invalid credentials") - return handleError(`Invalid credentials`) - case 404: - notificationStore.actions.warning("Not found") - return handleError(`${url}: Not Found`) - case 400: - return handleError(`${url}: Bad Request`) - case 403: - notificationStore.actions.error( - "Your session has expired, or you don't have permission to access that data" - ) - return handleError(`${url}: Forbidden`) - default: - if (response.status >= 200 && response.status < 400) { - return response.json() - } - return handleError(`${url} - ${response.statusText}`) - } - } catch (error) { - return handleError(error) - } -} - -/** - * Performs an API call to the server and caches the response. - * Future invocation for this URL will return the cached result instead of - * hitting the server again. - */ -const makeCachedApiCall = async params => { - const identifier = params.url - if (!identifier) { - return null - } - if (!cache[identifier]) { - cache[identifier] = makeApiCall(params) - cache[identifier] = await cache[identifier] - } - return await cache[identifier] -} - -/** - * Constructs an API call function for a particular HTTP method. - */ -const requestApiCall = method => async params => { - const { url, cache = false } = params - const fixedUrl = `/${url}`.replace("//", "/") - const enrichedParams = { ...params, method, url: fixedUrl } - return await (cache ? makeCachedApiCall : makeApiCall)(enrichedParams) -} - -export default { - post: requestApiCall("POST"), - get: requestApiCall("GET"), - patch: requestApiCall("PATCH"), - del: requestApiCall("DELETE"), - error: handleError, -} diff --git a/packages/client/src/components/app/DataProvider.svelte b/packages/client/src/components/app/DataProvider.svelte index 71c54db4da..383824d65a 100644 --- a/packages/client/src/components/app/DataProvider.svelte +++ b/packages/client/src/components/app/DataProvider.svelte @@ -2,8 +2,7 @@ import { getContext } from "svelte" import { ProgressCircle, Pagination } from "@budibase/bbui" import Placeholder from "./Placeholder.svelte" - import { fetchData } from "utils/fetch/fetchData.js" - import { buildLuceneQuery } from "builder/src/helpers/lucene" + import { fetchData, LuceneUtils } from "@budibase/frontend-core" export let dataSource export let filter @@ -18,7 +17,7 @@ // We need to manage our lucene query manually as we want to allow components // to extend it let queryExtensions = {} - $: defaultQuery = buildLuceneQuery(filter) + $: defaultQuery = LuceneUtils.buildLuceneQuery(filter) $: query = extendQuery(defaultQuery, queryExtensions) // Keep our data fetch instance up to date diff --git a/packages/client/src/components/app/dynamic-filter/DynamicFilter.svelte b/packages/client/src/components/app/dynamic-filter/DynamicFilter.svelte index 20909d011c..d70bc34198 100644 --- a/packages/client/src/components/app/dynamic-filter/DynamicFilter.svelte +++ b/packages/client/src/components/app/dynamic-filter/DynamicFilter.svelte @@ -3,7 +3,7 @@ import { getContext, onDestroy } from "svelte" import { ModalContent, Modal } from "@budibase/bbui" import FilterModal from "./FilterModal.svelte" - import { buildLuceneQuery } from "builder/src/helpers/lucene" + import { LuceneUtils } from "@budibase/frontend-core" import Button from "../Button.svelte" export let dataProvider @@ -32,7 +32,7 @@ // Add query extension to data provider $: { if (filters?.length) { - const queryExtension = buildLuceneQuery(filters) + const queryExtension = LuceneUtils.buildLuceneQuery(filters) addExtension?.($component.id, queryExtension) } else { removeExtension?.($component.id) diff --git a/packages/client/src/components/app/dynamic-filter/FilterModal.svelte b/packages/client/src/components/app/dynamic-filter/FilterModal.svelte index f303c69aaf..f732dc8ef2 100644 --- a/packages/client/src/components/app/dynamic-filter/FilterModal.svelte +++ b/packages/client/src/components/app/dynamic-filter/FilterModal.svelte @@ -11,14 +11,12 @@ Select, } from "@budibase/bbui" import { generate } from "shortid" - import { - getValidOperatorsForType, - OperatorOptions, - } from "builder/src/constants/lucene" + import { LuceneUtils } from "@budibase/frontend-core" export let schemaFields export let filters = [] + const operatorOptions = LuceneUtils.OperatorOptions const BannedTypes = ["link", "attachment", "formula", "json"] $: fieldOptions = (schemaFields ?? []) @@ -31,7 +29,7 @@ { id: generate(), field: null, - operator: OperatorOptions.Equals.value, + operator: operatorOptions.Equals.value, value: null, valueType: "Value", }, @@ -53,11 +51,11 @@ expression.type = schemaFields.find(x => x.name === field)?.type // Ensure a valid operator is set - const validOperators = getValidOperatorsForType(expression.type).map( - x => x.value - ) + const validOperators = LuceneUtils.getValidOperatorsForType( + expression.type + ).map(x => x.value) if (!validOperators.includes(expression.operator)) { - expression.operator = validOperators[0] ?? OperatorOptions.Equals.value + expression.operator = validOperators[0] ?? operatorOptions.Equals.value onOperatorChange(expression, expression.operator) } @@ -72,8 +70,8 @@ const onOperatorChange = (expression, operator) => { const noValueOptions = [ - OperatorOptions.Empty.value, - OperatorOptions.NotEmpty.value, + operatorOptions.Empty.value, + operatorOptions.NotEmpty.value, ] expression.noValue = noValueOptions.includes(operator) if (expression.noValue) { @@ -109,7 +107,7 @@ /> onOperatorChange(filter, e.detail)} placeholder={null} diff --git a/packages/builder/src/helpers/fetchTableData.js b/packages/builder/src/helpers/fetchTableData.js index 6d61ec813e..c854b066d8 100644 --- a/packages/builder/src/helpers/fetchTableData.js +++ b/packages/builder/src/helpers/fetchTableData.js @@ -4,7 +4,7 @@ // add a core package. import { writable, derived, get } from "svelte/store" import * as API from "../builderStore/api" -import { buildLuceneQuery } from "./lucene" +import { LuceneUtils } from "@budibase/frontend-core" const defaultOptions = { tableId: null, @@ -113,7 +113,7 @@ export const fetchTableData = opts => { sortType = type === "number" ? "number" : "string" // Build the lucene query - query = buildLuceneQuery(filters) + query = LuceneUtils.buildLuceneQuery(filters) // Actually fetch data const page = await fetchPage() diff --git a/packages/builder/src/pages/builder/_layout.svelte b/packages/builder/src/pages/builder/_layout.svelte index 12a544096a..31f1d18d56 100644 --- a/packages/builder/src/pages/builder/_layout.svelte +++ b/packages/builder/src/pages/builder/_layout.svelte @@ -2,12 +2,7 @@ import { isActive, redirect, params } from "@roxi/routify" import { admin, auth } from "stores/portal" import { onMount } from "svelte" - import { - Cookies, - getCookie, - removeCookie, - setCookie, - } from "builderStore/cookies" + import { CookieUtils, Constants } from "@budibase/frontend-core" let loaded = false @@ -79,7 +74,7 @@ loaded && apiReady && !$auth.user && - !getCookie(Cookies.ReturnUrl) && + !CookieUtils.getCookie(Constants.Cookies.ReturnUrl) && // logout triggers a page refresh, so we don't want to set the return url !$auth.postLogout && // don't set the return url on pre-login pages @@ -88,7 +83,7 @@ !$isActive("./admin") ) { const url = window.location.pathname - setCookie(Cookies.ReturnUrl, url) + CookieUtils.setCookie(Constants.Cookies.ReturnUrl, url) } // if tenant is not set go to it @@ -122,9 +117,9 @@ } // lastly, redirect to the return url if it has been set else if (loaded && apiReady && $auth.user) { - const returnUrl = getCookie(Cookies.ReturnUrl) + const returnUrl = CookieUtils.getCookie(Constants.Cookies.ReturnUrl) if (returnUrl) { - removeCookie(Cookies.ReturnUrl) + CookieUtils.removeCookie(Constants.Cookies.ReturnUrl) window.location.href = returnUrl } } diff --git a/packages/builder/src/pages/builder/portal/manage/auth/index.svelte b/packages/builder/src/pages/builder/portal/manage/auth/index.svelte index 20d30fdfbb..896e1d53e1 100644 --- a/packages/builder/src/pages/builder/portal/manage/auth/index.svelte +++ b/packages/builder/src/pages/builder/portal/manage/auth/index.svelte @@ -22,7 +22,7 @@ import { onMount } from "svelte" import api from "builderStore/api" import { organisation, admin } from "stores/portal" - import { uuid } from "builderStore/uuid" + import { Helpers } from "@budibase/bbui" import analytics, { Events } from "analytics" const ConfigTypes = { @@ -164,7 +164,7 @@ //Add a UUID here so each config is distinguishable when it arrives at the login page for (let config of element.config.configs) { if (!config.uuid) { - config.uuid = uuid() + config.uuid = Helpers.uuid() } // callback urls shouldn't be included delete config.callbackURL diff --git a/packages/client/src/components/app/dynamic-filter/FilterModal.svelte b/packages/client/src/components/app/dynamic-filter/FilterModal.svelte index f732dc8ef2..652dd7ccd5 100644 --- a/packages/client/src/components/app/dynamic-filter/FilterModal.svelte +++ b/packages/client/src/components/app/dynamic-filter/FilterModal.svelte @@ -11,12 +11,11 @@ Select, } from "@budibase/bbui" import { generate } from "shortid" - import { LuceneUtils } from "@budibase/frontend-core" + import { LuceneUtils, Constants } from "@budibase/frontend-core" export let schemaFields export let filters = [] - const operatorOptions = LuceneUtils.OperatorOptions const BannedTypes = ["link", "attachment", "formula", "json"] $: fieldOptions = (schemaFields ?? []) @@ -29,7 +28,7 @@ { id: generate(), field: null, - operator: operatorOptions.Equals.value, + operator: Constants.OperatorOptions.Equals.value, value: null, valueType: "Value", }, @@ -55,7 +54,8 @@ expression.type ).map(x => x.value) if (!validOperators.includes(expression.operator)) { - expression.operator = validOperators[0] ?? operatorOptions.Equals.value + expression.operator = + validOperators[0] ?? Constants.OperatorOptions.Equals.value onOperatorChange(expression, expression.operator) } @@ -70,8 +70,8 @@ const onOperatorChange = (expression, operator) => { const noValueOptions = [ - operatorOptions.Empty.value, - operatorOptions.NotEmpty.value, + Constants.OperatorOptions.Empty.value, + Constants.OperatorOptions.NotEmpty.value, ] expression.noValue = noValueOptions.includes(operator) if (expression.noValue) { diff --git a/packages/frontend-core/src/constants.js b/packages/frontend-core/src/constants.js index 01c3b742b2..33cf1b7d1c 100644 --- a/packages/frontend-core/src/constants.js +++ b/packages/frontend-core/src/constants.js @@ -1,10 +1,65 @@ +/** + * Operator options for lucene queries + */ +export const OperatorOptions = { + Equals: { + value: "equal", + label: "Equals", + }, + NotEquals: { + value: "notEqual", + label: "Not equals", + }, + Empty: { + value: "empty", + label: "Is empty", + }, + NotEmpty: { + value: "notEmpty", + label: "Is not empty", + }, + StartsWith: { + value: "string", + label: "Starts with", + }, + Like: { + value: "fuzzy", + label: "Like", + }, + MoreThan: { + value: "rangeLow", + label: "More than", + }, + LessThan: { + value: "rangeHigh", + label: "Less than", + }, + Contains: { + value: "equal", + label: "Contains", + }, + NotContains: { + value: "notEqual", + label: "Does Not Contain", + }, +} + +// Cookie names +export const Cookies = { + Auth: "budibase:auth", + CurrentApp: "budibase:currentapp", + ReturnUrl: "budibase:returnurl", +} + +// Table names export const TableNames = { USERS: "ta_users", } -export const ApiVersion = "1" /** - * API Version Changelog + * API version header attached to all requests. + * Version changelog: * v1: * - Coerce types for search endpoint */ +export const ApiVersion = "1" diff --git a/packages/frontend-core/src/utils/cookies.js b/packages/frontend-core/src/utils/cookies.js index cb4e46ec86..5ecaa3424f 100644 --- a/packages/frontend-core/src/utils/cookies.js +++ b/packages/frontend-core/src/utils/cookies.js @@ -1,9 +1,3 @@ -export const Cookies = { - Auth: "budibase:auth", - CurrentApp: "budibase:currentapp", - ReturnUrl: "budibase:returnurl", -} - export function setCookie(name, value) { if (getCookie(name)) { removeCookie(name) diff --git a/packages/frontend-core/src/utils/lucene.js b/packages/frontend-core/src/utils/lucene.js index 7b725ad63d..bf16226a3b 100644 --- a/packages/frontend-core/src/utils/lucene.js +++ b/packages/frontend-core/src/utils/lucene.js @@ -1,50 +1,5 @@ import { Helpers } from "@budibase/bbui" - -/** - * Operator options for lucene queries - */ -export const OperatorOptions = { - Equals: { - value: "equal", - label: "Equals", - }, - NotEquals: { - value: "notEqual", - label: "Not equals", - }, - Empty: { - value: "empty", - label: "Is empty", - }, - NotEmpty: { - value: "notEmpty", - label: "Is not empty", - }, - StartsWith: { - value: "string", - label: "Starts with", - }, - Like: { - value: "fuzzy", - label: "Like", - }, - MoreThan: { - value: "rangeLow", - label: "More than", - }, - LessThan: { - value: "rangeHigh", - label: "Less than", - }, - Contains: { - value: "equal", - label: "Contains", - }, - NotContains: { - value: "notEqual", - label: "Does Not Contain", - }, -} +import { OperatorOptions } from "../constants" /** * Returns the valid operator options for a certain data type From 6a07e727cd3c4bd608206946b221e8138495f124 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Thu, 20 Jan 2022 11:26:43 +0000 Subject: [PATCH 011/176] Fix recursion issue with applying API method patches --- packages/frontend-core/src/api/index.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/frontend-core/src/api/index.js b/packages/frontend-core/src/api/index.js index 3632670dce..6f321307ae 100644 --- a/packages/frontend-core/src/api/index.js +++ b/packages/frontend-core/src/api/index.js @@ -179,8 +179,9 @@ export const createAPIClient = config => { const patches = Object.entries(config.patches || {}) if (patches.length) { patches.forEach(([method, fn]) => { + const baseFn = API[method] API[method] = async (...params) => { - const output = await API[method](...params) + const output = await baseFn(...params) return await fn({ params, output }) } }) From c7e98623bc4a3ffe6c351a7cb5b3ae8d2d4e66b1 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Thu, 20 Jan 2022 11:29:30 +0000 Subject: [PATCH 012/176] Update usage of DataFetching in client apps --- .../src/components/app/DataProvider.svelte | 18 +++++++++++------- 1 file changed, 11 insertions(+), 7 deletions(-) diff --git a/packages/client/src/components/app/DataProvider.svelte b/packages/client/src/components/app/DataProvider.svelte index 4455461287..69b2ccfc82 100644 --- a/packages/client/src/components/app/DataProvider.svelte +++ b/packages/client/src/components/app/DataProvider.svelte @@ -11,7 +11,7 @@ export let limit export let paginate - const { styleable, Provider, ActionTypes } = getContext("sdk") + const { styleable, Provider, ActionTypes, API } = getContext("sdk") const component = getContext("component") // We need to manage our lucene query manually as we want to allow components @@ -82,12 +82,16 @@ } const createFetch = datasource => { - return fetchData(datasource, { - query, - sortColumn, - sortOrder, - limit, - paginate, + return fetchData({ + API, + datasource, + options: { + query, + sortColumn, + sortOrder, + limit, + paginate, + }, }) } From a3d6af7b9fac68c33a4645d46842759e3911ddfa Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Thu, 20 Jan 2022 11:30:51 +0000 Subject: [PATCH 013/176] Update usage of fetch client app route endpoint --- packages/client/src/stores/routes.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/client/src/stores/routes.js b/packages/client/src/stores/routes.js index 6614d4d236..b4274197ae 100644 --- a/packages/client/src/stores/routes.js +++ b/packages/client/src/stores/routes.js @@ -18,7 +18,7 @@ const createRouteStore = () => { const fetchRoutes = async () => { let routeConfig try { - routeConfig = await API.fetchRoutes() + routeConfig = await API.fetchClientAppRoutes() } catch (error) { routeConfig = null } From d494e53786fa64359683f93a4c38494fa6a1fa19 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Thu, 20 Jan 2022 11:50:18 +0000 Subject: [PATCH 014/176] Remove static functions from data fetch models --- packages/client/src/sdk.js | 6 ++-- .../src/utils/schema.js | 28 ++++++++++--------- packages/frontend-core/src/fetch/DataFetch.js | 12 ++++---- .../frontend-core/src/fetch/FieldFetch.js | 2 +- .../frontend-core/src/fetch/JSONArrayFetch.js | 2 +- .../src/fetch/NestedProviderFetch.js | 2 +- .../frontend-core/src/fetch/QueryFetch.js | 2 +- packages/frontend-core/src/fetch/ViewFetch.js | 2 +- packages/frontend-core/src/index.js | 1 - 9 files changed, 29 insertions(+), 28 deletions(-) rename packages/{frontend-core => client}/src/utils/schema.js (66%) diff --git a/packages/client/src/sdk.js b/packages/client/src/sdk.js index aa87330edb..c5e023832f 100644 --- a/packages/client/src/sdk.js +++ b/packages/client/src/sdk.js @@ -1,4 +1,3 @@ -import { SchemaUtils } from "@budibase/frontend-core" import { API } from "./api.js" import { authStore, @@ -11,7 +10,8 @@ import { styleable } from "utils/styleable" import { linkable } from "utils/linkable" import { getAction } from "utils/getAction" import Provider from "components/context/Provider.svelte" -import { ActionTypes } from "constants" +import { ActionTypes } from "./constants" +import { fetchDatasourceSchema } from "./utils/schema.js" export default { API, @@ -23,7 +23,7 @@ export default { styleable, linkable, getAction, - fetchDatasourceSchema: SchemaUtils.fetchDatasourceSchema, + fetchDatasourceSchema, Provider, ActionTypes, } diff --git a/packages/frontend-core/src/utils/schema.js b/packages/client/src/utils/schema.js similarity index 66% rename from packages/frontend-core/src/utils/schema.js rename to packages/client/src/utils/schema.js index 085ed482d7..46beaa5de7 100644 --- a/packages/frontend-core/src/utils/schema.js +++ b/packages/client/src/utils/schema.js @@ -1,12 +1,13 @@ -import { convertJSONSchemaToTableSchema } from "./json" -import DataFetch from "../fetch/DataFetch.js" -import TableFetch from "../fetch/TableFetch.js" -import ViewFetch from "../fetch/ViewFetch.js" -import QueryFetch from "../fetch/QueryFetch.js" -import RelationshipFetch from "../fetch/RelationshipFetch.js" -import NestedProviderFetch from "../fetch/NestedProviderFetch.js" -import FieldFetch from "../fetch/FieldFetch.js" -import JSONArrayFetch from "../fetch/JSONArrayFetch.js" +import { API } from "../api.js" +import { JSONUtils } from "@budibase/frontend-core" +import DataFetch from "@budibase/frontend-core/src/fetch/DataFetch.js" +import TableFetch from "@budibase/frontend-core/src/fetch/TableFetch.js" +import ViewFetch from "@budibase/frontend-core/src/fetch/ViewFetch.js" +import QueryFetch from "@budibase/frontend-core/src/fetch/QueryFetch.js" +import RelationshipFetch from "@budibase/frontend-core/src/fetch/RelationshipFetch.js" +import NestedProviderFetch from "@budibase/frontend-core/src/fetch/NestedProviderFetch.js" +import FieldFetch from "@budibase/frontend-core/src/fetch/FieldFetch.js" +import JSONArrayFetch from "@budibase/frontend-core/src/fetch/JSONArrayFetch.js" /** * Fetches the schema of any kind of datasource. @@ -31,10 +32,11 @@ export const fetchDatasourceSchema = async ( if (!handler) { return null } + const instance = new handler({ API }) // Get the datasource definition and then schema - const definition = await handler.getDefinition(datasource) - let schema = handler.getSchema(datasource, definition) + const definition = await instance.getDefinition(datasource) + let schema = instance.getSchema(datasource, definition) if (!schema) { return null } @@ -44,7 +46,7 @@ export const fetchDatasourceSchema = async ( Object.keys(schema).forEach(fieldKey => { const fieldSchema = schema[fieldKey] if (fieldSchema?.type === "json") { - const jsonSchema = convertJSONSchemaToTableSchema(fieldSchema, { + const jsonSchema = JSONUtils.convertJSONSchemaToTableSchema(fieldSchema, { squashObjects: true, }) Object.keys(jsonSchema).forEach(jsonKey => { @@ -78,5 +80,5 @@ export const fetchDatasourceSchema = async ( } // Ensure schema structure is correct - return DataFetch.enrichSchema(schema) + return instance.enrichSchema(schema) } diff --git a/packages/frontend-core/src/fetch/DataFetch.js b/packages/frontend-core/src/fetch/DataFetch.js index cf47f984cf..72e1d84f00 100644 --- a/packages/frontend-core/src/fetch/DataFetch.js +++ b/packages/frontend-core/src/fetch/DataFetch.js @@ -118,7 +118,7 @@ export default class DataFetch { const { datasource, filter, sortColumn, paginate } = this.options // Fetch datasource definition and determine feature flags - const definition = await this.constructor.getDefinition(datasource) + const definition = await this.getDefinition(datasource) const features = this.determineFeatureFlags(definition) this.featureStore.set({ supportsSearch: !!features?.supportsSearch, @@ -127,8 +127,8 @@ export default class DataFetch { }) // Fetch and enrich schema - let schema = this.constructor.getSchema(datasource, definition) - schema = DataFetch.enrichSchema(schema) + let schema = this.getSchema(datasource, definition) + schema = this.enrichSchema(schema) if (!schema) { return } @@ -224,7 +224,7 @@ export default class DataFetch { * @param datasource * @return {object} the definition */ - static async getDefinition(datasource) { + async getDefinition(datasource) { if (!datasource?.tableId) { return null } @@ -242,7 +242,7 @@ export default class DataFetch { * @param definition the datasource definition * @return {object} the schema */ - static getSchema(datasource, definition) { + getSchema(datasource, definition) { return definition?.schema } @@ -251,7 +251,7 @@ export default class DataFetch { * @param schema the datasource schema * @return {object} the enriched datasource schema */ - static enrichSchema(schema) { + enrichSchema(schema) { if (schema == null) { return null } diff --git a/packages/frontend-core/src/fetch/FieldFetch.js b/packages/frontend-core/src/fetch/FieldFetch.js index 755e367ac4..9402a45a83 100644 --- a/packages/frontend-core/src/fetch/FieldFetch.js +++ b/packages/frontend-core/src/fetch/FieldFetch.js @@ -1,7 +1,7 @@ import DataFetch from "./DataFetch.js" export default class FieldFetch extends DataFetch { - static async getDefinition(datasource) { + async getDefinition(datasource) { // Field sources have their schema statically defined let schema if (datasource.fieldType === "attachment") { diff --git a/packages/frontend-core/src/fetch/JSONArrayFetch.js b/packages/frontend-core/src/fetch/JSONArrayFetch.js index 783ad9973c..ab2af3e2c7 100644 --- a/packages/frontend-core/src/fetch/JSONArrayFetch.js +++ b/packages/frontend-core/src/fetch/JSONArrayFetch.js @@ -2,7 +2,7 @@ import FieldFetch from "./FieldFetch.js" import { getJSONArrayDatasourceSchema } from "../utils/json" export default class JSONArrayFetch extends FieldFetch { - static async getDefinition(datasource) { + async getDefinition(datasource) { // JSON arrays need their table definitions fetched. // We can then extract their schema as a subset of the table schema. try { diff --git a/packages/frontend-core/src/fetch/NestedProviderFetch.js b/packages/frontend-core/src/fetch/NestedProviderFetch.js index 163d7e9930..01c22b6ba0 100644 --- a/packages/frontend-core/src/fetch/NestedProviderFetch.js +++ b/packages/frontend-core/src/fetch/NestedProviderFetch.js @@ -1,7 +1,7 @@ import DataFetch from "./DataFetch.js" export default class NestedProviderFetch extends DataFetch { - static async getDefinition(datasource) { + async getDefinition(datasource) { // Nested providers should already have exposed their own schema return { schema: datasource?.value?.schema, diff --git a/packages/frontend-core/src/fetch/QueryFetch.js b/packages/frontend-core/src/fetch/QueryFetch.js index a95ede95de..19aea6dfde 100644 --- a/packages/frontend-core/src/fetch/QueryFetch.js +++ b/packages/frontend-core/src/fetch/QueryFetch.js @@ -11,7 +11,7 @@ export default class QueryFetch extends DataFetch { return { supportsPagination } } - static async getDefinition(datasource) { + async getDefinition(datasource) { if (!datasource?._id) { return null } diff --git a/packages/frontend-core/src/fetch/ViewFetch.js b/packages/frontend-core/src/fetch/ViewFetch.js index 431b2046df..981969f46c 100644 --- a/packages/frontend-core/src/fetch/ViewFetch.js +++ b/packages/frontend-core/src/fetch/ViewFetch.js @@ -1,7 +1,7 @@ import DataFetch from "./DataFetch.js" export default class ViewFetch extends DataFetch { - static getSchema(datasource, definition) { + getSchema(datasource, definition) { return definition?.views?.[datasource.name]?.schema } diff --git a/packages/frontend-core/src/index.js b/packages/frontend-core/src/index.js index 7e474db757..53822fdfb4 100644 --- a/packages/frontend-core/src/index.js +++ b/packages/frontend-core/src/index.js @@ -5,4 +5,3 @@ export * as Constants from "./constants" export * as LuceneUtils from "./utils/lucene" export * as JSONUtils from "./utils/json" export * as CookieUtils from "./utils/cookies" -export * as SchemaUtils from "./utils/schema" From 86e0e8acc27accb0823112b831b8ff612059bbfa Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Thu, 20 Jan 2022 11:52:29 +0000 Subject: [PATCH 015/176] Fix DND throwing errors due to browser API updates --- packages/client/src/components/preview/DNDHandler.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/client/src/components/preview/DNDHandler.svelte b/packages/client/src/components/preview/DNDHandler.svelte index 82828b1258..ca083dd01e 100644 --- a/packages/client/src/components/preview/DNDHandler.svelte +++ b/packages/client/src/components/preview/DNDHandler.svelte @@ -143,7 +143,7 @@ // Callback when entering a potential drop target const onDragEnter = e => { // Skip if we aren't validly dragging currently - if (!dragInfo) { + if (!dragInfo || !e.target.closest) { return } From 978c3984e9f265e21a9ac1234e1b260d004108f2 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Thu, 20 Jan 2022 13:37:06 +0000 Subject: [PATCH 016/176] Extract error mesages better when throwing errors in core api client --- packages/frontend-core/src/api/index.js | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/packages/frontend-core/src/api/index.js b/packages/frontend-core/src/api/index.js index 6f321307ae..0b91df8f76 100644 --- a/packages/frontend-core/src/api/index.js +++ b/packages/frontend-core/src/api/index.js @@ -33,16 +33,17 @@ export const createAPIClient = config => { */ const makeErrorFromResponse = async response => { // Try to read a message from the error - let message + let message = response.statusText try { const json = await response.json() - if (json?.error) { + if (json?.message) { + message = json.message + } else if (json?.error) { message = json.error } } catch (error) { // Do nothing } - console.log("building error from", response) return { message, status: response.status, From d3a4e34b3faeccbce49a7afb65cb2ac69494c528 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Thu, 20 Jan 2022 13:37:20 +0000 Subject: [PATCH 017/176] Don't show a notification if there is no error message --- packages/client/src/api.js | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/client/src/api.js b/packages/client/src/api.js index 911d421844..e617dae00f 100644 --- a/packages/client/src/api.js +++ b/packages/client/src/api.js @@ -18,7 +18,9 @@ export const API = createAPIClient({ // We could also log these to sentry. // Or we could check error.status and redirect to login on a 403 etc. onError: error => { - notificationStore.actions.error(error.message) + if (error.message) { + notificationStore.actions.error(error.message) + } }, // Patch certain endpoints with functionality specific to client apps From 9f180ca29205378b4208c444d242b60389108f50 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Thu, 20 Jan 2022 13:37:33 +0000 Subject: [PATCH 018/176] Fix issue with search fields in builder when not using a table --- .../PropertiesPanel/PropertyControls/SearchFieldSelect.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/builder/src/components/design/PropertiesPanel/PropertyControls/SearchFieldSelect.svelte b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/SearchFieldSelect.svelte index 474fbc676c..e609426b1e 100644 --- a/packages/builder/src/components/design/PropertiesPanel/PropertyControls/SearchFieldSelect.svelte +++ b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/SearchFieldSelect.svelte @@ -25,7 +25,7 @@ return base } const currentTable = $tables.list.find(table => table._id === ds.tableId) - return getFields(base, { allowLinks: currentTable.sql }).map( + return getFields(base, { allowLinks: currentTable?.sql }).map( field => field.name ) } From 21443b0e53cda36e7a3f035eff116be8a5b7cd6b Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Thu, 20 Jan 2022 13:55:07 +0000 Subject: [PATCH 019/176] Tidy core API client --- packages/frontend-core/src/api/index.js | 24 ++++++++---------------- 1 file changed, 8 insertions(+), 16 deletions(-) diff --git a/packages/frontend-core/src/api/index.js b/packages/frontend-core/src/api/index.js index 0b91df8f76..9c4713daa8 100644 --- a/packages/frontend-core/src/api/index.js +++ b/packages/frontend-core/src/api/index.js @@ -28,9 +28,7 @@ export const createAPIClient = config => { ...config, } - /** - * Handler for API errors. - */ + // Generates an error object from an API response const makeErrorFromResponse = async response => { // Try to read a message from the error let message = response.statusText @@ -50,6 +48,7 @@ export const createAPIClient = config => { } } + // Generates an error object from a string const makeError = message => { return { message, @@ -57,10 +56,7 @@ export const createAPIClient = config => { } } - /** - * Performs an API call to the server. - * App ID header is always correctly set. - */ + // Performs an API call to the server. const makeApiCall = async ({ method, url, @@ -119,11 +115,9 @@ export const createAPIClient = config => { } } - /** - * Performs an API call to the server and caches the response. - * Future invocation for this URL will return the cached result instead of - * hitting the server again. - */ + // Performs an API call to the server and caches the response. + // Future invocation for this URL will return the cached result instead of + // hitting the server again. let cache = {} const makeCachedApiCall = async params => { const identifier = params.url @@ -137,9 +131,7 @@ export const createAPIClient = config => { return await cache[identifier] } - /** - * Constructs an API call function for a particular HTTP method. - */ + // Constructs an API call function for a particular HTTP method. const requestApiCall = method => async params => { let { url, cache = false, external = false } = params if (!external) { @@ -160,7 +152,7 @@ export const createAPIClient = config => { }, } - // Attach all other endpoints + // Attach all endpoints API = { ...API, ...buildAnalyticsEndpoints(API), From b74815d41b2737615b80851a03e85af8648f28b0 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Thu, 20 Jan 2022 14:27:43 +0000 Subject: [PATCH 020/176] Add URL to error objects --- packages/frontend-core/src/api/index.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/frontend-core/src/api/index.js b/packages/frontend-core/src/api/index.js index 9c4713daa8..8fb61c9edb 100644 --- a/packages/frontend-core/src/api/index.js +++ b/packages/frontend-core/src/api/index.js @@ -45,6 +45,7 @@ export const createAPIClient = config => { return { message, status: response.status, + url: response.url, } } @@ -53,6 +54,7 @@ export const createAPIClient = config => { return { message, status: 400, + url: "", } } @@ -147,6 +149,7 @@ export const createAPIClient = config => { get: requestApiCall("GET"), patch: requestApiCall("PATCH"), delete: requestApiCall("DELETE"), + put: requestApiCall("PUT"), error: message => { throw makeError(message) }, From 6a7aed1c0d51e4d88de5744141a1eb7d3dc5d695 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Thu, 20 Jan 2022 18:42:30 +0000 Subject: [PATCH 021/176] Update parts of builder with core API refactor --- packages/builder/src/analytics/index.js | 19 +- packages/builder/src/builderStore/api.js | 66 ++-- .../builderStore/loadComponentLibraries.js | 16 - .../src/builderStore/store/frontend.js | 311 +++++++++--------- .../src/builderStore/store/notifications.js | 23 -- .../src/components/deploy/DeployModal.svelte | 22 +- .../builder/src/helpers/fetchTableData.js | 7 +- .../src/stores/backend/integrations.js | 19 +- packages/builder/vite.config.js | 4 + packages/frontend-core/src/api/analytics.js | 9 + packages/frontend-core/src/api/app.js | 23 ++ packages/frontend-core/src/api/builder.js | 17 + packages/frontend-core/src/api/index.js | 2 + packages/frontend-core/src/api/layouts.js | 23 ++ packages/frontend-core/src/api/routes.js | 6 + packages/frontend-core/src/api/screens.js | 23 ++ 16 files changed, 345 insertions(+), 245 deletions(-) delete mode 100644 packages/builder/src/builderStore/loadComponentLibraries.js delete mode 100644 packages/builder/src/builderStore/store/notifications.js create mode 100644 packages/frontend-core/src/api/builder.js create mode 100644 packages/frontend-core/src/api/layouts.js create mode 100644 packages/frontend-core/src/api/screens.js diff --git a/packages/builder/src/analytics/index.js b/packages/builder/src/analytics/index.js index e9edf38d74..26947a2320 100644 --- a/packages/builder/src/analytics/index.js +++ b/packages/builder/src/analytics/index.js @@ -1,8 +1,9 @@ -import api from "builderStore/api" +import { API } from "api" import PosthogClient from "./PosthogClient" import IntercomClient from "./IntercomClient" import SentryClient from "./SentryClient" import { Events } from "./constants" +import { notifications } from "@budibase/bbui" const posthog = new PosthogClient( process.env.POSTHOG_TOKEN, @@ -17,13 +18,15 @@ class AnalyticsHub { } async activate() { - const analyticsStatus = await api.get("/api/analytics") - const json = await analyticsStatus.json() - - // Analytics disabled - if (!json.enabled) return - - this.clients.forEach(client => client.init()) + try { + // Check analytics are enabled + const analyticsStatus = await API.getAnalyticsStatus() + if (analyticsStatus.enabled) { + this.clients.forEach(client => client.init()) + } + } catch (error) { + notifications.error("Error checking analytics status") + } } identify(id, metadata) { diff --git a/packages/builder/src/builderStore/api.js b/packages/builder/src/builderStore/api.js index 9dfd8af854..085c176f88 100644 --- a/packages/builder/src/builderStore/api.js +++ b/packages/builder/src/builderStore/api.js @@ -1,40 +1,44 @@ +import { + createAPIClient, + CookieUtils, + Constants, +} from "@budibase/frontend-core" import { store } from "./index" -import { get as svelteGet } from "svelte/store" -import { CookieUtils, Constants } from "@budibase/frontend-core" +import { get } from "svelte/store" +import { notifications } from "@budibase/bbui" -const apiCall = - method => - async (url, body, headers = { "Content-Type": "application/json" }) => { - headers["x-budibase-app-id"] = svelteGet(store).appId - const json = headers["Content-Type"] === "application/json" - const resp = await fetch(url, { - method: method, - body: json ? JSON.stringify(body) : body, - headers, - }) - if (resp.status === 403) { +export const API = createAPIClient({ + attachHeaders: headers => { + // Attach app ID header from store + headers["x-budibase-app-id"] = get(store).appId + }, + + onError: error => { + const { url, message, status } = error + + // Log all API errors to Sentry + // analytics.captureException(error) + + // Show a notification for any errors + if (message) { + notifications.error(`Error fetching ${url}: ${message}`) + } + + // Logout on 403's + if (status === 403) { + // Don't do anything if fetching templates. + // TODO: clarify why this is here if (url.includes("/api/templates")) { - return { json: () => [] } + return } + + // Remove the auth cookie CookieUtils.removeCookie(Constants.Cookies.Auth) - // reload after removing cookie, go to login + + // Reload after removing cookie, go to login if (!url.includes("self") && !url.includes("login")) { location.reload() } } - return resp - } - -export const post = apiCall("POST") -export const get = apiCall("GET") -export const patch = apiCall("PATCH") -export const del = apiCall("DELETE") -export const put = apiCall("PUT") - -export default { - post: apiCall("POST"), - get: apiCall("GET"), - patch: apiCall("PATCH"), - delete: apiCall("DELETE"), - put: apiCall("PUT"), -} + }, +}) diff --git a/packages/builder/src/builderStore/loadComponentLibraries.js b/packages/builder/src/builderStore/loadComponentLibraries.js deleted file mode 100644 index 8bdfcf7538..0000000000 --- a/packages/builder/src/builderStore/loadComponentLibraries.js +++ /dev/null @@ -1,16 +0,0 @@ -import { get } from "builderStore/api" - -/** - * Fetches the definitions for component library components. This includes - * their props and other metadata from components.json. - * @param {string} appId - ID of the currently running app - */ -export const fetchComponentLibDefinitions = async appId => { - const LIB_DEFINITION_URL = `/api/${appId}/components/definitions` - try { - const libDefinitionResponse = await get(LIB_DEFINITION_URL) - return await libDefinitionResponse.json() - } catch (err) { - console.error(`Error fetching component definitions for ${appId}`, err) - } -} diff --git a/packages/builder/src/builderStore/store/frontend.js b/packages/builder/src/builderStore/store/frontend.js index fdd4599e18..9b3a95d7f7 100644 --- a/packages/builder/src/builderStore/store/frontend.js +++ b/packages/builder/src/builderStore/store/frontend.js @@ -15,8 +15,7 @@ import { database, tables, } from "stores/backend" -import { fetchComponentLibDefinitions } from "../loadComponentLibraries" -import api from "../api" +import { API } from "api" import { FrontendTypes } from "constants" import analytics, { Events } from "analytics" import { @@ -29,6 +28,7 @@ import { } from "../componentUtils" import { Helpers } from "@budibase/bbui" import { removeBindings } from "../dataBinding" +import { notifications } from "@budibase/bbui" const INITIAL_FRONTEND_STATE = { apps: [], @@ -68,15 +68,12 @@ export const getFrontendStore = () => { store.actions = { initialise: async pkg => { const { layouts, screens, application, clientLibPath } = pkg - const components = await fetchComponentLibDefinitions(application.appId) - // make sure app isn't locked - if ( - components && - components.status === 400 && - components.message?.includes("lock") - ) { - throw { ok: false, reason: "locked" } - } + + // Fetch component definitions. + // Allow errors to propagate. + let components = await API.fetchComponentLibDefinitions(application.appId) + + // Reset store state store.update(state => ({ ...state, libraries: application.componentLibraries, @@ -100,56 +97,57 @@ export const getFrontendStore = () => { version: application.version, revertableVersion: application.revertableVersion, })) - await hostingStore.actions.fetch() // Initialise backend stores - const [_integrations] = await Promise.all([ - api.get("/api/integrations").then(r => r.json()), - ]) - datasources.init() - integrations.set(_integrations) - queries.init() database.set(application.instance) - tables.init() + await hostingStore.actions.fetch() + await datasources.init() + await integrations.init() + await queries.init() + await tables.init() }, theme: { save: async theme => { const appId = get(store).appId - const response = await api.put(`/api/applications/${appId}`, { theme }) - if (response.status === 200) { + const metadata = { appId, theme } + try { + await API.saveAppMetadata(metadata) store.update(state => { state.theme = theme return state }) - } else { - throw new Error("Error updating theme") + } catch (error) { + notifications.error("Error updating theme") } }, }, customTheme: { save: async customTheme => { const appId = get(store).appId - const response = await api.put(`/api/applications/${appId}`, { - customTheme, - }) - if (response.status === 200) { + const metadata = { appId, customTheme } + try { + await API.saveAppMetadata(metadata) store.update(state => { state.customTheme = customTheme return state }) - } else { - throw new Error("Error updating theme") + } catch (error) { + notifications.error("Error updating custom theme") } }, }, routing: { fetch: async () => { - const response = await api.get("/api/routing") - const json = await response.json() - store.update(state => { - state.routes = json.routes - return state - }) + try { + const routes = await API.getAppRoutes() + console.log(routes) + store.update(state => { + state.routes = routes.routes + return state + }) + } catch (error) { + notifications.error("Error fetching app routes") + } }, }, screens: { @@ -172,81 +170,100 @@ export const getFrontendStore = () => { }) }, create: async screen => { - screen = await store.actions.screens.save(screen) - store.update(state => { - state.selectedScreenId = screen._id - state.selectedComponentId = screen.props._id - state.currentFrontEndType = FrontendTypes.SCREEN - selectedAccessRole.set(screen.routing.roleId) - return state - }) - return screen + try { + const savedScreen = await API.saveScreen(screen) + store.update(state => { + state.selectedScreenId = savedScreen._id + state.selectedComponentId = savedScreen.props._id + state.currentFrontEndType = FrontendTypes.SCREEN + selectedAccessRole.set(savedScreen.routing.roleId) + return savedScreen + }) + + // Refresh routes + await store.actions.routing.fetch() + return savedScreen + } catch (error) { + notifications.error("Error creating screen") + return null + } }, save: async screen => { - const creatingNewScreen = screen._id === undefined - const response = await api.post(`/api/screens`, screen) - if (response.status !== 200) { - return - } - screen = await response.json() - await store.actions.routing.fetch() + try { + const creatingNewScreen = screen._id === undefined + const savedScreen = await API.saveScreen(screen) + store.update(state => { + const idx = state.screens.findIndex(x => x._id === savedScreen._id) + if (idx !== -1) { + state.screens.splice(idx, 1, savedScreen) + } else { + state.screens.push(savedScreen) + } + return state + }) - store.update(state => { - const foundScreen = state.screens.findIndex( - el => el._id === screen._id - ) - if (foundScreen !== -1) { - state.screens.splice(foundScreen, 1) + // Refresh routes + await store.actions.routing.fetch() + + // Select the new screen if creating a new one + if (creatingNewScreen) { + store.actions.screens.select(savedScreen._id) } - state.screens.push(screen) - return state - }) - - if (creatingNewScreen) { - store.actions.screens.select(screen._id) + return savedScreen + } catch (error) { + notifications.error("Error saving screen") + return null } - - return screen }, delete: async screens => { const screensToDelete = Array.isArray(screens) ? screens : [screens] - const screenDeletePromises = [] - store.update(state => { - for (let screenToDelete of screensToDelete) { - state.screens = state.screens.filter( - screen => screen._id !== screenToDelete._id + // Build array of promises to speed up bulk deletions + const promises = [] + screensToDelete.forEach(screen => { + // Delete the screen + promises.push( + API.deleteScreen({ + screenId: screen._id, + screenRev: screen._rev, + }) + ) + // Remove links to this screen + promises.push( + store.actions.components.links.delete( + screen.routing.route, + screen.props._instanceName ) - screenDeletePromises.push( - api.delete( - `/api/screens/${screenToDelete._id}/${screenToDelete._rev}` - ) - ) - if (screenToDelete._id === state.selectedScreenId) { + ) + }) + + try { + await Promise.all(promises) + const deletedIds = screensToDelete.map(screen => screen._id) + store.update(state => { + // Remove deleted screens from state + state.screens = state.screens.filter(screen => { + return !deletedIds.includes(screen._id) + }) + // Deselect the current screen if it was deleted + if (deletedIds.includes(state.selectedScreenId)) { state.selectedScreenId = null } - //remove the link for this screen - screenDeletePromises.push( - store.actions.components.links.delete( - screenToDelete.routing.route, - screenToDelete.props._instanceName - ) - ) - } - return state - }) - await Promise.all(screenDeletePromises) + return state + }) + } catch (error) { + notifications.error("Error deleting screens") + } }, }, preview: { saveSelected: async () => { const state = get(store) const selectedAsset = get(currentAsset) - if (state.currentFrontEndType !== FrontendTypes.LAYOUT) { - await store.actions.screens.save(selectedAsset) + return await store.actions.screens.save(selectedAsset) } else { - await store.actions.layouts.save(selectedAsset) + return await store.actions.layouts.save(selectedAsset) } }, setDevice: device => { @@ -270,36 +287,28 @@ export const getFrontendStore = () => { }) }, save: async layout => { - const layoutToSave = cloneDeep(layout) - const creatingNewLayout = layoutToSave._id === undefined - const response = await api.post(`/api/layouts`, layoutToSave) - const savedLayout = await response.json() + try { + const creatingNewLayout = layout._id === undefined + const savedLayout = await API.saveLayout(layout) + store.update(state => { + const idx = state.layouts.findIndex(x => x._id === savedLayout._id) + if (idx !== -1) { + state.layouts.splice(idx, 1, savedLayout) + } else { + state.layouts.push(savedLayout) + } + return state + }) - // Abort if saving failed - if (response.status !== 200) { - return - } - - store.update(state => { - const layoutIdx = state.layouts.findIndex( - stateLayout => stateLayout._id === savedLayout._id - ) - if (layoutIdx >= 0) { - // update existing layout - state.layouts.splice(layoutIdx, 1, savedLayout) - } else { - // save new layout - state.layouts.push(savedLayout) + // Select layout if creating a new one + if (creatingNewLayout) { + store.actions.layouts.select(savedLayout._id) } - return state - }) - - // Select layout if creating a new one - if (creatingNewLayout) { - store.actions.layouts.select(savedLayout._id) + return savedLayout + } catch (error) { + notifications.error("Error saving layout") + return null } - - return savedLayout }, find: layoutId => { if (!layoutId) { @@ -308,23 +317,26 @@ export const getFrontendStore = () => { const storeContents = get(store) return storeContents.layouts.find(layout => layout._id === layoutId) }, - delete: async layoutToDelete => { - const response = await api.delete( - `/api/layouts/${layoutToDelete._id}/${layoutToDelete._rev}` - ) - if (response.status !== 200) { - const json = await response.json() - throw new Error(json.message) + delete: async layout => { + if (!layout?._id) { + return + } + try { + await API.deleteLayout({ + layoutId: layout._id, + layoutRev: layout._rev, + }) + store.update(state => { + // Select main layout if we deleted the selected layout + if (layout._id === state.selectedLayoutId) { + state.selectedLayoutId = get(mainLayout)._id + } + state.layouts = state.layouts.filter(x => x._id !== layout._id) + return state + }) + } catch (error) { + notifications.error("Failed to delete layout") } - store.update(state => { - state.layouts = state.layouts.filter( - layout => layout._id !== layoutToDelete._id - ) - if (layoutToDelete._id === state.selectedLayoutId) { - state.selectedLayoutId = get(mainLayout)._id - } - return state - }) }, }, components: { @@ -414,16 +426,12 @@ export const getFrontendStore = () => { componentName, presetProps ) - if (!componentInstance) { + if (!componentInstance || !asset) { return } // Find parent node to attach this component to let parentComponent - - if (!asset) { - return - } if (selected) { // Use current screen or layout as parent if no component is selected const definition = store.actions.components.getDefinition( @@ -451,19 +459,24 @@ export const getFrontendStore = () => { parentComponent._children.push(componentInstance) // Save components and update UI - await store.actions.preview.saveSelected() - store.update(state => { - state.currentView = "component" - state.selectedComponentId = componentInstance._id - return state - }) + const savedAsset = await store.actions.preview.saveSelected() + if (savedAsset) { + store.update(state => { + state.currentView = "component" + state.selectedComponentId = componentInstance._id + return state + }) - // Log event - analytics.captureEvent(Events.COMPONENT.CREATED, { - name: componentInstance._component, - }) + // Log event + analytics.captureEvent(Events.COMPONENT.CREATED, { + name: componentInstance._component, + }) - return componentInstance + return componentInstance + } else { + notifications.error("Failed to create component") + return null + } }, delete: async component => { if (!component) { diff --git a/packages/builder/src/builderStore/store/notifications.js b/packages/builder/src/builderStore/store/notifications.js deleted file mode 100644 index 85e708e92a..0000000000 --- a/packages/builder/src/builderStore/store/notifications.js +++ /dev/null @@ -1,23 +0,0 @@ -import { writable } from "svelte/store" -import { generate } from "shortid" - -export const notificationStore = writable({ - notifications: [], -}) - -export function send(message, type = "default") { - notificationStore.update(state => { - state.notifications = [ - ...state.notifications, - { id: generate(), type, message }, - ] - return state - }) -} - -export const notifier = { - danger: msg => send(msg, "danger"), - warning: msg => send(msg, "warning"), - info: msg => send(msg, "info"), - success: msg => send(msg, "success"), -} diff --git a/packages/builder/src/components/deploy/DeployModal.svelte b/packages/builder/src/components/deploy/DeployModal.svelte index 33fe8d5321..4a86394c72 100644 --- a/packages/builder/src/components/deploy/DeployModal.svelte +++ b/packages/builder/src/components/deploy/DeployModal.svelte @@ -1,6 +1,6 @@ diff --git a/packages/builder/src/helpers/fetchTableData.js b/packages/builder/src/helpers/fetchTableData.js index c854b066d8..375b018039 100644 --- a/packages/builder/src/helpers/fetchTableData.js +++ b/packages/builder/src/helpers/fetchTableData.js @@ -3,7 +3,7 @@ // This will eventually be replaced by the new client implementation when we // add a core package. import { writable, derived, get } from "svelte/store" -import * as API from "../builderStore/api" +import { API } from "api" import { LuceneUtils } from "@budibase/frontend-core" const defaultOptions = { @@ -50,7 +50,7 @@ export const fetchTableData = opts => { const fetchPage = async bookmark => { lastBookmark = bookmark const { tableId, limit, sortColumn, sortOrder, paginate } = options - const res = await API.post(`/api/${options.tableId}/search`, { + return await API.searchTable({ tableId, query, limit, @@ -60,7 +60,6 @@ export const fetchTableData = opts => { paginate, bookmark, }) - return await res.json() } // Fetches a fresh set of results from the server @@ -77,7 +76,7 @@ export const fetchTableData = opts => { // are objects let enrichedSchema = schema if (!enrichedSchema) { - const definition = await API.get(`/api/tables/${tableId}`) + const definition = await API.fetchTableDefinition(tableId) enrichedSchema = definition?.schema ?? null } if (enrichedSchema) { diff --git a/packages/builder/src/stores/backend/integrations.js b/packages/builder/src/stores/backend/integrations.js index d1df818248..c19b09f1fb 100644 --- a/packages/builder/src/stores/backend/integrations.js +++ b/packages/builder/src/stores/backend/integrations.js @@ -1,3 +1,20 @@ import { writable } from "svelte/store" +import { API } from "api" -export const integrations = writable({}) +const createIntegrationsStore = () => { + const store = writable(null) + + return { + ...store, + init: async () => { + try { + const integrations = await API.getIntegrations() + store.set(integrations) + } catch (error) { + store.set(null) + } + }, + } +} + +export const integrations = createIntegrationsStore() diff --git a/packages/builder/vite.config.js b/packages/builder/vite.config.js index d66d677555..dbaf1ffb2b 100644 --- a/packages/builder/vite.config.js +++ b/packages/builder/vite.config.js @@ -56,6 +56,10 @@ export default ({ mode }) => { find: "stores", replacement: path.resolve("./src/stores"), }, + { + find: "api", + replacement: path.resolve("./src/builderStore/api.js"), + }, { find: "constants", replacement: path.resolve("./src/constants"), diff --git a/packages/frontend-core/src/api/analytics.js b/packages/frontend-core/src/api/analytics.js index 5acaf0ac76..0402365e73 100644 --- a/packages/frontend-core/src/api/analytics.js +++ b/packages/frontend-core/src/api/analytics.js @@ -7,4 +7,13 @@ export const buildAnalyticsEndpoints = API => ({ url: `/api/analytics/ping`, }) }, + + /** + * Gets the current status of analytics for this environment + */ + getAnalyticsStatus: async () => { + return await API.get({ + url: "/api/analytics", + }) + }, }) diff --git a/packages/frontend-core/src/api/app.js b/packages/frontend-core/src/api/app.js index c1dc5deea6..13fd831196 100644 --- a/packages/frontend-core/src/api/app.js +++ b/packages/frontend-core/src/api/app.js @@ -7,4 +7,27 @@ export const buildAppEndpoints = API => ({ url: `/api/applications/${appId}/appPackage`, }) }, + + /** + * Saves and patches metadata about an app + * @param metadata the app metadata to save + */ + saveAppMetadata: async metadata => { + if (!metadata?.appId) { + throw API.error("App metadata must have an appId set") + } + return await API.put({ + url: `/api/applications/${metadata.appId}`, + body: metadata, + }) + }, + + /** + * Deploys the current app. + */ + deployApp: async () => { + return await API.post({ + url: "/api/deploy", + }) + }, }) diff --git a/packages/frontend-core/src/api/builder.js b/packages/frontend-core/src/api/builder.js new file mode 100644 index 0000000000..dbe64e611e --- /dev/null +++ b/packages/frontend-core/src/api/builder.js @@ -0,0 +1,17 @@ +export const buildBuilderEndpoints = API => ({ + /** + * Fetches the definitions for component library components. This includes + * their props and other metadata from components.json. + * @param {string} appId - ID of the currently running app + */ + fetchComponentLibDefinitions: async appId => { + return await API.get({ url: `/api/${appId}/components/definitions` }) + }, + + /** + * Gets the list of available integrations. + */ + getIntegrations: async () => { + return await API.get({ url: "/api/integrations" }) + }, +}) diff --git a/packages/frontend-core/src/api/index.js b/packages/frontend-core/src/api/index.js index 8fb61c9edb..f1c12dc941 100644 --- a/packages/frontend-core/src/api/index.js +++ b/packages/frontend-core/src/api/index.js @@ -8,6 +8,7 @@ import { buildQueryEndpoints } from "./queries" import { buildRelationshipEndpoints } from "./relationships" import { buildRouteEndpoints } from "./routes" import { buildRowEndpoints } from "./rows" +import { buildScreenEndpoints } from "./screens" import { buildTableEndpoints } from "./tables" import { buildViewEndpoints } from "./views" @@ -167,6 +168,7 @@ export const createAPIClient = config => { ...buildRelationshipEndpoints(API), ...buildRouteEndpoints(API), ...buildRowEndpoints(API), + ...buildScreenEndpoints(API), ...buildTableEndpoints(API), ...buildViewEndpoints(API), } diff --git a/packages/frontend-core/src/api/layouts.js b/packages/frontend-core/src/api/layouts.js new file mode 100644 index 0000000000..51bce1f533 --- /dev/null +++ b/packages/frontend-core/src/api/layouts.js @@ -0,0 +1,23 @@ +export const buildLayoutEndpoints = API => ({ + /** + * Saves a layout. + * @param layout the layout to save + */ + saveLayout: async layout => { + return await API.post({ + url: "/api/layouts", + body: layout, + }) + }, + + /** + * Deletes a layout. + * @param layoutId the ID of the layout to delete + * @param layoutRev the rev of the layout to delete + */ + deleteLayout: async ({ layoutId, layoutRev }) => { + return await API.delete({ + url: `/api/layouts/${layoutId}/${layoutRev}`, + }) + }, +}) diff --git a/packages/frontend-core/src/api/routes.js b/packages/frontend-core/src/api/routes.js index 171f4f45d8..d87988103f 100644 --- a/packages/frontend-core/src/api/routes.js +++ b/packages/frontend-core/src/api/routes.js @@ -7,4 +7,10 @@ export const buildRouteEndpoints = API => ({ url: `/api/routing/client`, }) }, + + fetchAppRoutes: async () => { + return await API.get({ + url: "/api/routing", + }) + }, }) diff --git a/packages/frontend-core/src/api/screens.js b/packages/frontend-core/src/api/screens.js new file mode 100644 index 0000000000..1daa79153b --- /dev/null +++ b/packages/frontend-core/src/api/screens.js @@ -0,0 +1,23 @@ +export const buildScreenEndpoints = API => ({ + /** + * Saves a screen definition + * @param screen the screen to save + */ + saveScreen: async screen => { + return await API.post({ + url: "/api/screens", + body: screen, + }) + }, + + /** + * Deletes a screen. + * @param screenId the ID of the screen to delete + * @param screenRev the rev of the screen to delete + */ + deleteScreen: async ({ screenId, screenRev }) => { + return await API.delete({ + url: `/api/screens/${screenId}/${screenRev}`, + }) + }, +}) From 6319760b8c61027c06138ef5d52951840dfc3d6d Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Thu, 20 Jan 2022 19:27:15 +0000 Subject: [PATCH 022/176] More work on builder API refactor --- .../src/components/common/LinkedRowSelector.svelte | 7 ++----- packages/builder/src/helpers/fetchData.js | 6 +++--- packages/frontend-core/src/api/app.js | 10 ++++++++++ 3 files changed, 15 insertions(+), 8 deletions(-) diff --git a/packages/builder/src/components/common/LinkedRowSelector.svelte b/packages/builder/src/components/common/LinkedRowSelector.svelte index 1f3dea137f..592ee47565 100644 --- a/packages/builder/src/components/common/LinkedRowSelector.svelte +++ b/packages/builder/src/components/common/LinkedRowSelector.svelte @@ -1,6 +1,6 @@ diff --git a/packages/frontend-core/src/api/app.js b/packages/frontend-core/src/api/app.js index 882bd837ef..4edd76d9b1 100644 --- a/packages/frontend-core/src/api/app.js +++ b/packages/frontend-core/src/api/app.js @@ -9,7 +9,7 @@ export const buildAppEndpoints = API => ({ }, /** - * Saves and patches metadata about an app + * Saves and patches metadata about an app. * @param metadata the app metadata to save */ saveAppMetadata: async metadata => { @@ -40,4 +40,13 @@ export const buildAppEndpoints = API => ({ url: `/api/dev/${appId}/revert`, }) }, + + /** + * Gets a list of app deployments. + */ + getAppDeployments: async () => { + return await API.get({ + url: "/api/deployments", + }) + }, }) From f100ae42fd91fce40ce99ef09ee701ee5cfb7ca3 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Fri, 21 Jan 2022 09:10:59 +0000 Subject: [PATCH 024/176] Add more work on API refactor in builder --- packages/builder/src/builderStore/api.js | 11 ++- .../src/components/common/Dropzone.svelte | 10 ++- .../src/components/deploy/DeployModal.svelte | 2 +- .../src/components/deploy/RevertModal.svelte | 2 +- .../src/components/deploy/VersionModal.svelte | 33 ++----- .../components/start/CreateAppModal.svelte | 36 +++----- .../admin/_components/ImportAppsModal.svelte | 21 ++--- .../src/pages/builder/admin/index.svelte | 8 +- .../pages/builder/portal/apps/index.svelte | 63 ++++---------- .../builder/portal/manage/email/index.svelte | 77 ++++++++--------- packages/builder/src/stores/portal/admin.js | 45 +++++----- packages/builder/src/stores/portal/oidc.js | 21 ++--- packages/client/src/api.js | 16 +++- packages/frontend-core/src/api/app.js | 77 ++++++++++++++++- packages/frontend-core/src/api/attachments.js | 14 +++ packages/frontend-core/src/api/auth.js | 85 ++++++++++++++++++- packages/frontend-core/src/api/index.js | 33 ++++--- 17 files changed, 343 insertions(+), 211 deletions(-) diff --git a/packages/builder/src/builderStore/api.js b/packages/builder/src/builderStore/api.js index 085c176f88..bd7cccbc5a 100644 --- a/packages/builder/src/builderStore/api.js +++ b/packages/builder/src/builderStore/api.js @@ -14,16 +14,25 @@ export const API = createAPIClient({ }, onError: error => { - const { url, message, status } = error + const { url, message, status, method, handled } = error || {} // Log all API errors to Sentry // analytics.captureException(error) + // Log any errors that we haven't manually handled + if (!handled) { + console.error("Unhandled error from API client", error) + return + } + // Show a notification for any errors if (message) { notifications.error(`Error fetching ${url}: ${message}`) } + // Log all errors to console + console.error(`HTTP ${status} on ${method}:${url}:\n\t${message}`) + // Logout on 403's if (status === 403) { // Don't do anything if fetching templates. diff --git a/packages/builder/src/components/common/Dropzone.svelte b/packages/builder/src/components/common/Dropzone.svelte index 328cd31f23..9a86554b49 100644 --- a/packages/builder/src/components/common/Dropzone.svelte +++ b/packages/builder/src/components/common/Dropzone.svelte @@ -1,6 +1,6 @@ diff --git a/packages/builder/src/components/deploy/DeployModal.svelte b/packages/builder/src/components/deploy/DeployModal.svelte index 4a86394c72..9f2aae56c5 100644 --- a/packages/builder/src/components/deploy/DeployModal.svelte +++ b/packages/builder/src/components/deploy/DeployModal.svelte @@ -9,7 +9,7 @@ async function deployApp() { try { - await API.deployApp() + await API.deployAppChanges() analytics.captureEvent(Events.APP.PUBLISHED, { appId: $store.appId, }) diff --git a/packages/builder/src/components/deploy/RevertModal.svelte b/packages/builder/src/components/deploy/RevertModal.svelte index 4207fcad00..717c55f05e 100644 --- a/packages/builder/src/components/deploy/RevertModal.svelte +++ b/packages/builder/src/components/deploy/RevertModal.svelte @@ -16,7 +16,7 @@ const revert = async () => { try { - await API.revertApp(appId) + await API.revertAppChanges(appId) // Reset frontend state after revert const applicationPkg = await API.fetchAppPackage(appId) diff --git a/packages/builder/src/components/deploy/VersionModal.svelte b/packages/builder/src/components/deploy/VersionModal.svelte index 0fb061face..9707517c54 100644 --- a/packages/builder/src/components/deploy/VersionModal.svelte +++ b/packages/builder/src/components/deploy/VersionModal.svelte @@ -8,7 +8,7 @@ Button, } from "@budibase/bbui" import { store } from "builderStore" - import api from "builderStore/api" + import { API } from "api" import clientPackage from "@budibase/client/package.json" let updateModal @@ -18,26 +18,17 @@ $: revertAvailable = $store.revertableVersion != null const refreshAppPackage = async () => { - const applicationPkg = await api.get( - `/api/applications/${appId}/appPackage` - ) - const pkg = await applicationPkg.json() - if (applicationPkg.ok) { + try { + const pkg = await API.fetchAppPackage(appId) await store.actions.initialise(pkg) - } else { - throw new Error(pkg) + } catch (error) { + notifications.error("Error fetching app package") } } const update = async () => { try { - const response = await api.post( - `/api/applications/${appId}/client/update` - ) - const json = await response.json() - if (response.status !== 200) { - throw json.message - } + await API.updateAppClientVersion(appId) // Don't wait for the async refresh, since this causes modal flashing refreshAppPackage() @@ -47,23 +38,17 @@ } catch (err) { notifications.error(`Error updating app: ${err}`) } + updateModal.hide() } const revert = async () => { try { - const revertableVersion = $store.revertableVersion - const response = await api.post( - `/api/applications/${appId}/client/revert` - ) - const json = await response.json() - if (response.status !== 200) { - throw json.message - } + await API.revertAppClientVersion(appId) // Don't wait for the async refresh, since this causes modal flashing refreshAppPackage() notifications.success( - `App reverted successfully to version ${revertableVersion}` + `App reverted successfully to version ${$store.revertableVersion}` ) } catch (err) { notifications.error(`Error reverting app: ${err}`) diff --git a/packages/builder/src/components/start/CreateAppModal.svelte b/packages/builder/src/components/start/CreateAppModal.svelte index 60065b6eef..ebb24e9e2f 100644 --- a/packages/builder/src/components/start/CreateAppModal.svelte +++ b/packages/builder/src/components/start/CreateAppModal.svelte @@ -5,7 +5,7 @@ import { store, automationStore, hostingStore } from "builderStore" import { admin, auth } from "stores/portal" import { string, mixed, object } from "yup" - import api, { get, post } from "builderStore/api" + import { API } from "api" import analytics, { Events } from "analytics" import { onMount } from "svelte" import { capitalise } from "helpers" @@ -99,40 +99,24 @@ } // Create App - const appResp = await post("/api/applications", data, {}) - const appJson = await appResp.json() - if (!appResp.ok) { - throw new Error(appJson.message) - } - + const createdApp = await API.createApp(data) analytics.captureEvent(Events.APP.CREATED, { name: $values.name, - appId: appJson.instance._id, + appId: createdApp.instance._id, templateToUse, }) // Select Correct Application/DB in prep for creating user - const applicationPkg = await get( - `/api/applications/${appJson.instance._id}/appPackage` - ) - const pkg = await applicationPkg.json() - if (applicationPkg.ok) { - await store.actions.initialise(pkg) - await automationStore.actions.fetch() - // update checklist - incase first app - await admin.init() - } else { - throw new Error(pkg) - } + const pkg = await API.fetchAppPackage(createdApp.instance._id) + await store.actions.initialise(pkg) + await automationStore.actions.fetch() + // Update checklist - in case first app + await admin.init() // Create user - const user = { - roleId: $values.roleId, - } - const userResp = await api.post(`/api/users/metadata/self`, user) - await userResp.json() + await API.updateOwnMetadata({ roleId: $values.roleId }) await auth.setInitInfo({}) - $goto(`/builder/app/${appJson.instance._id}`) + $goto(`/builder/app/${createdApp.instance._id}`) } catch (error) { console.error(error) notifications.error(error) diff --git a/packages/builder/src/pages/builder/admin/_components/ImportAppsModal.svelte b/packages/builder/src/pages/builder/admin/_components/ImportAppsModal.svelte index de29e11301..182df63967 100644 --- a/packages/builder/src/pages/builder/admin/_components/ImportAppsModal.svelte +++ b/packages/builder/src/pages/builder/admin/_components/ImportAppsModal.svelte @@ -1,6 +1,6 @@ @@ -36,10 +31,10 @@ onConfirm={importApps} disabled={!value.file} > - Please upload the file that was exported from your Cloud environment to get - started + + Please upload the file that was exported from your Cloud environment to get + started + { try { - const response = await del(`/api/dev/${app.devId}/lock`) - if (response.status !== 200) { - const json = await response.json() - throw json.message - } + await API.releaseAppLock(app.devId) await apps.load() notifications.success("Lock released successfully") } catch (err) { - notifications.error(`Error releasing lock: ${err}`) + notifications.error("Error releasing lock") } } diff --git a/packages/builder/src/pages/builder/portal/manage/email/index.svelte b/packages/builder/src/pages/builder/portal/manage/email/index.svelte index 5a78623b81..4ef59d2daa 100644 --- a/packages/builder/src/pages/builder/portal/manage/email/index.svelte +++ b/packages/builder/src/pages/builder/portal/manage/email/index.svelte @@ -14,7 +14,7 @@ Checkbox, } from "@budibase/bbui" import { email } from "stores/portal" - import api from "builderStore/api" + import { API } from "api" import { cloneDeep } from "lodash/fp" import analytics, { Events } from "analytics" @@ -54,55 +54,48 @@ delete smtp.config.auth } // Save your SMTP config - const response = await api.post(`/api/global/configs`, smtp) - - if (response.status !== 200) { - const error = await response.text() - let message - try { - message = JSON.parse(error).message - } catch (err) { - message = error - } - notifications.error(`Failed to save email settings, reason: ${message}`) - } else { - const json = await response.json() - smtpConfig._rev = json._rev - smtpConfig._id = json._id - notifications.success(`Settings saved.`) + try { + const savedConfig = await API.saveConfig(smtp) + smtpConfig._rev = savedConfig._rev + smtpConfig._id = savedConfig._id + notifications.success(`Settings saved`) analytics.captureEvent(Events.SMTP.SAVED) + } catch (error) { + notifications.error( + `Failed to save email settings, reason: ${error?.message || "Unknown"}` + ) } } async function fetchSmtp() { loading = true - // fetch the configs for smtp - const smtpResponse = await api.get( - `/api/global/configs/${ConfigTypes.SMTP}` - ) - const smtpDoc = await smtpResponse.json() - - if (!smtpDoc._id) { - smtpConfig = { - type: ConfigTypes.SMTP, - config: { - secure: true, - }, + try { + // Fetch the configs for smtp + const smtpDoc = await API.getConfig(ConfigTypes.SMTP) + if (!smtpDoc._id) { + smtpConfig = { + type: ConfigTypes.SMTP, + config: { + secure: true, + }, + } + } else { + smtpConfig = smtpDoc } - } else { - smtpConfig = smtpDoc - } - loading = false - requireAuth = smtpConfig.config.auth != null - // always attach the auth for the forms purpose - - // this will be removed later if required - if (!smtpDoc.config) { - smtpDoc.config = {} - } - if (!smtpDoc.config.auth) { - smtpConfig.config.auth = { - type: "login", + loading = false + requireAuth = smtpConfig.config.auth != null + // Always attach the auth for the forms purpose - + // this will be removed later if required + if (!smtpDoc.config) { + smtpDoc.config = {} } + if (!smtpDoc.config.auth) { + smtpConfig.config.auth = { + type: "login", + } + } + } catch (error) { + notifications.error("Error fetching SMTP config") } } diff --git a/packages/builder/src/stores/portal/admin.js b/packages/builder/src/stores/portal/admin.js index d98eae8363..d97105fd46 100644 --- a/packages/builder/src/stores/portal/admin.js +++ b/packages/builder/src/stores/portal/admin.js @@ -1,5 +1,5 @@ import { writable, get } from "svelte/store" -import api from "builderStore/api" +import { API } from "api" import { auth } from "stores/portal" export function createAdminStore() { @@ -25,21 +25,19 @@ export function createAdminStore() { async function init() { try { const tenantId = get(auth).tenantId - const response = await api.get( - `/api/global/configs/checklist?tenantId=${tenantId}` - ) - const json = await response.json() - const totalSteps = Object.keys(json).length - const completedSteps = Object.values(json).filter(x => x?.checked).length - + const checklist = await API.getChecklist(tenantId) + const totalSteps = Object.keys(checklist).length + const completedSteps = Object.values(checklist).filter( + x => x?.checked + ).length await getEnvironment() admin.update(store => { store.loaded = true - store.checklist = json + store.checklist = checklist store.onboardingProgress = (completedSteps / totalSteps) * 100 return store }) - } catch (err) { + } catch (error) { admin.update(store => { store.checklist = null return store @@ -48,11 +46,15 @@ export function createAdminStore() { } async function checkImportComplete() { - const response = await api.get(`/api/cloud/import/complete`) - if (response.status === 200) { - const json = await response.json() + try { + const result = await API.checkImportComplete() admin.update(store => { - store.importComplete = json ? json.imported : false + store.importComplete = result ? result.imported : false + return store + }) + } catch (error) { + admin.update(store => { + store.importComplete = false return store }) } @@ -65,15 +67,14 @@ export function createAdminStore() { let accountPortalUrl = "" let isDev = false try { - const response = await api.get(`/api/system/environment`) - const json = await response.json() - multiTenancyEnabled = json.multiTenancy - cloud = json.cloud - disableAccountPortal = json.disableAccountPortal - accountPortalUrl = json.accountPortalUrl - isDev = json.isDev + const environment = await API.getEnvironment() + multiTenancyEnabled = environment.multiTenancy + cloud = environment.cloud + disableAccountPortal = environment.disableAccountPortal + accountPortalUrl = environment.accountPortalUrl + isDev = environment.isDev } catch (err) { - // just let it stay disabled + // Just let it stay disabled } admin.update(store => { store.multiTenancy = multiTenancyEnabled diff --git a/packages/builder/src/stores/portal/oidc.js b/packages/builder/src/stores/portal/oidc.js index 3e3a7048ca..751988bff6 100644 --- a/packages/builder/src/stores/portal/oidc.js +++ b/packages/builder/src/stores/portal/oidc.js @@ -1,5 +1,5 @@ import { writable, get } from "svelte/store" -import api from "builderStore/api" +import { API } from "api" import { auth } from "stores/portal" const OIDC_CONFIG = { @@ -14,16 +14,17 @@ export function createOidcStore() { async function init() { const tenantId = get(auth).tenantId - const res = await api.get( - `/api/global/configs/public/oidc?tenantId=${tenantId}` - ) - const json = await res.json() - - if (json.status === 400 || Object.keys(json).length === 0) { + try { + const config = await API.getOIDCConfig(tenantId) + if (Object.keys(config || {}).length) { + // Just use the first config for now. + // We will be support multiple logins buttons later on. + set(...config) + } else { + set(OIDC_CONFIG) + } + } catch (error) { set(OIDC_CONFIG) - } else { - // Just use the first config for now. We will be support multiple logins buttons later on. - set(...json) } } diff --git a/packages/client/src/api.js b/packages/client/src/api.js index e617dae00f..3ded21f473 100644 --- a/packages/client/src/api.js +++ b/packages/client/src/api.js @@ -18,9 +18,21 @@ export const API = createAPIClient({ // We could also log these to sentry. // Or we could check error.status and redirect to login on a 403 etc. onError: error => { - if (error.message) { - notificationStore.actions.error(error.message) + const { status, method, url, message, handled } = error || {} + + // Log any errors that we haven't manually handled + if (!handled) { + console.error("Unhandled error from API client", error) + return } + + // Notify all errors + if (message) { + notificationStore.actions.error(message) + } + + // Log all errors to console + console.error(`HTTP ${status} on ${method}:${url}:\n\t${message}`) }, // Patch certain endpoints with functionality specific to client apps diff --git a/packages/frontend-core/src/api/app.js b/packages/frontend-core/src/api/app.js index 4edd76d9b1..c1c4204c9d 100644 --- a/packages/frontend-core/src/api/app.js +++ b/packages/frontend-core/src/api/app.js @@ -25,7 +25,7 @@ export const buildAppEndpoints = API => ({ /** * Deploys the current app. */ - deployApp: async () => { + deployAppChanges: async () => { return await API.post({ url: "/api/deploy", }) @@ -35,12 +35,32 @@ export const buildAppEndpoints = API => ({ * Reverts an app to a previous version. * @param appId the app ID to revert */ - revertApp: async appId => { + revertAppChanges: async appId => { return await API.post({ url: `/api/dev/${appId}/revert`, }) }, + /** + * Updates an app's version of the client library. + * @param appId the app ID to update + */ + updateAppClientVersion: async appId => { + return await API.post({ + url: `/api/applications/${appId}/client/update`, + }) + }, + + /** + * Reverts an app's version of the client library to the previous version. + * @param appId the app ID to revert + */ + revertAppClientVersion: async appId => { + return await API.post({ + url: `/api/applications/${appId}/client/revert`, + }) + }, + /** * Gets a list of app deployments. */ @@ -49,4 +69,57 @@ export const buildAppEndpoints = API => ({ url: "/api/deployments", }) }, + + /** + * Creates an app. + * @param app the app to create + */ + createApp: async app => { + return await API.post({ + url: "/api/applications", + body: app, + }) + }, + + /** + * Imports an export of all apps. + * @param apps the FormData containing the apps to import + */ + importApps: async apps => { + return await API.post({ + url: "/api/cloud/import", + body: apps, + json: false, + }) + }, + + /** + * Unpublishes a published app. + * @param appId the production ID of the app to unpublish + */ + unpublishApp: async appId => { + return await API.delete({ + url: `/api/applications/${appId}?unpublish=1`, + }) + }, + + /** + * Deletes a dev app. + * @param appId the dev app ID to delete + */ + deleteApp: async appId => { + return await API.delete({ + url: `/api/applications/${appId}`, + }) + }, + + /** + * Releases the lock on a dev app. + * @param appId the dev app ID to unlock + */ + releaseAppLock: async appId => { + return await API.delete({ + url: `/api/dev/${appId}/lock`, + }) + }, }) diff --git a/packages/frontend-core/src/api/attachments.js b/packages/frontend-core/src/api/attachments.js index 5dd2582ea5..9a8325a433 100644 --- a/packages/frontend-core/src/api/attachments.js +++ b/packages/frontend-core/src/api/attachments.js @@ -1,6 +1,8 @@ export const buildAttachmentEndpoints = API => ({ /** * Uploads an attachment to the server. + * @param data the attachment to upload + * @param tableId the table ID to upload to */ uploadAttachment: async ({ data, tableId }) => { return await API.post({ @@ -9,4 +11,16 @@ export const buildAttachmentEndpoints = API => ({ json: false, }) }, + + /** + * Uploads an attachment to the server as a builder user from the builder. + * @param data the data to upload + */ + uploadBuilderAttachment: async data => { + return await API.post({ + url: "/api/attachments/process", + body: data, + json: false, + }) + }, }) diff --git a/packages/frontend-core/src/api/auth.js b/packages/frontend-core/src/api/auth.js index 55554df94a..4f61c155f0 100644 --- a/packages/frontend-core/src/api/auth.js +++ b/packages/frontend-core/src/api/auth.js @@ -31,6 +31,89 @@ export const buildAuthEndpoints = API => ({ * Fetches the currently logged in user object */ fetchSelf: async () => { - return await API.get({ url: "/api/self" }) + return await API.get({ + url: "/api/self", + }) + }, + + /** + * Updates the current user metadata. + * @param metadata the metadata to save + */ + updateOwnMetadata: async metadata => { + return await API.post({ + url: "/api/users/metadata/self", + body: metadata, + }) + }, + + /** + * Creates an admin user. + * @param adminUser the admin user to create + */ + createAdminUser: async adminUser => { + return await API.post({ + url: "/api/global/users/init", + body: adminUser, + }) + }, + + /** + * Saves a global config. + * @param config the config to save + */ + saveConfig: async config => { + return await API.post({ + url: "/api/global/configs", + body: config, + }) + }, + + /** + * Gets a global config of a certain type. + * @param type the type to fetch + */ + getConfig: async type => { + return await API.get({ + url: `/api/global/configs/${type}`, + }) + }, + + /** + * Gets the OIDC config for a certain tenant. + * @param tenantId the tenant ID to get the config for + */ + getOIDCConfig: async tenantId => { + return await API.get({ + url: `/api/global/configs/public/oidc?tenantId=${tenantId}`, + }) + }, + + /** + * Gets the checklist for a specific tenant. + * @param tenantId the tenant ID to get the checklist for + */ + getChecklist: async tenantId => { + return await API.get({ + url: `/api/global/configs/checklist?tenantId=${tenantId}`, + }) + }, + + /** + * TODO: find out what this is + */ + checkImportComplete: async () => { + return await API.get({ + url: "/api/cloud/import/complete", + }) + }, + + /** + * Gets the current environment details. + */ + getEnvironment: async () => { + return await API.get({ + url: "/api/system/environment", + }) }, }) diff --git a/packages/frontend-core/src/api/index.js b/packages/frontend-core/src/api/index.js index f1c12dc941..e1cf2f3619 100644 --- a/packages/frontend-core/src/api/index.js +++ b/packages/frontend-core/src/api/index.js @@ -30,7 +30,9 @@ export const createAPIClient = config => { } // Generates an error object from an API response - const makeErrorFromResponse = async response => { + const makeErrorFromResponse = async (response, method) => { + console.log("making error from", response) + // Try to read a message from the error let message = response.statusText try { @@ -47,6 +49,8 @@ export const createAPIClient = config => { message, status: response.status, url: response.url, + method, + handled: true, } } @@ -56,6 +60,8 @@ export const createAPIClient = config => { message, status: 400, url: "", + method: "", + handled: true, } } @@ -110,11 +116,7 @@ export const createAPIClient = config => { return null } } else { - const error = await makeErrorFromResponse(response) - if (config?.onError) { - config.onError(error) - } - throw error + throw await makeErrorFromResponse(response, method) } } @@ -134,14 +136,21 @@ export const createAPIClient = config => { return await cache[identifier] } - // Constructs an API call function for a particular HTTP method. + // Constructs an API call function for a particular HTTP method const requestApiCall = method => async params => { - let { url, cache = false, external = false } = params - if (!external) { - url = `/${url}`.replace("//", "/") + try { + let { url, cache = false, external = false } = params + if (!external) { + url = `/${url}`.replace("//", "/") + } + const enrichedParams = { ...params, method, url } + return await (cache ? makeCachedApiCall : makeApiCall)(enrichedParams) + } catch (error) { + if (config?.onError) { + config.onError(error) + } + throw error } - const enrichedParams = { ...params, method, url } - return await (cache ? makeCachedApiCall : makeApiCall)(enrichedParams) } // Build the underlying core API methods From 208ec7183ade49ed5282604b3366d5b703ee0acc Mon Sep 17 00:00:00 2001 From: Martin McKeaveney Date: Fri, 21 Jan 2022 10:26:01 +0100 Subject: [PATCH 025/176] update scroll limit --- packages/client/manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/client/manifest.json b/packages/client/manifest.json index dfe9ae5a91..c01e6f4305 100644 --- a/packages/client/manifest.json +++ b/packages/client/manifest.json @@ -2861,7 +2861,7 @@ "settings": [ { "type": "number", - "label": "Row Count", + "label": "Scroll Limit", "key": "rowCount", "defaultValue": 8 }, From 59349f2451acc23332c41f98214b3d85b56418a3 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Fri, 21 Jan 2022 15:09:27 +0000 Subject: [PATCH 026/176] Add lots more work on refactoring builder to use core API --- .../builderStore/store/automation/index.js | 201 ++++++++++-------- .../builder/src/builderStore/store/hosting.js | 49 +++-- .../FlowChart/FlowChart.svelte | 21 +- .../src/components/backend/DataTable/api.js | 34 --- .../DataTable/modals/CreateEditRow.svelte | 44 ++-- .../DataTable/modals/CreateEditUser.svelte | 40 ++-- .../builder/app/[application]/_layout.svelte | 47 ++-- .../builder/portal/manage/auth/index.svelte | 109 +++++----- .../portal/settings/organisation.svelte | 28 +-- .../builder/portal/settings/update.svelte | 10 +- packages/frontend-core/src/api/app.js | 10 + packages/frontend-core/src/api/auth.js | 45 ++++ packages/frontend-core/src/api/automations.js | 63 ++++++ packages/frontend-core/src/api/builder.js | 17 +- packages/frontend-core/src/api/hosting.js | 19 ++ packages/frontend-core/src/api/index.js | 5 + 16 files changed, 442 insertions(+), 300 deletions(-) delete mode 100644 packages/builder/src/components/backend/DataTable/api.js create mode 100644 packages/frontend-core/src/api/hosting.js diff --git a/packages/builder/src/builderStore/store/automation/index.js b/packages/builder/src/builderStore/store/automation/index.js index 7bd0ccca22..73aa2757ec 100644 --- a/packages/builder/src/builderStore/store/automation/index.js +++ b/packages/builder/src/builderStore/store/automation/index.js @@ -1,95 +1,130 @@ import { writable } from "svelte/store" -import api from "../../api" +import { API } from "api" import Automation from "./Automation" import { cloneDeep } from "lodash/fp" import analytics, { Events } from "analytics" +import { notifications } from "@budibase/bbui" + +const initialAutomationState = { + automations: [], + blockDefinitions: { + TRIGGER: [], + ACTION: [], + }, + selectedAutomation: null, +} + +export const getAutomationStore = () => { + const store = writable(initialAutomationState) + store.actions = automationActions(store) + return store +} const automationActions = store => ({ fetch: async () => { - const responses = await Promise.all([ - api.get(`/api/automations`), - api.get(`/api/automations/definitions/list`), - ]) - const jsonResponses = await Promise.all(responses.map(x => x.json())) - store.update(state => { - let selected = state.selectedAutomation?.automation - state.automations = jsonResponses[0] - state.blockDefinitions = { - TRIGGER: jsonResponses[1].trigger, - ACTION: jsonResponses[1].action, - } - // if previously selected find the new obj and select it - if (selected) { - selected = jsonResponses[0].filter( - automation => automation._id === selected._id - ) - state.selectedAutomation = new Automation(selected[0]) - } - return state - }) + try { + const responses = await Promise.all([ + API.getAutomations(), + API.getAutomationDefinitions(), + ]) + store.update(state => { + let selected = state.selectedAutomation?.automation + state.automations = responses[0] + state.blockDefinitions = { + TRIGGER: responses[1].trigger, + ACTION: responses[1].action, + } + // If previously selected find the new obj and select it + if (selected) { + selected = responses[0].filter( + automation => automation._id === selected._id + ) + state.selectedAutomation = new Automation(selected[0]) + } + return state + }) + } catch (error) { + notifications.error("Error fetching automations") + store.set(initialAutomationState) + } }, create: async ({ name }) => { - const automation = { - name, - type: "automation", - definition: { - steps: [], - }, + try { + const automation = { + name, + type: "automation", + definition: { + steps: [], + }, + } + const response = await API.createAutomation(automation) + store.update(state => { + state.automations = [...state.automations, response.automation] + store.actions.select(response.automation) + return state + }) + } catch (error) { + notifications.error("Error creating automation") } - const CREATE_AUTOMATION_URL = `/api/automations` - const response = await api.post(CREATE_AUTOMATION_URL, automation) - const json = await response.json() - store.update(state => { - state.automations = [...state.automations, json.automation] - store.actions.select(json.automation) - return state - }) }, save: async automation => { - const UPDATE_AUTOMATION_URL = `/api/automations` - const response = await api.put(UPDATE_AUTOMATION_URL, automation) - const json = await response.json() - store.update(state => { - const newAutomation = json.automation - const existingIdx = state.automations.findIndex( - existing => existing._id === automation._id - ) - if (existingIdx !== -1) { - state.automations.splice(existingIdx, 1, newAutomation) - state.automations = [...state.automations] - store.actions.select(newAutomation) - return state - } - }) + try { + const response = await API.updateAutomation(automation) + store.update(state => { + const updatedAutomation = response.automation + const existingIdx = state.automations.findIndex( + existing => existing._id === automation._id + ) + if (existingIdx !== -1) { + state.automations.splice(existingIdx, 1, updatedAutomation) + state.automations = [...state.automations] + store.actions.select(updatedAutomation) + return state + } + }) + notifications.success("Automation saved successfully") + } catch (error) { + notifications.error("Error saving automation") + } }, delete: async automation => { - const { _id, _rev } = automation - const DELETE_AUTOMATION_URL = `/api/automations/${_id}/${_rev}` - await api.delete(DELETE_AUTOMATION_URL) - - store.update(state => { - const existingIdx = state.automations.findIndex( - existing => existing._id === _id - ) - state.automations.splice(existingIdx, 1) - state.automations = [...state.automations] - state.selectedAutomation = null - state.selectedBlock = null - return state - }) - }, - trigger: async automation => { - const { _id } = automation - return await api.post(`/api/automations/${_id}/trigger`) + try { + await API.deleteAutomation({ + automationId: automation?._id, + automationRev: automation?._rev, + }) + store.update(state => { + const existingIdx = state.automations.findIndex( + existing => existing._id === automation?._id + ) + state.automations.splice(existingIdx, 1) + state.automations = [...state.automations] + state.selectedAutomation = null + state.selectedBlock = null + return state + }) + notifications.success("Automation deleted successfully") + } catch (error) { + notifications.error("Error deleting automation") + } }, test: async (automation, testData) => { - const { _id } = automation - const response = await api.post(`/api/automations/${_id}/test`, testData) - const json = await response.json() - store.update(state => { - state.selectedAutomation.testResults = json - return state - }) + try { + const result = await API.testAutomation({ + automationId: automation?._id, + testData, + }) + store.update(state => { + state.selectedAutomation.testResults = result + return state + }) + } catch (error) { + notifications.error("Error testing automation") + store.update(state => { + state.selectedAutomation.testResults = null + return state + }) + } }, select: automation => { store.update(state => { @@ -143,17 +178,3 @@ const automationActions = store => ({ }) }, }) - -export const getAutomationStore = () => { - const INITIAL_AUTOMATION_STATE = { - automations: [], - blockDefinitions: { - TRIGGER: [], - ACTION: [], - }, - selectedAutomation: null, - } - const store = writable(INITIAL_AUTOMATION_STATE) - store.actions = automationActions(store) - return store -} diff --git a/packages/builder/src/builderStore/store/hosting.js b/packages/builder/src/builderStore/store/hosting.js index fb174c2663..980130b147 100644 --- a/packages/builder/src/builderStore/store/hosting.js +++ b/packages/builder/src/builderStore/store/hosting.js @@ -1,5 +1,6 @@ import { writable } from "svelte/store" -import api, { get } from "../api" +import { API } from "api" +import { notifications } from "@budibase/bbui" const INITIAL_HOSTING_UI_STATE = { appUrl: "", @@ -12,22 +13,40 @@ export const getHostingStore = () => { const store = writable({ ...INITIAL_HOSTING_UI_STATE }) store.actions = { fetch: async () => { - const response = await api.get("/api/hosting/urls") - const urls = await response.json() - store.update(state => { - state.appUrl = urls.app - return state - }) + try { + const urls = await API.getHostingURLs() + store.update(state => { + state.appUrl = urls.app + return state + }) + } catch (error) { + store.update(state => { + state.appUrl = "" + return state + }) + notifications.error("Error fetching hosting URLs") + } }, fetchDeployedApps: async () => { - let deployments = await (await get("/api/hosting/apps")).json() - store.update(state => { - state.deployedApps = deployments - state.deployedAppNames = Object.values(deployments).map(app => app.name) - state.deployedAppUrls = Object.values(deployments).map(app => app.url) - return state - }) - return deployments + try { + const deployments = await API.getDeployedApps() + store.update(state => { + state.deployedApps = deployments + state.deployedAppNames = Object.values(deployments).map( + app => app.name + ) + state.deployedAppUrls = Object.values(deployments).map(app => app.url) + return state + }) + } catch (error) { + store.update(state => { + state.deployedApps = {} + state.deployedAppNames = [] + state.deployedAppUrls = [] + return state + }) + notifications.error("Failed detching deployed apps") + } }, } return store diff --git a/packages/builder/src/components/automation/AutomationBuilder/FlowChart/FlowChart.svelte b/packages/builder/src/components/automation/AutomationBuilder/FlowChart/FlowChart.svelte index 2d6881d652..5bf625940a 100644 --- a/packages/builder/src/components/automation/AutomationBuilder/FlowChart/FlowChart.svelte +++ b/packages/builder/src/components/automation/AutomationBuilder/FlowChart/FlowChart.svelte @@ -33,23 +33,6 @@ await automationStore.actions.delete( $automationStore.selectedAutomation?.automation ) - notifications.success("Automation deleted.") - } - - async function testAutomation() { - const result = await automationStore.actions.trigger( - $automationStore.selectedAutomation.automation - ) - if (result.status === 200) { - notifications.success( - `Automation ${$automationStore.selectedAutomation.automation.name} triggered successfully.` - ) - } else { - notifications.error( - `Failed to trigger automation ${$automationStore.selectedAutomation.automation.name}.` - ) - } - return result } @@ -85,7 +68,7 @@ animate:flip={{ duration: 500 }} in:fly|local={{ x: 500, duration: 1500 }} > - + {/each} @@ -101,7 +84,7 @@ - + diff --git a/packages/builder/src/components/backend/DataTable/api.js b/packages/builder/src/components/backend/DataTable/api.js deleted file mode 100644 index b461c70c4b..0000000000 --- a/packages/builder/src/components/backend/DataTable/api.js +++ /dev/null @@ -1,34 +0,0 @@ -import api from "builderStore/api" - -export async function createUser(user) { - const CREATE_USER_URL = `/api/users/metadata` - const response = await api.post(CREATE_USER_URL, user) - return await response.json() -} - -export async function saveRow(row, tableId) { - const SAVE_ROW_URL = `/api/${tableId}/rows` - const response = await api.post(SAVE_ROW_URL, row) - - return await response.json() -} - -export async function deleteRow(row) { - const DELETE_ROWS_URL = `/api/${row.tableId}/rows` - return api.delete(DELETE_ROWS_URL, { - _id: row._id, - _rev: row._rev, - }) -} - -export async function fetchDataForTable(tableId) { - const FETCH_ROWS_URL = `/api/${tableId}/rows` - - const response = await api.get(FETCH_ROWS_URL) - const json = await response.json() - - if (response.status !== 200) { - throw new Error(json.message) - } - return json -} diff --git a/packages/builder/src/components/backend/DataTable/modals/CreateEditRow.svelte b/packages/builder/src/components/backend/DataTable/modals/CreateEditRow.svelte index 559e8275db..965458e297 100644 --- a/packages/builder/src/components/backend/DataTable/modals/CreateEditRow.svelte +++ b/packages/builder/src/components/backend/DataTable/modals/CreateEditRow.svelte @@ -3,7 +3,7 @@ import { tables, rows } from "stores/backend" import { notifications } from "@budibase/bbui" import RowFieldControl from "../RowFieldControl.svelte" - import * as api from "../api" + import { API } from "api" import { ModalContent } from "@budibase/bbui" import ErrorsBox from "components/common/ErrorsBox.svelte" import { FIELDS } from "constants/backend" @@ -22,30 +22,30 @@ $: tableSchema = Object.entries(table?.schema ?? {}) async function saveRow() { - const rowResponse = await api.saveRow( - { ...row, tableId: table._id }, - table._id - ) - - if (rowResponse.errors) { - errors = Object.entries(rowResponse.errors) - .map(([key, error]) => ({ dataPath: key, message: error })) - .flat() + errors = [] + try { + await API.saveRow({ ...row, tableId: table._id }) + notifications.success("Row saved successfully") + rows.save() + dispatch("updaterows") + } catch (error) { + if (error.handled) { + const response = error.json + if (response?.errors) { + errors = Object.entries(response.errors) + .map(([key, error]) => ({ dataPath: key, message: error })) + .flat() + } else if (error.status === 400 && response?.validationErrors) { + errors = Object.keys(response.validationErrors).map(field => ({ + message: `${field} ${response.validationErrors[field][0]}`, + })) + } + } else { + notifications.error("Failed to save row") + } // Prevent modal closing if there were errors return false - } else if (rowResponse.status === 400 && rowResponse.validationErrors) { - errors = Object.keys(rowResponse.validationErrors).map(field => ({ - message: `${field} ${rowResponse.validationErrors[field][0]}`, - })) - return false - } else if (rowResponse.status >= 400) { - errors = [{ message: rowResponse.message }] - return false } - - notifications.success("Row saved successfully.") - rows.save(rowResponse) - dispatch("updaterows") } diff --git a/packages/builder/src/components/backend/DataTable/modals/CreateEditUser.svelte b/packages/builder/src/components/backend/DataTable/modals/CreateEditUser.svelte index f1de23fb97..088280e266 100644 --- a/packages/builder/src/components/backend/DataTable/modals/CreateEditUser.svelte +++ b/packages/builder/src/components/backend/DataTable/modals/CreateEditUser.svelte @@ -4,7 +4,7 @@ import { roles } from "stores/backend" import { notifications } from "@budibase/bbui" import RowFieldControl from "../RowFieldControl.svelte" - import * as backendApi from "../api" + import { API } from "api" import { ModalContent, Select } from "@budibase/bbui" import ErrorsBox from "components/common/ErrorsBox.svelte" @@ -53,27 +53,31 @@ return false } - const rowResponse = await backendApi.saveRow( - { ...row, tableId: table._id }, - table._id - ) - if (rowResponse.errors) { - if (Array.isArray(rowResponse.errors)) { - errors = rowResponse.errors.map(error => ({ message: error })) + try { + await API.saveRow({ ...row, tableId: table._id }) + notifications.success("User saved successfully") + rows.save() + dispatch("updaterows") + } catch (error) { + if (error.handled) { + const response = error.json + if (response?.errors) { + if (Array.isArray(response.errors)) { + errors = response.errors.map(error => ({ message: error })) + } else { + errors = Object.entries(response.errors) + .map(([key, error]) => ({ dataPath: key, message: error })) + .flat() + } + } else if (error.status === 400) { + errors = [{ message: response?.message || "Unknown error" }] + } } else { - errors = Object.entries(rowResponse.errors) - .map(([key, error]) => ({ dataPath: key, message: error })) - .flat() + notifications.error("Error saving user") } - return false - } else if (rowResponse.status === 400 || rowResponse.status === 500) { - errors = [{ message: rowResponse.message }] + // Prevent closing the modal on errors return false } - - notifications.success("User saved successfully") - rows.save(rowResponse) - dispatch("updaterows") } diff --git a/packages/builder/src/pages/builder/app/[application]/_layout.svelte b/packages/builder/src/pages/builder/app/[application]/_layout.svelte index 0478b46f73..62a7c91d3f 100644 --- a/packages/builder/src/pages/builder/app/[application]/_layout.svelte +++ b/packages/builder/src/pages/builder/app/[application]/_layout.svelte @@ -6,25 +6,26 @@ import RevertModal from "components/deploy/RevertModal.svelte" import VersionModal from "components/deploy/VersionModal.svelte" import NPSFeedbackForm from "components/feedback/NPSFeedbackForm.svelte" - import { get, post } from "builderStore/api" + import { API } from "api" import { auth, admin } from "stores/portal" import { isActive, goto, layout, redirect } from "@roxi/routify" import Logo from "assets/bb-emblem.svg" import { capitalise } from "helpers" - import UpgradeModal from "../../../../components/upgrade/UpgradeModal.svelte" + import UpgradeModal from "components/upgrade/UpgradeModal.svelte" import { onMount } from "svelte" - // Get Package and set store export let application + + // Get Package and set store let promise = getPackage() - // sync once when you load the app + + // Sync once when you load the app let hasSynced = false + let userShouldPostFeedback = false $: selected = capitalise( $layout.children.find(layout => $isActive(layout.path))?.title ?? "data" ) - let userShouldPostFeedback = false - function previewApp() { if (!$auth?.user?.flags?.feedbackSubmitted) { userShouldPostFeedback = true @@ -33,34 +34,25 @@ } async function getPackage() { - const res = await get(`/api/applications/${application}/appPackage`) - const pkg = await res.json() - - if (res.ok) { - try { - await store.actions.initialise(pkg) - // edge case, lock wasn't known to client when it re-directed, or user went directly - } catch (err) { - if (!err.ok && err.reason === "locked") { - $redirect("../../") - } else { - throw err - } - } + try { + const pkg = await API.fetchAppPackage(application) + await store.actions.initialise(pkg) await automationStore.actions.fetch() await roles.fetch() await flags.fetch() return pkg - } else { - throw new Error(pkg) + } catch (error) { + // TODO: some stuff about redirecting if locked + // $redirect("../../") + notifications.error("Error initialising app") } } - // handles navigation between frontend, backend, automation. - // this remembers your last place on each of the sections + // Handles navigation between frontend, backend, automation. + // This remembers your last place on each of the sections // e.g. if one of your screens is selected on front end, then // you browse to backend, when you click frontend, you will be - // brought back to the same screen + // brought back to the same screen. const topItemNavigate = path => () => { const activeTopNav = $layout.children.find(c => $isActive(c.path)) if (!activeTopNav) return @@ -74,8 +66,9 @@ onMount(async () => { if (!hasSynced && application) { - const res = await post(`/api/applications/${application}/sync`) - if (res.status !== 200) { + try { + await API.syncApp(application) + } catch (error) { notifications.error("Failed to sync with production database") } hasSynced = true diff --git a/packages/builder/src/pages/builder/portal/manage/auth/index.svelte b/packages/builder/src/pages/builder/portal/manage/auth/index.svelte index 896e1d53e1..bdbf884c99 100644 --- a/packages/builder/src/pages/builder/portal/manage/auth/index.svelte +++ b/packages/builder/src/pages/builder/portal/manage/auth/index.svelte @@ -20,7 +20,7 @@ Toggle, } from "@budibase/bbui" import { onMount } from "svelte" - import api from "builderStore/api" + import { API } from "api" import { organisation, admin } from "stores/portal" import { Helpers } from "@budibase/bbui" import analytics, { Events } from "analytics" @@ -137,17 +137,6 @@ providers.oidc?.config?.configs[0].clientID && providers.oidc?.config?.configs[0].clientSecret - async function uploadLogo(file) { - let data = new FormData() - data.append("file", file) - const res = await api.post( - `/api/global/configs/upload/logos_oidc/${file.name}`, - data, - {} - ) - return await res.json() - } - const onFileSelected = e => { let fileName = e.target.files[0].name image = e.target.files[0] @@ -156,17 +145,28 @@ } async function save(docs) { - // only if the user has provided an image, upload it. - image && uploadLogo(image) let calls = [] + + // Only if the user has provided an image, upload it + if (image) { + let data = new FormData() + data.append("file", image) + calls.push( + API.uploadOIDCLogo({ + name: image.name, + data, + }) + ) + } + docs.forEach(element => { if (element.type === ConfigTypes.OIDC) { - //Add a UUID here so each config is distinguishable when it arrives at the login page + // Add a UUID here so each config is distinguishable when it arrives at the login page for (let config of element.config.configs) { if (!config.uuid) { config.uuid = Helpers.uuid() } - // callback urls shouldn't be included + // Callback urls shouldn't be included delete config.callbackURL } if (partialOidc) { @@ -175,8 +175,8 @@ `Please fill in all required ${ConfigTypes.OIDC} fields` ) } else { - calls.push(api.post(`/api/global/configs`, element)) - // turn the save button grey when clicked + calls.push(API.saveConfig(element)) + // Turn the save button grey when clicked oidcSaveButtonDisabled = true originalOidcDoc = cloneDeep(providers.oidc) } @@ -189,71 +189,70 @@ `Please fill in all required ${ConfigTypes.Google} fields` ) } else { - calls.push(api.post(`/api/global/configs`, element)) + calls.push(API.saveConfig(element)) googleSaveButtonDisabled = true originalGoogleDoc = cloneDeep(providers.google) } } } }) - calls.length && + + if (calls.length) { Promise.all(calls) - .then(responses => { - return Promise.all( - responses.map(response => { - return response.json() - }) - ) - }) .then(data => { data.forEach(res => { providers[res.type]._rev = res._rev providers[res.type]._id = res._id }) - notifications.success(`Settings saved.`) + notifications.success(`Settings saved`) analytics.captureEvent(Events.SSO.SAVED) }) - .catch(err => { - notifications.error(`Failed to update auth settings. ${err}`) - throw new Error(err.message) + .catch(error => { + notifications.error(`Failed to update auth settings`) + console.error(error.message) }) + } } onMount(async () => { await organisation.init() - // fetch the configs for oauth - const googleResponse = await api.get( - `/api/global/configs/${ConfigTypes.Google}` - ) - const googleDoc = await googleResponse.json() - if (!googleDoc._id) { + // Fetch Google config + let googleDoc + try { + googleDoc = await API.getConfig(ConfigTypes.Google) + } catch (error) { + notifications.error("Error fetching Google OAuth config") + } + if (!googleDoc?._id) { providers.google = { type: ConfigTypes.Google, config: { activated: true }, } originalGoogleDoc = cloneDeep(googleDoc) } else { - // default activated to true for older configs + // Default activated to true for older configs if (googleDoc.config.activated === undefined) { googleDoc.config.activated = true } originalGoogleDoc = cloneDeep(googleDoc) providers.google = googleDoc } - googleCallbackUrl = providers?.google?.config?.callbackURL - //Get the list of user uploaded logos and push it to the dropdown options. - //This needs to be done before the config call so they're available when the dropdown renders - const res = await api.get(`/api/global/configs/logos_oidc`) - const configSettings = await res.json() - - if (configSettings.config) { - const logoKeys = Object.keys(configSettings.config) - + // Get the list of user uploaded logos and push it to the dropdown options. + // This needs to be done before the config call so they're available when + // the dropdown renders. + let oidcLogos + try { + oidcLogos = await API.getOIDCLogos() + } catch (error) { + notifications.error("Error fetching OIDC logos") + } + if (oidcLogos?.config) { + const logoKeys = Object.keys(oidcLogos.config) logoKeys.map(logoKey => { - const logoUrl = configSettings.config[logoKey] + const logoUrl = oidcLogos.config[logoKey] iconDropdownOptions.unshift({ label: logoKey, value: logoKey, @@ -261,11 +260,15 @@ }) }) } - const oidcResponse = await api.get( - `/api/global/configs/${ConfigTypes.OIDC}` - ) - const oidcDoc = await oidcResponse.json() - if (!oidcDoc._id) { + + // Fetch OIDC config + let oidcDoc + try { + oidcDoc = await API.getConfig(ConfigTypes.OIDC) + } catch (error) { + notifications.error("Error fetching OIDC config") + } + if (!oidcDoc?._id) { providers.oidc = { type: ConfigTypes.OIDC, config: { configs: [{ activated: true }] }, diff --git a/packages/builder/src/pages/builder/portal/settings/organisation.svelte b/packages/builder/src/pages/builder/portal/settings/organisation.svelte index 6903854922..c9086b2b45 100644 --- a/packages/builder/src/pages/builder/portal/settings/organisation.svelte +++ b/packages/builder/src/pages/builder/portal/settings/organisation.svelte @@ -11,7 +11,7 @@ notifications, } from "@budibase/bbui" import { auth, organisation, admin } from "stores/portal" - import { post } from "builderStore/api" + import { API } from "api" import { writable } from "svelte/store" import { redirect } from "@roxi/routify" @@ -32,14 +32,13 @@ let loading = false async function uploadLogo(file) { - let data = new FormData() - data.append("file", file) - const res = await post( - "/api/global/configs/upload/settings/logoUrl", - data, - {} - ) - return await res.json() + try { + let data = new FormData() + data.append("file", file) + await API.uploadLogo(data) + } catch (error) { + notifications.error("Error uploading logo") + } } async function saveConfig() { @@ -55,19 +54,14 @@ company: $values.company ?? "", platformUrl: $values.platformUrl ?? "", } - // remove logo if required + + // Remove logo if required if (!$values.logo) { config.logoUrl = "" } // Update settings - const res = await organisation.save(config) - if (res.status === 200) { - notifications.success("Settings saved successfully") - } else { - notifications.error(res.message) - } - + await organisation.save(config) loading = false } diff --git a/packages/builder/src/pages/builder/portal/settings/update.svelte b/packages/builder/src/pages/builder/portal/settings/update.svelte index 5deb724a7c..d87736144d 100644 --- a/packages/builder/src/pages/builder/portal/settings/update.svelte +++ b/packages/builder/src/pages/builder/portal/settings/update.svelte @@ -9,7 +9,7 @@ notifications, Label, } from "@budibase/bbui" - import api from "builderStore/api" + import { API } from "api" import { auth, admin } from "stores/portal" import { redirect } from "@roxi/routify" @@ -38,8 +38,12 @@ } async function getVersion() { - const response = await api.get("/api/dev/version") - version = await response.text() + try { + version = await API.getBudibaseVersion() + } catch (error) { + notifications.error("Error getting Budibase version") + version = null + } } onMount(() => { diff --git a/packages/frontend-core/src/api/app.js b/packages/frontend-core/src/api/app.js index c1c4204c9d..543dcd58ee 100644 --- a/packages/frontend-core/src/api/app.js +++ b/packages/frontend-core/src/api/app.js @@ -122,4 +122,14 @@ export const buildAppEndpoints = API => ({ url: `/api/dev/${appId}/lock`, }) }, + + /** + * Syncs an app with the production database. + * @param appId the ID of the app to sync + */ + syncApp: async appId => { + return await API.post({ + url: `/api/applications/${appId}/sync`, + }) + }, }) diff --git a/packages/frontend-core/src/api/auth.js b/packages/frontend-core/src/api/auth.js index 4f61c155f0..5f280b50da 100644 --- a/packages/frontend-core/src/api/auth.js +++ b/packages/frontend-core/src/api/auth.js @@ -36,6 +36,17 @@ export const buildAuthEndpoints = API => ({ }) }, + /** + * Creates a user for an app. + * @param user the user to create + */ + createAppUser: async user => { + return await API.post({ + url: "/api/users/metadata", + body: user, + }) + }, + /** * Updates the current user metadata. * @param metadata the metadata to save @@ -116,4 +127,38 @@ export const buildAuthEndpoints = API => ({ url: "/api/system/environment", }) }, + + /** + * Updates the company logo for the environment. + * @param data the logo form data + */ + uploadLogo: async data => { + return await API.post({ + url: "/api/global/configs/upload/settings/logoUrl", + body: data, + json: false, + }) + }, + + /** + * Uploads a logo for an OIDC provider. + * @param name the name of the OIDC provider + * @param data the logo form data to upload + */ + uploadOIDCLogo: async ({ name, data }) => { + return await API.post({ + url: `/api/global/configs/upload/logos_oidc/${name}`, + body: data, + json: false, + }) + }, + + /** + * Gets the list of OIDC logos. + */ + getOIDCLogos: async () => { + return await API.get({ + url: "/api/global/configs/logos_oidc", + }) + }, }) diff --git a/packages/frontend-core/src/api/automations.js b/packages/frontend-core/src/api/automations.js index 95605a91a5..2843599e78 100644 --- a/packages/frontend-core/src/api/automations.js +++ b/packages/frontend-core/src/api/automations.js @@ -8,4 +8,67 @@ export const buildAutomationEndpoints = API => ({ body: { fields }, }) }, + + /** + * Tests an automation with data. + * @param automationId the ID of the automation to test + * @param testData the test data to run against the automation + */ + testAutomation: async ({ automationId, testData }) => { + return await API.post({ + url: `/api/automations/${automationId}/test`, + body: testData, + }) + }, + + /** + * Gets a list of all automations. + */ + getAutomations: async () => { + return await API.get({ + url: "/api/automations", + }) + }, + + /** + * Gets a list of all the definitions for blocks in automations. + */ + getAutomationDefinitions: async () => { + return await API.get({ + url: "/api/automations/definitions/list", + }) + }, + + /** + * Creates an automation. + * @param automation the automation to create + */ + createAutomation: async automation => { + return await API.post({ + url: "/api/automations", + body: automation, + }) + }, + + /** + * Updates an automation. + * @param automation the automation to update + */ + updateAutomation: async automation => { + return await API.put({ + url: "/api/automations", + body: automation, + }) + }, + + /** + * Deletes an automation + * @param automationId the ID of the automation to delete + * @param automationRev the rev of the automation to delete + */ + deleteAutomation: async ({ automationId, automationRev }) => { + return await API.delete({ + url: `/api/automations/${automationId}/${automationRev}`, + }) + }, }) diff --git a/packages/frontend-core/src/api/builder.js b/packages/frontend-core/src/api/builder.js index dbe64e611e..dbb34a6a7b 100644 --- a/packages/frontend-core/src/api/builder.js +++ b/packages/frontend-core/src/api/builder.js @@ -5,13 +5,26 @@ export const buildBuilderEndpoints = API => ({ * @param {string} appId - ID of the currently running app */ fetchComponentLibDefinitions: async appId => { - return await API.get({ url: `/api/${appId}/components/definitions` }) + return await API.get({ + url: `/api/${appId}/components/definitions`, + }) }, /** * Gets the list of available integrations. */ getIntegrations: async () => { - return await API.get({ url: "/api/integrations" }) + return await API.get({ + url: "/api/integrations", + }) + }, + + /** + * Gets the version of the installed Budibase environment. + */ + getBudibaseVersion: async () => { + return await API.get({ + url: "/api/dev/version", + }) }, }) diff --git a/packages/frontend-core/src/api/hosting.js b/packages/frontend-core/src/api/hosting.js new file mode 100644 index 0000000000..8c398f9ae7 --- /dev/null +++ b/packages/frontend-core/src/api/hosting.js @@ -0,0 +1,19 @@ +export const buildHostingEndpoints = API => ({ + /** + * Gets the hosting URLs of the environment. + */ + getHostingURLs: async () => { + return await API.get({ + url: "/api/hosting/urls", + }) + }, + + /** + * Gets the list of deployed apps. + */ + getDeployedApps: async () => { + return await API.get({ + url: "/api/hosting/apps", + }) + }, +}) diff --git a/packages/frontend-core/src/api/index.js b/packages/frontend-core/src/api/index.js index e1cf2f3619..1f7a703dcf 100644 --- a/packages/frontend-core/src/api/index.js +++ b/packages/frontend-core/src/api/index.js @@ -4,6 +4,7 @@ import { buildAppEndpoints } from "./app" import { buildAttachmentEndpoints } from "./attachments" import { buildAuthEndpoints } from "./auth" import { buildAutomationEndpoints } from "./automations" +import { buildHostingEndpoints } from "./hosting" import { buildQueryEndpoints } from "./queries" import { buildRelationshipEndpoints } from "./relationships" import { buildRouteEndpoints } from "./routes" @@ -35,6 +36,7 @@ export const createAPIClient = config => { // Try to read a message from the error let message = response.statusText + let json = null try { const json = await response.json() if (json?.message) { @@ -47,6 +49,7 @@ export const createAPIClient = config => { } return { message, + json, status: response.status, url: response.url, method, @@ -58,6 +61,7 @@ export const createAPIClient = config => { const makeError = message => { return { message, + json: null, status: 400, url: "", method: "", @@ -173,6 +177,7 @@ export const createAPIClient = config => { ...buildAttachmentEndpoints(API), ...buildAuthEndpoints(API), ...buildAutomationEndpoints(API), + ...buildHostingEndpoints(API), ...buildQueryEndpoints(API), ...buildRelationshipEndpoints(API), ...buildRouteEndpoints(API), From 816ced96df2fb1c3198a44d6f05fa38646efabcb Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Mon, 24 Jan 2022 10:44:37 +0000 Subject: [PATCH 027/176] Update all API usages in builder components directory --- .../DataTable/RelationshipDataTable.svelte | 15 +++++--- .../components/backend/DataTable/Table.svelte | 19 ++++++---- .../backend/DataTable/ViewDataTable.svelte | 31 ++++++++-------- .../backend/DataTable/modals/EditRoles.svelte | 30 +++++++++------- .../DataTable/modals/ExportModal.svelte | 19 +++++----- .../DataTable/modals/ImportModal.svelte | 20 ++++++----- .../TableIntegrationMenu/index.svelte | 17 +++++---- .../modals/CreateDatasourceModal.svelte | 30 +++++++++++----- .../TableNavigator/TableDataImport.svelte | 36 +++++++++---------- packages/frontend-core/src/api/builder.js | 9 +++++ packages/frontend-core/src/api/index.js | 9 ++++- .../frontend-core/src/api/relationships.js | 8 +++-- packages/frontend-core/src/api/rows.js | 14 ++++++++ packages/frontend-core/src/api/tables.js | 31 ++++++++++++++++ packages/frontend-core/src/api/views.js | 15 ++++++++ 15 files changed, 206 insertions(+), 97 deletions(-) diff --git a/packages/builder/src/components/backend/DataTable/RelationshipDataTable.svelte b/packages/builder/src/components/backend/DataTable/RelationshipDataTable.svelte index a0a06d1866..8ef870caca 100644 --- a/packages/builder/src/components/backend/DataTable/RelationshipDataTable.svelte +++ b/packages/builder/src/components/backend/DataTable/RelationshipDataTable.svelte @@ -1,7 +1,8 @@ diff --git a/packages/builder/src/components/backend/DataTable/Table.svelte b/packages/builder/src/components/backend/DataTable/Table.svelte index 3c646bde68..ab94080959 100644 --- a/packages/builder/src/components/backend/DataTable/Table.svelte +++ b/packages/builder/src/components/backend/DataTable/Table.svelte @@ -2,7 +2,7 @@ import { fade } from "svelte/transition" import { goto, params } from "@roxi/routify" import { Table, Modal, Heading, notifications, Layout } from "@budibase/bbui" - import api from "builderStore/api" + import { API } "api" import Spinner from "components/common/Spinner.svelte" import DeleteRowsButton from "./buttons/DeleteRowsButton.svelte" import CreateEditRow from "./modals/CreateEditRow.svelte" @@ -88,12 +88,17 @@ } const deleteRows = async () => { - await api.delete(`/api/${tableId}/rows`, { - rows: selectedRows, - }) - data = data.filter(row => !selectedRows.includes(row)) - notifications.success(`Successfully deleted ${selectedRows.length} rows`) - selectedRows = [] + try { + await API.deleteRows({ + tableId, + rows: selectedRows + }) + data = data.filter(row => !selectedRows.includes(row)) + notifications.success(`Successfully deleted ${selectedRows.length} rows`) + selectedRows = [] + } catch (error) { + notifications.error("Error deleting rows") + } } const editRow = row => { diff --git a/packages/builder/src/components/backend/DataTable/ViewDataTable.svelte b/packages/builder/src/components/backend/DataTable/ViewDataTable.svelte index a52fbdb177..10c6703623 100644 --- a/packages/builder/src/components/backend/DataTable/ViewDataTable.svelte +++ b/packages/builder/src/components/backend/DataTable/ViewDataTable.svelte @@ -1,5 +1,5 @@ diff --git a/packages/builder/src/components/backend/DataTable/modals/EditRoles.svelte b/packages/builder/src/components/backend/DataTable/modals/EditRoles.svelte index 7fa9482fbe..e2ccab11af 100644 --- a/packages/builder/src/components/backend/DataTable/modals/EditRoles.svelte +++ b/packages/builder/src/components/backend/DataTable/modals/EditRoles.svelte @@ -1,7 +1,7 @@ diff --git a/packages/builder/src/components/backend/DataTable/modals/ImportModal.svelte b/packages/builder/src/components/backend/DataTable/modals/ImportModal.svelte index 88d001a444..930842d34f 100644 --- a/packages/builder/src/components/backend/DataTable/modals/ImportModal.svelte +++ b/packages/builder/src/components/backend/DataTable/modals/ImportModal.svelte @@ -1,7 +1,7 @@ diff --git a/packages/builder/src/components/backend/DatasourceNavigator/TableIntegrationMenu/index.svelte b/packages/builder/src/components/backend/DatasourceNavigator/TableIntegrationMenu/index.svelte index 79ebdb1020..9277207e37 100644 --- a/packages/builder/src/components/backend/DatasourceNavigator/TableIntegrationMenu/index.svelte +++ b/packages/builder/src/components/backend/DatasourceNavigator/TableIntegrationMenu/index.svelte @@ -1,7 +1,7 @@ diff --git a/packages/builder/src/components/backend/TableNavigator/TableDataImport.svelte b/packages/builder/src/components/backend/TableNavigator/TableDataImport.svelte index 44cb374092..774aac0677 100644 --- a/packages/builder/src/components/backend/TableNavigator/TableDataImport.svelte +++ b/packages/builder/src/components/backend/TableNavigator/TableDataImport.svelte @@ -1,7 +1,7 @@ diff --git a/packages/builder/src/components/backend/DataTable/modals/CreateEditColumn.svelte b/packages/builder/src/components/backend/DataTable/modals/CreateEditColumn.svelte index 1fa5c6e073..385af3983c 100644 --- a/packages/builder/src/components/backend/DataTable/modals/CreateEditColumn.svelte +++ b/packages/builder/src/components/backend/DataTable/modals/CreateEditColumn.svelte @@ -122,7 +122,7 @@ }) dispatch("updatecolumns") } catch (err) { - notifications.error(err) + notifications.error("Error saving column") } } @@ -131,17 +131,21 @@ } function deleteColumn() { - field.name = deleteColName - if (field.name === $tables.selected.primaryDisplay) { - notifications.error("You cannot delete the display column") - } else { - tables.deleteField(field) - notifications.success(`Column ${field.name} deleted.`) - confirmDeleteDialog.hide() - hide() - deletion = false + try { + field.name = deleteColName + if (field.name === $tables.selected.primaryDisplay) { + notifications.error("You cannot delete the display column") + } else { + tables.deleteField(field) + notifications.success(`Column ${field.name} deleted.`) + confirmDeleteDialog.hide() + hide() + deletion = false + dispatch("updatecolumns") + } + } catch (error) { + notifications.error("Error deleting column") } - dispatch("updatecolumns") } function handleTypeChange(event) { diff --git a/packages/builder/src/components/backend/DataTable/modals/CreateViewModal.svelte b/packages/builder/src/components/backend/DataTable/modals/CreateViewModal.svelte index 2f6ec51233..2ea0c1b63b 100644 --- a/packages/builder/src/components/backend/DataTable/modals/CreateViewModal.svelte +++ b/packages/builder/src/components/backend/DataTable/modals/CreateViewModal.svelte @@ -12,17 +12,21 @@ function saveView() { if (views.includes(name)) { - notifications.error(`View exists with name ${name}.`) + notifications.error(`View exists with name ${name}`) return } - viewsStore.save({ - name, - tableId: $tables.selected._id, - field, - }) - notifications.success(`View ${name} created`) - analytics.captureEvent(Events.VIEW.CREATED, { name }) - $goto(`../../view/${name}`) + try { + viewsStore.save({ + name, + tableId: $tables.selected._id, + field, + }) + notifications.success(`View ${name} created`) + analytics.captureEvent(Events.VIEW.CREATED, { name }) + $goto(`../../view/${name}`) + } catch (error) { + notifications.error("Error creating view") + } } diff --git a/packages/builder/src/components/backend/DataTable/modals/FilterModal.svelte b/packages/builder/src/components/backend/DataTable/modals/FilterModal.svelte index c413ee16ce..1209ea7e5f 100644 --- a/packages/builder/src/components/backend/DataTable/modals/FilterModal.svelte +++ b/packages/builder/src/components/backend/DataTable/modals/FilterModal.svelte @@ -72,11 +72,15 @@ $: schema = viewTable && viewTable.schema ? viewTable.schema : {} function saveView() { - views.save(view) - notifications.success(`View ${view.name} saved.`) - analytics.captureEvent(Events.VIEW.ADDED_FILTER, { - filters: JSON.stringify(view.filters), - }) + try { + views.save(view) + notifications.success(`View ${view.name} saved`) + analytics.captureEvent(Events.VIEW.ADDED_FILTER, { + filters: JSON.stringify(view.filters), + }) + } catch (error) { + notifcations.error("Error saving view") + } } function removeFilter(idx) { diff --git a/packages/builder/src/components/backend/DataTable/modals/GroupByModal.svelte b/packages/builder/src/components/backend/DataTable/modals/GroupByModal.svelte index b0df0ef1da..59fc4a2c5d 100644 --- a/packages/builder/src/components/backend/DataTable/modals/GroupByModal.svelte +++ b/packages/builder/src/components/backend/DataTable/modals/GroupByModal.svelte @@ -19,8 +19,12 @@ .map(([key]) => key) function saveView() { - views.save(view) - notifications.success(`View ${view.name} saved.`) + try { + views.save(view) + notifications.success(`View ${view.name} saved`) + } catch (error) { + notifications.error("Error saving view") + } } diff --git a/packages/builder/src/components/backend/DataTable/modals/ManageAccessModal.svelte b/packages/builder/src/components/backend/DataTable/modals/ManageAccessModal.svelte index 0998a5be2e..aa6dbc93e0 100644 --- a/packages/builder/src/components/backend/DataTable/modals/ManageAccessModal.svelte +++ b/packages/builder/src/components/backend/DataTable/modals/ManageAccessModal.svelte @@ -14,15 +14,19 @@ export let permissions async function changePermission(level, role) { - await permissionsStore.save({ - level, - role, - resource: resourceId, - }) + try { + await permissionsStore.save({ + level, + role, + resource: resourceId, + }) - // Show updated permissions in UI: REMOVE - permissions = await permissionsStore.forResource(resourceId) - notifications.success("Updated permissions.") + // Show updated permissions in UI: REMOVE + permissions = await permissionsStore.forResource(resourceId) + notifications.success("Updated permissions") + } catch (error) { + notifications.error("Error updating permissions") + } } diff --git a/packages/builder/src/components/backend/DatasourceNavigator/DatasourceNavigator.svelte b/packages/builder/src/components/backend/DatasourceNavigator/DatasourceNavigator.svelte index af345ddcdf..b40686afb5 100644 --- a/packages/builder/src/components/backend/DatasourceNavigator/DatasourceNavigator.svelte +++ b/packages/builder/src/components/backend/DatasourceNavigator/DatasourceNavigator.svelte @@ -10,6 +10,7 @@ import TableNavigator from "components/backend/TableNavigator/TableNavigator.svelte" import { customQueryIconText, customQueryIconColor } from "helpers/data/utils" import ICONS from "./icons" + import { notifications } from "@budibase/bbui" let openDataSources = [] $: enrichedDataSources = Array.isArray($datasources.list) @@ -64,8 +65,12 @@ } onMount(() => { - datasources.fetch() - queries.fetch() + try { + datasources.fetch() + queries.fetch() + } catch (error) { + notifications.error("Error fetching datasources and queries") + } }) const containsActiveEntity = datasource => { diff --git a/packages/builder/src/components/backend/DatasourceNavigator/TableIntegrationMenu/CreateExternalTableModal.svelte b/packages/builder/src/components/backend/DatasourceNavigator/TableIntegrationMenu/CreateExternalTableModal.svelte index 52402a0396..f6cd6af758 100644 --- a/packages/builder/src/components/backend/DatasourceNavigator/TableIntegrationMenu/CreateExternalTableModal.svelte +++ b/packages/builder/src/components/backend/DatasourceNavigator/TableIntegrationMenu/CreateExternalTableModal.svelte @@ -1,5 +1,5 @@ diff --git a/packages/builder/src/components/backend/DatasourceNavigator/TableIntegrationMenu/PlusConfigForm.svelte b/packages/builder/src/components/backend/DatasourceNavigator/TableIntegrationMenu/PlusConfigForm.svelte index 819fb32e45..1148695712 100644 --- a/packages/builder/src/components/backend/DatasourceNavigator/TableIntegrationMenu/PlusConfigForm.svelte +++ b/packages/builder/src/components/backend/DatasourceNavigator/TableIntegrationMenu/PlusConfigForm.svelte @@ -90,8 +90,8 @@ await datasources.updateSchema(datasource) notifications.success(`Datasource ${name} tables updated successfully.`) await tables.fetch() - } catch (err) { - notifications.error(`Error updating datasource schema: ${err}`) + } catch (error) { + notifications.error("Error updating datasource schema") } } diff --git a/packages/builder/src/components/backend/DatasourceNavigator/modals/CreateDatasourceModal.svelte b/packages/builder/src/components/backend/DatasourceNavigator/modals/CreateDatasourceModal.svelte index d1a3d7c302..267b0495ec 100644 --- a/packages/builder/src/components/backend/DatasourceNavigator/modals/CreateDatasourceModal.svelte +++ b/packages/builder/src/components/backend/DatasourceNavigator/modals/CreateDatasourceModal.svelte @@ -62,9 +62,13 @@ externalDatasourceModal.hide() internalTableModal.show() } else if (integration.type === IntegrationTypes.REST) { - // skip modal for rest, create straight away - const resp = await createRestDatasource(integration) - $goto(`./datasource/${resp._id}`) + try { + // Skip modal for rest, create straight away + const resp = await createRestDatasource(integration) + $goto(`./datasource/${resp._id}`) + } catch (error) { + notifications.error("Error creating datasource") + } } else { externalDatasourceModal.show() } diff --git a/packages/builder/src/components/backend/DatasourceNavigator/modals/DatasourceConfigModal.svelte b/packages/builder/src/components/backend/DatasourceNavigator/modals/DatasourceConfigModal.svelte index da8c0515b7..06e00ff5d0 100644 --- a/packages/builder/src/components/backend/DatasourceNavigator/modals/DatasourceConfigModal.svelte +++ b/packages/builder/src/components/backend/DatasourceNavigator/modals/DatasourceConfigModal.svelte @@ -20,7 +20,7 @@ $goto(`./datasource/${resp._id}`) notifications.success(`Datasource updated successfully.`) } catch (err) { - notifications.error(`Error saving datasource: ${err}`) + notifications.error("Error saving datasource") } } diff --git a/packages/builder/src/components/backend/DatasourceNavigator/modals/ImportRestQueriesModal.svelte b/packages/builder/src/components/backend/DatasourceNavigator/modals/ImportRestQueriesModal.svelte index cd6cef42d1..86cc25a0f3 100644 --- a/packages/builder/src/components/backend/DatasourceNavigator/modals/ImportRestQueriesModal.svelte +++ b/packages/builder/src/components/backend/DatasourceNavigator/modals/ImportRestQueriesModal.svelte @@ -79,8 +79,8 @@ }) return true - } catch (err) { - notifications.error(`Error importing: ${err}`) + } catch (error) { + notifications.error("Error importing queries") return false } } diff --git a/packages/builder/src/components/backend/DatasourceNavigator/popovers/EditDatasourcePopover.svelte b/packages/builder/src/components/backend/DatasourceNavigator/popovers/EditDatasourcePopover.svelte index 1354c31b87..ae0023f682 100644 --- a/packages/builder/src/components/backend/DatasourceNavigator/popovers/EditDatasourcePopover.svelte +++ b/packages/builder/src/components/backend/DatasourceNavigator/popovers/EditDatasourcePopover.svelte @@ -12,24 +12,28 @@ let updateDatasourceDialog async function deleteDatasource() { - let wasSelectedSource = $datasources.selected - if (!wasSelectedSource && $queries.selected) { - const queryId = $queries.selected - wasSelectedSource = $datasources.list.find(ds => - queryId.includes(ds._id) - )?._id - } - const wasSelectedTable = $tables.selected - await datasources.delete(datasource) - notifications.success("Datasource deleted") - // navigate to first index page if the source you are deleting is selected - const entities = Object.values(datasource?.entities || {}) - if ( - wasSelectedSource === datasource._id || - (entities && - entities.find(entity => entity._id === wasSelectedTable?._id)) - ) { - $goto("./datasource") + try { + let wasSelectedSource = $datasources.selected + if (!wasSelectedSource && $queries.selected) { + const queryId = $queries.selected + wasSelectedSource = $datasources.list.find(ds => + queryId.includes(ds._id) + )?._id + } + const wasSelectedTable = $tables.selected + await datasources.delete(datasource) + notifications.success("Datasource deleted") + // Navigate to first index page if the source you are deleting is selected + const entities = Object.values(datasource?.entities || {}) + if ( + wasSelectedSource === datasource._id || + (entities && + entities.find(entity => entity._id === wasSelectedTable?._id)) + ) { + $goto("./datasource") + } + } catch (error) { + notifications.error("Error deleting datasource") } } diff --git a/packages/builder/src/components/backend/DatasourceNavigator/popovers/EditQueryPopover.svelte b/packages/builder/src/components/backend/DatasourceNavigator/popovers/EditQueryPopover.svelte index b15746735b..e18deab2dd 100644 --- a/packages/builder/src/components/backend/DatasourceNavigator/popovers/EditQueryPopover.svelte +++ b/packages/builder/src/components/backend/DatasourceNavigator/popovers/EditQueryPopover.svelte @@ -10,26 +10,30 @@ let confirmDeleteDialog async function deleteQuery() { - const wasSelectedQuery = $queries.selected - // need to calculate this before the query is deleted - const navigateToDatasource = wasSelectedQuery === query._id + try { + const wasSelectedQuery = $queries.selected + // need to calculate this before the query is deleted + const navigateToDatasource = wasSelectedQuery === query._id - await queries.delete(query) - await datasources.fetch() + await queries.delete(query) + await datasources.fetch() - if (navigateToDatasource) { - await datasources.select(query.datasourceId) - $goto(`./datasource/${query.datasourceId}`) + if (navigateToDatasource) { + await datasources.select(query.datasourceId) + $goto(`./datasource/${query.datasourceId}`) + } + notifications.success("Query deleted") + } catch (error) { + notifications.error("Error deleting query") } - notifications.success("Query deleted") } async function duplicateQuery() { try { const newQuery = await queries.duplicate(query) onClickQuery(newQuery) - } catch (e) { - notifications.error(e.message) + } catch (error) { + notifications.error("Error duplicating query") } } diff --git a/packages/builder/src/components/backend/TableNavigator/popovers/EditTablePopover.svelte b/packages/builder/src/components/backend/TableNavigator/popovers/EditTablePopover.svelte index 0211a37557..b4035ba6e4 100644 --- a/packages/builder/src/components/backend/TableNavigator/popovers/EditTablePopover.svelte +++ b/packages/builder/src/components/backend/TableNavigator/popovers/EditTablePopover.svelte @@ -49,8 +49,8 @@ if (wasSelectedTable && wasSelectedTable._id === table._id) { $goto("./table") } - } catch (err) { - notifications.error(err) + } catch (error) { + notifications.error("Error deleting table") } } diff --git a/packages/builder/src/components/backend/TableNavigator/popovers/EditViewPopover.svelte b/packages/builder/src/components/backend/TableNavigator/popovers/EditViewPopover.svelte index 8384fc1d90..0ab5d4326f 100644 --- a/packages/builder/src/components/backend/TableNavigator/popovers/EditViewPopover.svelte +++ b/packages/builder/src/components/backend/TableNavigator/popovers/EditViewPopover.svelte @@ -27,11 +27,15 @@ } async function deleteView() { - const name = view.name - const id = view.tableId - await views.delete(name) - notifications.success("View deleted") - $goto(`./table/${id}`) + try { + const name = view.name + const id = view.tableId + await views.delete(name) + notifications.success("View deleted") + $goto(`./table/${id}`) + } catch (error) { + notifications.error("Error deleting view") + } } diff --git a/packages/builder/src/components/integration/AccessLevelSelect.svelte b/packages/builder/src/components/integration/AccessLevelSelect.svelte index 88814ed648..24c1e9b069 100644 --- a/packages/builder/src/components/integration/AccessLevelSelect.svelte +++ b/packages/builder/src/components/integration/AccessLevelSelect.svelte @@ -1,5 +1,5 @@ diff --git a/packages/builder/src/pages/builder/app/[application]/data/datasource/[selectedDatasource]/rest/[query]/index.svelte b/packages/builder/src/pages/builder/app/[application]/data/datasource/[selectedDatasource]/rest/[query]/index.svelte index 808c3a49ec..85ae8a11f5 100644 --- a/packages/builder/src/pages/builder/app/[application]/data/datasource/[selectedDatasource]/rest/[query]/index.svelte +++ b/packages/builder/src/pages/builder/app/[application]/data/datasource/[selectedDatasource]/rest/[query]/index.svelte @@ -112,14 +112,13 @@ const { _id } = await queries.save(toSave.datasourceId, toSave) saveId = _id query = getSelectedQuery() - notifications.success(`Request saved successfully.`) - + notifications.success(`Request saved successfully`) if (dynamicVariables) { datasource.config.dynamicVariables = rebuildVariables(saveId) datasource = await datasources.save(datasource) } } catch (err) { - notifications.error(`Error saving query. ${err.message}`) + notifications.error(`Error saving query`) } } @@ -127,14 +126,14 @@ try { response = await queries.preview(buildQuery(query)) if (response.rows.length === 0) { - notifications.info("Request did not return any data.") + notifications.info("Request did not return any data") } else { response.info = response.info || { code: 200 } schema = response.schema - notifications.success("Request sent successfully.") + notifications.success("Request sent successfully") } - } catch (err) { - notifications.error(err) + } catch (error) { + notifications.error("Error running query") } } @@ -226,10 +225,24 @@ ) } + const updateFlag = async (flag, value) => { + try { + await flags.updateFlag(flag, value) + } catch (error) { + notifications.error("Error updating flag") + } + } + onMount(async () => { query = getSelectedQuery() - // clear any unsaved changes to the datasource - await datasources.init() + + try { + // Clear any unsaved changes to the datasource + await datasources.init() + } catch (error) { + notifications.error("Error getting datasources") + } + datasource = $datasources.list.find(ds => ds._id === query?.datasourceId) const datasourceUrl = datasource?.config.url const qs = query?.fields.queryString @@ -393,8 +406,7 @@ window.open( "https://docs.budibase.com/building-apps/data/transformers" )} - on:change={() => - flags.updateFlag("queryTransformerBanner", true)} + on:change={() => updateFlag("queryTransformerBanner", true)} > Add a JavaScript function to transform the query result. diff --git a/packages/builder/src/stores/backend/datasources.js b/packages/builder/src/stores/backend/datasources.js index 7810c3a950..2423394c6a 100644 --- a/packages/builder/src/stores/backend/datasources.js +++ b/packages/builder/src/stores/backend/datasources.js @@ -1,6 +1,6 @@ import { writable, get } from "svelte/store" import { queries, tables, views } from "./" -import api from "../../builderStore/api" +import { API } from "api" export const INITIAL_DATASOURCE_VALUES = { list: [], @@ -13,23 +13,20 @@ export function createDatasourcesStore() { const { subscribe, update, set } = store async function updateDatasource(response) { - if (response.status !== 200) { - throw new Error(await response.text()) - } - - const { datasource, error } = await response.json() + const { datasource, error } = response update(state => { const currentIdx = state.list.findIndex(ds => ds._id === datasource._id) - const sources = state.list - if (currentIdx >= 0) { sources.splice(currentIdx, 1, datasource) } else { sources.push(datasource) } - - return { list: sources, selected: datasource._id, schemaError: error } + return { + list: sources, + selected: datasource._id, + schemaError: error, + } }) return datasource } @@ -38,25 +35,25 @@ export function createDatasourcesStore() { subscribe, update, init: async () => { - const response = await api.get(`/api/datasources`) - const json = await response.json() - set({ list: json, selected: null }) + const datasources = await API.getDatasources() + set({ + list: datasources, + selected: null, + }) }, fetch: async () => { - const response = await api.get(`/api/datasources`) - const json = await response.json() + const datasources = await API.getDatasources() // Clear selected if it no longer exists, otherwise keep it const selected = get(store).selected let nextSelected = null - if (selected && json.find(source => source._id === selected)) { + if (selected && datasources.find(source => source._id === selected)) { nextSelected = selected } - update(state => ({ ...state, list: json, selected: nextSelected })) - return json + update(state => ({ ...state, list: datasources, selected: nextSelected })) }, - select: async datasourceId => { + select: datasourceId => { update(state => ({ ...state, selected: datasourceId })) queries.unselect() tables.unselect() @@ -66,37 +63,33 @@ export function createDatasourcesStore() { update(state => ({ ...state, selected: null })) }, updateSchema: async datasource => { - let url = `/api/datasources/${datasource._id}/schema` - - const response = await api.post(url) - return updateDatasource(response) + const response = await API.buildDatasourceSchema(datasource?._id) + return await updateDatasource(response) }, save: async (body, fetchSchema = false) => { let response if (body._id) { - response = await api.put(`/api/datasources/${body._id}`, body) + response = await API.updateDatasource(body) } else { - response = await api.post("/api/datasources", { + response = await API.createDatasource({ datasource: body, fetchSchema, }) } - return updateDatasource(response) }, delete: async datasource => { - const response = await api.delete( - `/api/datasources/${datasource._id}/${datasource._rev}` - ) + await API.deleteDatasource({ + datasourceId: datasource?._id, + datasourceRev: datasource?._rev, + }) update(state => { const sources = state.list.filter( existing => existing._id !== datasource._id ) return { list: sources, selected: null } }) - await queries.fetch() - return response }, removeSchemaError: () => { update(state => { diff --git a/packages/builder/src/stores/backend/flags.js b/packages/builder/src/stores/backend/flags.js index 7e5adcd00f..449d010640 100644 --- a/packages/builder/src/stores/backend/flags.js +++ b/packages/builder/src/stores/backend/flags.js @@ -1,37 +1,27 @@ import { writable } from "svelte/store" -import api from "builderStore/api" +import { API } from "api" export function createFlagsStore() { const { subscribe, set } = writable({}) - return { - subscribe, + const actions = { fetch: async () => { - const { doc, response } = await getFlags() - set(doc) - return response + const flags = await API.getFlags() + set(flags) }, updateFlag: async (flag, value) => { - const response = await api.post("/api/users/flags", { + await API.updateFlag({ flag, value, }) - if (response.status === 200) { - const { doc } = await getFlags() - set(doc) - } - return response + await actions.fetch() }, } -} -async function getFlags() { - const response = await api.get("/api/users/flags") - let doc = {} - if (response.status === 200) { - doc = await response.json() + return { + subscribe, + ...actions, } - return { doc, response } } export const flags = createFlagsStore() diff --git a/packages/builder/src/stores/backend/integrations.js b/packages/builder/src/stores/backend/integrations.js index c19b09f1fb..717b656c72 100644 --- a/packages/builder/src/stores/backend/integrations.js +++ b/packages/builder/src/stores/backend/integrations.js @@ -7,12 +7,8 @@ const createIntegrationsStore = () => { return { ...store, init: async () => { - try { - const integrations = await API.getIntegrations() - store.set(integrations) - } catch (error) { - store.set(null) - } + const integrations = await API.getIntegrations() + store.set(integrations) }, } } diff --git a/packages/builder/src/stores/backend/permissions.js b/packages/builder/src/stores/backend/permissions.js index 29159494ed..aaab406bc9 100644 --- a/packages/builder/src/stores/backend/permissions.js +++ b/packages/builder/src/stores/backend/permissions.js @@ -1,5 +1,5 @@ import { writable } from "svelte/store" -import api from "builderStore/api" +import { API } from "api" export function createPermissionStore() { const { subscribe } = writable([]) @@ -7,14 +7,14 @@ export function createPermissionStore() { return { subscribe, save: async ({ level, role, resource }) => { - const response = await api.post( - `/api/permission/${role}/${resource}/${level}` - ) - return await response.json() + return await API.updatePermissionForResource({ + resourceId: resource, + roleId: role, + level, + }) }, forResource: async resourceId => { - const response = await api.get(`/api/permission/${resourceId}`) - return await response.json() + return await API.getPermissionForResource(resourceId) }, } } diff --git a/packages/builder/src/stores/backend/queries.js b/packages/builder/src/stores/backend/queries.js index 2018933ffc..6e30cb21f8 100644 --- a/packages/builder/src/stores/backend/queries.js +++ b/packages/builder/src/stores/backend/queries.js @@ -1,6 +1,6 @@ import { writable, get } from "svelte/store" import { datasources, integrations, tables, views } from "./" -import api from "builderStore/api" +import { API } from "api" import { duplicateName } from "../../helpers/duplicate" const sortQueries = queryList => { @@ -15,23 +15,26 @@ export function createQueriesStore() { const actions = { init: async () => { - const response = await api.get(`/api/queries`) - const json = await response.json() - set({ list: json, selected: null }) + const queries = await API.getQueries() + set({ + list: queries, + selected: null, + }) }, fetch: async () => { - const response = await api.get(`/api/queries`) - const json = await response.json() - sortQueries(json) - update(state => ({ ...state, list: json })) - return json + const queries = await API.getQueries() + sortQueries(queries) + update(state => ({ + ...state, + list: queries, + })) }, save: async (datasourceId, query) => { const _integrations = get(integrations) const dataSource = get(datasources).list.filter( ds => ds._id === datasourceId ) - // check if readable attribute is found + // Check if readable attribute is found if (dataSource.length !== 0) { const integration = _integrations[dataSource[0].source] const readable = integration.query[query.queryVerb].readable @@ -40,34 +43,28 @@ export function createQueriesStore() { } } query.datasourceId = datasourceId - const response = await api.post(`/api/queries`, query) - if (response.status !== 200) { - throw new Error("Failed saving query.") - } - const json = await response.json() + const savedQuery = await API.saveQuery(query) update(state => { - const currentIdx = state.list.findIndex(query => query._id === json._id) - + const idx = state.list.findIndex(query => query._id === savedQuery._id) const queries = state.list - - if (currentIdx >= 0) { - queries.splice(currentIdx, 1, json) + if (idx >= 0) { + queries.splice(idx, 1, savedQuery) } else { - queries.push(json) + queries.push(savedQuery) } sortQueries(queries) - return { list: queries, selected: json._id } + return { + list: queries, + selected: savedQuery._id, + } }) - return json + return savedQuery }, - import: async body => { - const response = await api.post(`/api/queries/import`, body) - - if (response.status !== 200) { - throw new Error(response.message) - } - - return response.json() + import: async (data, datasourceId) => { + return await API.importQueries({ + datasourceId, + data, + }) }, select: query => { update(state => ({ ...state, selected: query._id })) @@ -79,48 +76,37 @@ export function createQueriesStore() { update(state => ({ ...state, selected: null })) }, preview: async query => { - const response = await api.post("/api/queries/preview", { - fields: query.fields, - queryVerb: query.queryVerb, - transformer: query.transformer, - parameters: query.parameters.reduce( - (acc, next) => ({ - ...acc, - [next.name]: next.default, - }), - {} - ), - datasourceId: query.datasourceId, - queryId: query._id || undefined, + const parameters = query.parameters.reduce( + (acc, next) => ({ + ...acc, + [next.name]: next.default, + }), + {} + ) + const result = await API.previewQuery({ + ...query, + parameters, }) - - if (response.status !== 200) { - const error = await response.text() - throw `Query error: ${error}` - } - - const json = await response.json() // Assume all the fields are strings and create a basic schema from the // unique fields returned by the server const schema = {} - for (let field of json.schemaFields) { + for (let field of result.schemaFields) { schema[field] = "string" } - return { ...json, schema, rows: json.rows || [] } + return { ...result, schema, rows: result.rows || [] } }, delete: async query => { - const response = await api.delete( - `/api/queries/${query._id}/${query._rev}` - ) + await API.deleteQuery({ + queryId: query?._id, + queryRev: query?._rev, + }) update(state => { state.list = state.list.filter(existing => existing._id !== query._id) if (state.selected === query._id) { state.selected = null } - return state }) - return response }, duplicate: async query => { let list = get(store).list diff --git a/packages/builder/src/stores/backend/roles.js b/packages/builder/src/stores/backend/roles.js index 1a1a9c04c5..0c3cdbce5a 100644 --- a/packages/builder/src/stores/backend/roles.js +++ b/packages/builder/src/stores/backend/roles.js @@ -1,30 +1,32 @@ import { writable } from "svelte/store" -import api from "builderStore/api" +import { API } from "api" export function createRolesStore() { const { subscribe, update, set } = writable([]) - return { - subscribe, + const actions = { fetch: async () => { - set(await getRoles()) + const roles = await API.getRoles() + set(roles) }, delete: async role => { - const response = await api.delete(`/api/roles/${role._id}/${role._rev}`) + await API.deleteRole({ + roleId: role?._id, + roleRev: role?._rev, + }) update(state => state.filter(existing => existing._id !== role._id)) - return response }, save: async role => { - const response = await api.post("/api/roles", role) - set(await getRoles()) - return response + const savedRole = await API.saveRole(role) + await actions.fetch() + return savedRole }, } + + return { + subscribe, + ...actions, + } } -async function getRoles() { - const response = await api.get("/api/roles") - return await response.json() -} - export const roles = createRolesStore() diff --git a/packages/builder/src/stores/backend/tables.js b/packages/builder/src/stores/backend/tables.js index 02db48c549..f6d20037cb 100644 --- a/packages/builder/src/stores/backend/tables.js +++ b/packages/builder/src/stores/backend/tables.js @@ -1,7 +1,7 @@ import { get, writable } from "svelte/store" import { datasources, queries, views } from "./" import { cloneDeep } from "lodash/fp" -import api from "builderStore/api" +import { API } from "api" import { SWITCHABLE_TYPES } from "../../constants/backend" export function createTablesStore() { @@ -9,10 +9,11 @@ export function createTablesStore() { const { subscribe, update, set } = store async function fetch() { - const tablesResponse = await api.get(`/api/tables`) - const tables = await tablesResponse.json() - update(state => ({ ...state, list: tables })) - return tables + const tables = await API.getTables() + update(state => ({ + ...state, + list: tables, + })) } async function select(table) { @@ -38,16 +39,16 @@ export function createTablesStore() { const oldTable = get(store).list.filter(t => t._id === table._id)[0] const fieldNames = [] - // update any renamed schema keys to reflect their names + // Update any renamed schema keys to reflect their names for (let key of Object.keys(updatedTable.schema)) { - // if field name has been seen before remove it + // If field name has been seen before remove it if (fieldNames.indexOf(key.toLowerCase()) !== -1) { delete updatedTable.schema[key] continue } const field = updatedTable.schema[key] const oldField = oldTable?.schema[key] - // if the type has changed then revert back to the old field + // If the type has changed then revert back to the old field if ( oldField != null && oldField?.type !== field.type && @@ -55,21 +56,17 @@ export function createTablesStore() { ) { updatedTable.schema[key] = oldField } - // field has been renamed + // Field has been renamed if (field.name && field.name !== key) { updatedTable.schema[field.name] = field updatedTable._rename = { old: key, updated: field.name } delete updatedTable.schema[key] } - // finally record this field has been used + // Finally record this field has been used fieldNames.push(key.toLowerCase()) } - const response = await api.post(`/api/tables`, updatedTable) - if (response.status !== 200) { - throw (await response.json()).message - } - const savedTable = await response.json() + const savedTable = await API.saveTable(updatedTable) await fetch() if (table.type === "external") { await datasources.fetch() @@ -91,21 +88,18 @@ export function createTablesStore() { }, save, init: async () => { - const response = await api.get("/api/tables") - const json = await response.json() + const tables = await API.getTables() set({ - list: json, + list: tables, selected: {}, draft: {}, }) }, delete: async table => { - const response = await api.delete( - `/api/tables/${table._id}/${table._rev}` - ) - if (response.status !== 200) { - throw (await response.json()).message - } + await API.deleteTable({ + tableId: table?._id, + tableRev: table?._rev, + }) update(state => ({ ...state, list: state.list.filter(existing => existing._id !== table._id), @@ -156,12 +150,16 @@ export function createTablesStore() { await promise } }, - deleteField: field => { + deleteField: async field => { + let promise update(state => { delete state.draft.schema[field.name] - save(state.draft) + promise = save(state.draft) return state }) + if (promise) { + await promise + } }, } } diff --git a/packages/builder/src/stores/backend/views.js b/packages/builder/src/stores/backend/views.js index 14c7bf92a4..849a66f671 100644 --- a/packages/builder/src/stores/backend/views.js +++ b/packages/builder/src/stores/backend/views.js @@ -1,6 +1,6 @@ import { writable, get } from "svelte/store" import { tables, datasources, queries } from "./" -import api from "builderStore/api" +import { API } from "api" export function createViewsStore() { const { subscribe, update } = writable({ @@ -11,7 +11,7 @@ export function createViewsStore() { return { subscribe, update, - select: async view => { + select: view => { update(state => ({ ...state, selected: view, @@ -27,16 +27,14 @@ export function createViewsStore() { })) }, delete: async view => { - await api.delete(`/api/views/${view}`) + await API.deleteView(view) await tables.fetch() }, save: async view => { - const response = await api.post(`/api/views`, view) - const json = await response.json() - + const savedView = await API.saveView(view) const viewMeta = { name: view.name, - ...json, + ...savedView, } const viewTable = get(tables).list.find( diff --git a/packages/builder/src/stores/portal/email.js b/packages/builder/src/stores/portal/email.js index a015480141..5bef63701f 100644 --- a/packages/builder/src/stores/portal/email.js +++ b/packages/builder/src/stores/portal/email.js @@ -1,5 +1,6 @@ import { writable } from "svelte/store" -import api from "builderStore/api" +import { API } from "api" +import { notifications } from "@budibase/bbui" export function createEmailStore() { const store = writable({}) @@ -8,34 +9,35 @@ export function createEmailStore() { subscribe: store.subscribe, templates: { fetch: async () => { - // fetch the email template definitions - const response = await api.get(`/api/global/template/definitions`) - const definitions = await response.json() - - // fetch the email templates themselves - const templatesResponse = await api.get(`/api/global/template/email`) - const templates = await templatesResponse.json() - - store.set({ - definitions, - templates, - }) + try { + // fetch the email template definitions and templates + const definitions = await API.getEmailTemplateDefinitions() + const templates = await API.getEmailTemplates() + store.set({ + definitions, + templates, + }) + } catch (error) { + notifications.error("Error fetching email templates") + store.set({}) + } }, save: async template => { - // Save your template config - const response = await api.post(`/api/global/template`, template) - const json = await response.json() - if (response.status !== 200) throw new Error(json.message) - template._rev = json._rev - template._id = json._id - - store.update(state => { - const currentIdx = state.templates.findIndex( - template => template.purpose === json.purpose - ) - state.templates.splice(currentIdx, 1, template) - return state - }) + try { + // Save your template config + const savedTemplate = await API.saveEmailTemplate(template) + template._rev = savedTemplate._rev + template._id = savedTemplate._id + store.update(state => { + const currentIdx = state.templates.findIndex( + template => template.purpose === savedTemplate.purpose + ) + state.templates.splice(currentIdx, 1, template) + return state + }) + } catch (error) { + notifications.error("Error saving email template") + } }, }, } diff --git a/packages/frontend-core/src/api/datasources.js b/packages/frontend-core/src/api/datasources.js new file mode 100644 index 0000000000..ff72fbf25b --- /dev/null +++ b/packages/frontend-core/src/api/datasources.js @@ -0,0 +1,57 @@ +export const buildDatasourceEndpoints = API => ({ + /** + * Gets a list of datasources. + */ + getDatasources: async () => { + return await API.get({ + url: "/api/datasources", + }) + }, + + /** + * Prompts the server to build the schema for a datasource. + * @param datasourceId the datasource ID to build the schema for + */ + buildDatasourceSchema: async datasourceId => { + return await API.post({ + url: `/api/datasources/${datasourceId}/schema`, + }) + }, + + /** + * Creates a datasource + * @param datasource the datasource to create + * @param fetchSchema whether to fetch the schema or not + */ + createDatasource: async ({ datasource, fetchSchema }) => { + return await API.post({ + url: "/api/datasources", + body: { + datasource, + fetchSchema, + }, + }) + }, + + /** + * Updates a datasource + * @param datasource the datasource to update + */ + updateDatasource: async datasource => { + return await API.put({ + url: `/api/datasources/${datasource._id}`, + body: datasource, + }) + }, + + /** + * Deletes a datasource. + * @param datasourceId the ID of the ddtasource to delete + * @param datasourceRev the rev of the datasource to delete + */ + deleteDatasource: async ({ datasourceId, datasourceRev }) => { + return await API.delete({ + url: `/api/datasources/${datasourceId}/${datasourceRev}`, + }) + }, +}) diff --git a/packages/frontend-core/src/api/flags.js b/packages/frontend-core/src/api/flags.js new file mode 100644 index 0000000000..bb545e83b9 --- /dev/null +++ b/packages/frontend-core/src/api/flags.js @@ -0,0 +1,25 @@ +export const buildFlagEndpoints = API => ({ + /** + * Gets the current user flags object. + */ + getFlags: async () => { + return await API.get({ + url: "/api/users/flags", + }) + }, + + /** + * Updates a flag for the current user. + * @param flag the flag to update + * @param value the value to set the flag to + */ + updateFlag: async ({ flag, value }) => { + return await API.post({ + url: "/api/users/flags", + body: { + flag, + value, + }, + }) + }, +}) diff --git a/packages/frontend-core/src/api/index.js b/packages/frontend-core/src/api/index.js index 91a400a389..9511a946b4 100644 --- a/packages/frontend-core/src/api/index.js +++ b/packages/frontend-core/src/api/index.js @@ -4,13 +4,18 @@ import { buildAppEndpoints } from "./app" import { buildAttachmentEndpoints } from "./attachments" import { buildAuthEndpoints } from "./auth" import { buildAutomationEndpoints } from "./automations" +import { buildDatasourceEndpoints } from "./datasources" +import { buildFlagEndpoints } from "./flags" import { buildHostingEndpoints } from "./hosting" +import { buildPermissionsEndpoints } from "./permissions" import { buildQueryEndpoints } from "./queries" import { buildRelationshipEndpoints } from "./relationships" +import { buildRoleEndpoints } from "./roles" import { buildRouteEndpoints } from "./routes" import { buildRowEndpoints } from "./rows" import { buildScreenEndpoints } from "./screens" import { buildTableEndpoints } from "./tables" +import { buildTemplateEndpoints } from "./templates" import { buildViewEndpoints } from "./views" const defaultAPIClientConfig = { @@ -184,13 +189,18 @@ export const createAPIClient = config => { ...buildAttachmentEndpoints(API), ...buildAuthEndpoints(API), ...buildAutomationEndpoints(API), + ...buildDatasourceEndpoints(API), + ...buildFlagEndpoints(API), ...buildHostingEndpoints(API), + ...buildPermissionsEndpoints(API), ...buildQueryEndpoints(API), ...buildRelationshipEndpoints(API), + ...buildRoleEndpoints(API), ...buildRouteEndpoints(API), ...buildRowEndpoints(API), ...buildScreenEndpoints(API), ...buildTableEndpoints(API), + ...buildTemplateEndpoints(API), ...buildViewEndpoints(API), } diff --git a/packages/frontend-core/src/api/permissions.js b/packages/frontend-core/src/api/permissions.js new file mode 100644 index 0000000000..5407cb3ce5 --- /dev/null +++ b/packages/frontend-core/src/api/permissions.js @@ -0,0 +1,24 @@ +export const buildPermissionsEndpoints = API => ({ + /** + * Gets the permission required to access a specific resource + * @param resourceId the resource ID to check + */ + getPermissionForResource: async resourceId => { + return await API.get({ + url: `/api/permission/${resourceId}`, + }) + }, + + /** + * Updates the permissions for a certain resource + * @param resourceId the ID of the resource to update + * @param roleId the ID of the role to update the permissions of + * @param level the level to assign the role for this resource + * @return {Promise<*>} + */ + updatePermissionForResource: async ({ resourceId, roleId, level }) => { + return await API.post({ + url: `/api/permission/${roleId}/${resourceId}/${level}`, + }) + }, +}) diff --git a/packages/frontend-core/src/api/queries.js b/packages/frontend-core/src/api/queries.js index 6c3ce900f9..f18ec7c4ec 100644 --- a/packages/frontend-core/src/api/queries.js +++ b/packages/frontend-core/src/api/queries.js @@ -1,6 +1,9 @@ export const buildQueryEndpoints = API => ({ /** * Executes a query against an external data connector. + * @param queryId the ID of the query to execute + * @param pagination pagination info for the query + * @param parameters parameters for the query */ executeQuery: async ({ queryId, pagination, parameters }) => { return await API.post({ @@ -14,6 +17,7 @@ export const buildQueryEndpoints = API => ({ /** * Fetches the definition of an external query. + * @param queryId the ID of thr query to fetch the definition of */ fetchQueryDefinition: async queryId => { return await API.get({ @@ -21,4 +25,61 @@ export const buildQueryEndpoints = API => ({ cache: true, }) }, + + /** + * Gets a list of queries + */ + getQueries: async () => { + return await API.get({ + url: "/api/queries", + }) + }, + + /** + * Saves a query. + * @param query the query to save + */ + saveQuery: async query => { + return await API.post({ + url: "/api/queries", + body: query, + }) + }, + + /** + * Deletes a query + * @param queryId the ID of the query to delete + * @param queryRev the rev of the query to delete + */ + deleteQuery: async ({ queryId, queryRev }) => { + return await API.delete({ + url: `/api/queries/${queryId}/${queryRev}`, + }) + }, + + /** + * Imports a set of queries into a certain datasource + * @param datasourceId the datasource ID to import queries into + * @param data the data string of the content to import + */ + importQueries: async ({ datasourceId, data }) => { + return await API.post({ + url: "/api/queries/import", + body: { + datasourceId, + data, + }, + }) + }, + + /** + * Runs a query with test parameters to see the result. + * @param query the query to run + */ + previewQuery: async query => { + return await API.post({ + url: "/api/queries/preview", + body: query, + }) + }, }) diff --git a/packages/frontend-core/src/api/roles.js b/packages/frontend-core/src/api/roles.js new file mode 100644 index 0000000000..15c27091c4 --- /dev/null +++ b/packages/frontend-core/src/api/roles.js @@ -0,0 +1,32 @@ +export const buildRoleEndpoints = API => ({ + /** + * Deletes a role. + * @param roleId the ID of the role to delete + * @param roleRev the rev of the role to delete + */ + deleteRole: async ({ roleId, roleRev }) => { + return await API.delete({ + url: `/api/roles/${roleId}/${roleRev}`, + }) + }, + + /** + * Saves a role. + * @param role the role to save + */ + saveRole: async role => { + return await API.post({ + url: "/api/roles", + body: role, + }) + }, + + /** + * Gets a list of roles. + */ + getRoles: async () => { + return await API.get({ + url: "/api/roles", + }) + }, +}) diff --git a/packages/frontend-core/src/api/tables.js b/packages/frontend-core/src/api/tables.js index 0785b2eed3..1f8b450a2a 100644 --- a/packages/frontend-core/src/api/tables.js +++ b/packages/frontend-core/src/api/tables.js @@ -79,4 +79,35 @@ export const buildTableEndpoints = API => ({ }, }) }, + + /** + * Gets a list o tables. + */ + getTables: async () => { + return await API.get({ + url: "/api/tables", + }) + }, + + /** + * Saves a table. + * @param table the table to save + */ + saveTable: async table => { + return await API.post({ + url: "/api/tables", + body: table, + }) + }, + + /** + * Deletes a table. + * @param tableId the ID of the table to delete + * @param tableRev the rev of the table to delete + */ + deleteTable: async ({ tableId, tableRev }) => { + return await API.delete({ + url: `/api/tables/${tableId}/${tableRev}`, + }) + }, }) diff --git a/packages/frontend-core/src/api/templates.js b/packages/frontend-core/src/api/templates.js new file mode 100644 index 0000000000..7cd1d78d7b --- /dev/null +++ b/packages/frontend-core/src/api/templates.js @@ -0,0 +1,28 @@ +export const buildTemplateEndpoints = API => ({ + /** + * Gets the list of email template definitions. + */ + getEmailTemplateDefinitions: async () => { + return await API.get({ url: "/api/global/template/definitions" }) + }, + + /** + * Gets the list of email templates. + */ + getEmailTemplates: async () => { + return await API.get({ url: "/api/global/template/email" }) + }, + + /** + * Saves an email template. + * @param template the template to save + */ + saveEmailTemplate: async template => { + return await API.post({ + url: "/api/global/template", + body: { + template, + }, + }) + }, +}) diff --git a/packages/frontend-core/src/api/views.js b/packages/frontend-core/src/api/views.js index 661268d957..237a66bc13 100644 --- a/packages/frontend-core/src/api/views.js +++ b/packages/frontend-core/src/api/views.js @@ -1,6 +1,10 @@ export const buildViewEndpoints = API => ({ /** - * Fetches all rows in a view. + * Fetches all rows in a view + * @param name the name of the view + * @param field the field to perform the calculation on + * @param groupBy the field to group by + * @param calculation the calculation to perform */ fetchViewData: async ({ name, field, groupBy, calculation }) => { const params = new URLSearchParams() @@ -9,7 +13,7 @@ export const buildViewEndpoints = API => ({ params.set("calculation", calculation) } if (groupBy) { - params.set("group", groupBy ? "true" : "false") + params.set("group", groupBy) } const QUERY_VIEW_URL = field ? `/api/views/${name}?${params}` @@ -31,4 +35,25 @@ export const buildViewEndpoints = API => ({ }, }) }, + + /** + * Saves a view. + * @param view the view to save + */ + saveView: async view => { + return await API.post({ + url: "/api/views", + body: view, + }) + }, + + /** + * Deletes a view. + * @param viewName the name of the view to delete + */ + deleteView: async viewName => { + return await API.delete({ + url: `/api/views/${viewName}`, + }) + }, }) From db3b4c0b8cd11d623957b3c6ef1a24e60ab64940 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Mon, 24 Jan 2022 14:32:27 +0000 Subject: [PATCH 029/176] Update remaining builder stores to use new core API and handle errors properly --- .../src/builderStore/store/frontend.js | 12 +- .../feedback/NPSFeedbackForm.svelte | 29 +-- .../components/start/ChooseIconModal.svelte | 25 ++- .../components/start/CreateAppModal.svelte | 9 +- .../components/start/UpdateAppModal.svelte | 3 +- .../builder/src/pages/builder/_layout.svelte | 31 ++-- .../src/pages/builder/admin/index.svelte | 12 +- .../src/pages/builder/apps/index.svelte | 19 +- .../auth/_components/OIDCButton.svelte | 8 +- .../src/pages/builder/auth/forgot.svelte | 6 +- .../src/pages/builder/auth/index.svelte | 9 +- .../src/pages/builder/auth/login.svelte | 10 +- .../builder/src/pages/builder/auth/org.svelte | 26 ++- .../src/pages/builder/auth/reset.svelte | 6 +- .../src/pages/builder/invite/index.svelte | 11 +- .../src/pages/builder/portal/_layout.svelte | 17 +- .../pages/builder/portal/apps/index.svelte | 29 +-- .../builder/portal/manage/auth/index.svelte | 11 +- .../portal/manage/email/[template].svelte | 6 +- .../portal/manage/email/_layout.svelte | 10 +- .../portal/manage/users/[userId].svelte | 32 ++-- .../users/_components/AddUserModal.svelte | 8 +- .../_components/BasicOnboardingModal.svelte | 20 +-- .../ForceResetPasswordModal.svelte | 18 +- .../users/_components/UpdateRolesModal.svelte | 48 +++-- .../builder/portal/manage/users/index.svelte | 12 +- .../portal/settings/organisation.svelte | 34 ++-- packages/builder/src/stores/portal/admin.js | 76 +++----- packages/builder/src/stores/portal/apps.js | 115 ++++++------ packages/builder/src/stores/portal/auth.js | 83 +++------ packages/builder/src/stores/portal/email.js | 46 ++--- packages/builder/src/stores/portal/oidc.js | 19 +- .../builder/src/stores/portal/organisation.js | 22 +-- .../builder/src/stores/portal/templates.js | 13 +- packages/builder/src/stores/portal/users.js | 46 ++--- packages/frontend-core/src/api/app.js | 17 +- packages/frontend-core/src/api/auth.js | 166 ++++-------------- packages/frontend-core/src/api/configs.js | 86 +++++++++ packages/frontend-core/src/api/index.js | 6 + packages/frontend-core/src/api/other.js | 19 ++ packages/frontend-core/src/api/templates.js | 9 + packages/frontend-core/src/api/user.js | 129 ++++++++++++++ 42 files changed, 740 insertions(+), 573 deletions(-) create mode 100644 packages/frontend-core/src/api/configs.js create mode 100644 packages/frontend-core/src/api/other.js create mode 100644 packages/frontend-core/src/api/user.js diff --git a/packages/builder/src/builderStore/store/frontend.js b/packages/builder/src/builderStore/store/frontend.js index 9b3a95d7f7..5524cb5991 100644 --- a/packages/builder/src/builderStore/store/frontend.js +++ b/packages/builder/src/builderStore/store/frontend.js @@ -109,9 +109,11 @@ export const getFrontendStore = () => { theme: { save: async theme => { const appId = get(store).appId - const metadata = { appId, theme } try { - await API.saveAppMetadata(metadata) + await API.saveAppMetadata({ + appId, + metadata: { theme }, + }) store.update(state => { state.theme = theme return state @@ -124,9 +126,11 @@ export const getFrontendStore = () => { customTheme: { save: async customTheme => { const appId = get(store).appId - const metadata = { appId, customTheme } try { - await API.saveAppMetadata(metadata) + await API.saveAppMetadata({ + appId, + metadata: { customTheme }, + }) store.update(state => { state.customTheme = customTheme return state diff --git a/packages/builder/src/components/feedback/NPSFeedbackForm.svelte b/packages/builder/src/components/feedback/NPSFeedbackForm.svelte index 4c5bb46c63..6a6e52ec74 100644 --- a/packages/builder/src/components/feedback/NPSFeedbackForm.svelte +++ b/packages/builder/src/components/feedback/NPSFeedbackForm.svelte @@ -13,6 +13,7 @@ Detail, Divider, Layout, + notifications, } from "@budibase/bbui" import { auth } from "stores/portal" @@ -45,20 +46,28 @@ improvements, comment, }) - auth.updateSelf({ - flags: { - feedbackSubmitted: true, - }, - }) + try { + auth.updateSelf({ + flags: { + feedbackSubmitted: true, + }, + }) + } catch (error) { + notifications.error("Error updating user") + } dispatch("complete") } function cancelFeedback() { - auth.updateSelf({ - flags: { - feedbackSubmitted: true, - }, - }) + try { + auth.updateSelf({ + flags: { + feedbackSubmitted: true, + }, + }) + } catch (error) { + notifications.error("Error updating user") + } dispatch("complete") } diff --git a/packages/builder/src/components/start/ChooseIconModal.svelte b/packages/builder/src/components/start/ChooseIconModal.svelte index 4efb679a51..b2f68c6ce7 100644 --- a/packages/builder/src/components/start/ChooseIconModal.svelte +++ b/packages/builder/src/components/start/ChooseIconModal.svelte @@ -1,5 +1,12 @@ diff --git a/packages/builder/src/components/start/CreateAppModal.svelte b/packages/builder/src/components/start/CreateAppModal.svelte index ebb24e9e2f..97e0fd5715 100644 --- a/packages/builder/src/components/start/CreateAppModal.svelte +++ b/packages/builder/src/components/start/CreateAppModal.svelte @@ -118,15 +118,18 @@ await auth.setInitInfo({}) $goto(`/builder/app/${createdApp.instance._id}`) } catch (error) { - console.error(error) - notifications.error(error) + notifications.error("Error creating app") submitting = false } } async function onCancel() { template = null - await auth.setInitInfo({}) + try { + await auth.setInitInfo({}) + } catch (error) { + notifications.error("Error setting init info") + } } diff --git a/packages/builder/src/components/start/UpdateAppModal.svelte b/packages/builder/src/components/start/UpdateAppModal.svelte index 432b13c7c3..508a0723b1 100644 --- a/packages/builder/src/components/start/UpdateAppModal.svelte +++ b/packages/builder/src/components/start/UpdateAppModal.svelte @@ -80,8 +80,7 @@ await apps.update(app.instance._id, { name: $values.name.trim() }) hide() } catch (error) { - console.error(error) - notifications.error(error) + notifications.error("Error updating app") } } diff --git a/packages/builder/src/pages/builder/_layout.svelte b/packages/builder/src/pages/builder/_layout.svelte index 31f1d18d56..10779b2491 100644 --- a/packages/builder/src/pages/builder/_layout.svelte +++ b/packages/builder/src/pages/builder/_layout.svelte @@ -3,6 +3,7 @@ import { admin, auth } from "stores/portal" import { onMount } from "svelte" import { CookieUtils, Constants } from "@budibase/frontend-core" + import { notifications } from "@budibase/bbui" let loaded = false @@ -41,9 +42,12 @@ if (user.tenantId !== urlTenantId) { // user should not be here - play it safe and log them out - await auth.logout() - await auth.setOrganisation(null) - return + try { + await auth.logout() + await auth.setOrganisation(null) + } catch (error) { + // Swallow error and do nothing + } } } else { // no user - set the org according to the url @@ -52,17 +56,18 @@ } onMount(async () => { - if ($params["?template"]) { - await auth.setInitInfo({ init_template: $params["?template"] }) + try { + if ($params["?template"]) { + await auth.setInitInfo({ init_template: $params["?template"] }) + } + await auth.checkAuth() + await admin.init() + if (useAccountPortal && multiTenancyEnabled) { + await validateTenantId() + } + } catch (error) { + notifications.error("Error initialising builder") } - - await auth.checkAuth() - await admin.init() - - if (useAccountPortal && multiTenancyEnabled) { - await validateTenantId() - } - loaded = true }) diff --git a/packages/builder/src/pages/builder/admin/index.svelte b/packages/builder/src/pages/builder/admin/index.svelte index d42197a130..99731b8285 100644 --- a/packages/builder/src/pages/builder/admin/index.svelte +++ b/packages/builder/src/pages/builder/admin/index.svelte @@ -31,17 +31,21 @@ adminUser.tenantId = tenantId // Save the admin user await API.createAdminUser(adminUser) - notifications.success(`Admin user created`) + notifications.success("Admin user created") await admin.init() $goto("../portal") - } catch (err) { - notifications.error(`Failed to create admin user: ${err}`) + } catch (error) { + notifications.error("Failed to create admin user") } } onMount(async () => { if (!cloud) { - await admin.checkImportComplete() + try { + await admin.checkImportComplete() + } catch (error) { + notifications.error("Error checking import status") + } } }) diff --git a/packages/builder/src/pages/builder/apps/index.svelte b/packages/builder/src/pages/builder/apps/index.svelte index aafc28cd92..b4655d8f04 100644 --- a/packages/builder/src/pages/builder/apps/index.svelte +++ b/packages/builder/src/pages/builder/apps/index.svelte @@ -10,6 +10,7 @@ Icon, Body, Modal, + notifications, } from "@budibase/bbui" import { onMount } from "svelte" import { apps, organisation, auth, admin } from "stores/portal" @@ -26,8 +27,12 @@ let changePasswordModal onMount(async () => { - await organisation.init() - await apps.load() + try { + await organisation.init() + await apps.load() + } catch (error) { + notifications.error("Error loading apps") + } loaded = true }) @@ -44,6 +49,14 @@ function getUrl(app) { return !isCloud ? `/app/${encodeURIComponent(app.name)}` : `/${app.prodId}` } + + const logout = async () => { + try { + await auth.logout() + } catch (error) { + // Swallow error and do nothing + } + } {#if $auth.user && loaded} @@ -79,7 +92,7 @@ Open developer mode {/if} - Log out + Log out diff --git a/packages/builder/src/pages/builder/auth/_components/OIDCButton.svelte b/packages/builder/src/pages/builder/auth/_components/OIDCButton.svelte index bae68b6548..27f5bde186 100644 --- a/packages/builder/src/pages/builder/auth/_components/OIDCButton.svelte +++ b/packages/builder/src/pages/builder/auth/_components/OIDCButton.svelte @@ -1,5 +1,5 @@ diff --git a/packages/builder/src/pages/builder/auth/index.svelte b/packages/builder/src/pages/builder/auth/index.svelte index a2a02e65c1..72b3a8c7cf 100644 --- a/packages/builder/src/pages/builder/auth/index.svelte +++ b/packages/builder/src/pages/builder/auth/index.svelte @@ -2,6 +2,7 @@ import { redirect } from "@roxi/routify" import { auth, admin } from "stores/portal" import { onMount } from "svelte" + import { notifications } from "@budibase/bbui" $: tenantSet = $auth.tenantSet $: multiTenancyEnabled = $admin.multiTenancy @@ -17,8 +18,12 @@ } onMount(async () => { - await admin.init() - await auth.checkQueryString() + try { + await admin.init() + await auth.checkQueryString() + } catch (error) { + notifications.error("Error getting checklist") + } loaded = true }) diff --git a/packages/builder/src/pages/builder/auth/login.svelte b/packages/builder/src/pages/builder/auth/login.svelte index 7a13164c51..d9151b4342 100644 --- a/packages/builder/src/pages/builder/auth/login.svelte +++ b/packages/builder/src/pages/builder/auth/login.svelte @@ -31,7 +31,6 @@ username, password, }) - if ($auth?.user?.forceResetPassword) { $goto("./reset") } else { @@ -39,8 +38,7 @@ $goto("../portal") } } catch (err) { - console.error(err) - notifications.error(err.message ? err.message : "Invalid Credentials") + notifications.error(err.message ? err.message : "Invalid credentials") } } @@ -49,7 +47,11 @@ } onMount(async () => { - await organisation.init() + try { + await organisation.init() + } catch (error) { + notifications.error("Error getting org config") + } loaded = true }) diff --git a/packages/builder/src/pages/builder/auth/org.svelte b/packages/builder/src/pages/builder/auth/org.svelte index 5a484b6c93..8fd94463d9 100644 --- a/packages/builder/src/pages/builder/auth/org.svelte +++ b/packages/builder/src/pages/builder/auth/org.svelte @@ -1,5 +1,13 @@ diff --git a/packages/builder/src/pages/builder/invite/index.svelte b/packages/builder/src/pages/builder/invite/index.svelte index ddf888ad73..c4745d8737 100644 --- a/packages/builder/src/pages/builder/invite/index.svelte +++ b/packages/builder/src/pages/builder/invite/index.svelte @@ -10,14 +10,11 @@ async function acceptInvite() { try { - const res = await users.acceptInvite(inviteCode, password) - if (!res) { - throw new Error(res.message) - } - notifications.success(`User created.`) + await users.acceptInvite(inviteCode, password) + notifications.success("Invitation accepted successfully") $goto("../auth/login") - } catch (err) { - notifications.error(err) + } catch (error) { + notifications.error("Error accepting invitation") } } diff --git a/packages/builder/src/pages/builder/portal/_layout.svelte b/packages/builder/src/pages/builder/portal/_layout.svelte index 8fca18d29d..f4679647ff 100644 --- a/packages/builder/src/pages/builder/portal/_layout.svelte +++ b/packages/builder/src/pages/builder/portal/_layout.svelte @@ -10,6 +10,7 @@ MenuItem, Modal, clickOutside, + notifications, } from "@budibase/bbui" import ConfigChecklist from "components/common/ConfigChecklist.svelte" import { organisation, auth } from "stores/portal" @@ -78,6 +79,14 @@ return menu } + const logout = async () => { + try { + await auth.logout() + } catch (error) { + // Swallow error and do nothing + } + } + const showMobileMenu = () => (mobileMenuVisible = true) const hideMobileMenu = () => (mobileMenuVisible = false) @@ -87,7 +96,11 @@ if (!$auth.user?.builder?.global) { $redirect("../") } else { - await organisation.init() + try { + await organisation.init() + } catch (error) { + notifications.error("Error getting org config") + } loaded = true } } @@ -158,7 +171,7 @@ $goto("../apps")}> Close developer mode - Log out + Log out diff --git a/packages/builder/src/pages/builder/portal/apps/index.svelte b/packages/builder/src/pages/builder/portal/apps/index.svelte index ec111e046e..e71dc325fb 100644 --- a/packages/builder/src/pages/builder/portal/apps/index.svelte +++ b/packages/builder/src/pages/builder/portal/apps/index.svelte @@ -139,7 +139,6 @@ $goto(`/builder/app/${createdApp.instance._id}`) } catch (error) { notifications.error("Error creating app") - console.error(error) } } @@ -248,17 +247,23 @@ } onMount(async () => { - await apps.load() - await templates.load() - if ($templates?.length === 0) { - notifications.error("There was a problem loading quick start templates.") - } - // if the portal is loaded from an external URL with a template param - const initInfo = await auth.getInitInfo() - if (initInfo?.init_template) { - creatingFromTemplate = true - createAppFromTemplateUrl(initInfo.init_template) - return + try { + await apps.load() + await templates.load() + if ($templates?.length === 0) { + notifications.error( + "There was a problem loading quick start templates." + ) + } + // If the portal is loaded from an external URL with a template param + const initInfo = await auth.getInitInfo() + if (initInfo?.init_template) { + creatingFromTemplate = true + createAppFromTemplateUrl(initInfo.init_template) + return + } + } catch (error) { + notifications.error("Error loading apps and templates") } loaded = true }) diff --git a/packages/builder/src/pages/builder/portal/manage/auth/index.svelte b/packages/builder/src/pages/builder/portal/manage/auth/index.svelte index bdbf884c99..b001f02fe9 100644 --- a/packages/builder/src/pages/builder/portal/manage/auth/index.svelte +++ b/packages/builder/src/pages/builder/portal/manage/auth/index.svelte @@ -207,15 +207,18 @@ notifications.success(`Settings saved`) analytics.captureEvent(Events.SSO.SAVED) }) - .catch(error => { - notifications.error(`Failed to update auth settings`) - console.error(error.message) + .catch(() => { + notifications.error("Failed to update auth settings") }) } } onMount(async () => { - await organisation.init() + try { + await organisation.init() + } catch (error) { + notifications.error("Error getting org config") + } // Fetch Google config let googleDoc diff --git a/packages/builder/src/pages/builder/portal/manage/email/[template].svelte b/packages/builder/src/pages/builder/portal/manage/email/[template].svelte index cc00f3d798..33ecca2a10 100644 --- a/packages/builder/src/pages/builder/portal/manage/email/[template].svelte +++ b/packages/builder/src/pages/builder/portal/manage/email/[template].svelte @@ -36,9 +36,9 @@ try { // Save your template config await email.templates.save(selectedTemplate) - notifications.success(`Template saved.`) - } catch (err) { - notifications.error(`Failed to update template settings. ${err}`) + notifications.success("Template saved") + } catch (error) { + notifications.error("Failed to update template settings") } } diff --git a/packages/builder/src/pages/builder/portal/manage/email/_layout.svelte b/packages/builder/src/pages/builder/portal/manage/email/_layout.svelte index 410a7d4ff2..e371c2daae 100644 --- a/packages/builder/src/pages/builder/portal/manage/email/_layout.svelte +++ b/packages/builder/src/pages/builder/portal/manage/email/_layout.svelte @@ -1,7 +1,15 @@ diff --git a/packages/builder/src/pages/builder/portal/manage/users/[userId].svelte b/packages/builder/src/pages/builder/portal/manage/users/[userId].svelte index 549d0e4334..a8cb340465 100644 --- a/packages/builder/src/pages/builder/portal/manage/users/[userId].svelte +++ b/packages/builder/src/pages/builder/portal/manage/users/[userId].svelte @@ -64,31 +64,43 @@ const apps = fetchData(`/api/global/roles`) async function deleteUser() { - const res = await users.delete(userId) - if (res.status === 200) { + try { + await users.delete(userId) notifications.success(`User ${$userFetch?.data?.email} deleted.`) $goto("./") - } else { - notifications.error(res?.message ? res.message : "Failed to delete user.") + } catch (error) { + notifications.error("Error deleting user") } } let toggleDisabled = false async function updateUserFirstName(evt) { - await users.save({ ...$userFetch?.data, firstName: evt.target.value }) - await userFetch.refresh() + try { + await users.save({ ...$userFetch?.data, firstName: evt.target.value }) + await userFetch.refresh() + } catch (error) { + notifications.error("Error updating user") + } } async function updateUserLastName(evt) { - await users.save({ ...$userFetch?.data, lastName: evt.target.value }) - await userFetch.refresh() + try { + await users.save({ ...$userFetch?.data, lastName: evt.target.value }) + await userFetch.refresh() + } catch (error) { + notifications.error("Error updating user") + } } async function toggleFlag(flagName, detail) { toggleDisabled = true - await users.save({ ...$userFetch?.data, [flagName]: { global: detail } }) - await userFetch.refresh() + try { + await users.save({ ...$userFetch?.data, [flagName]: { global: detail } }) + await userFetch.refresh() + } catch (error) { + notifications.error("Error updating user") + } toggleDisabled = false } diff --git a/packages/builder/src/pages/builder/portal/manage/users/_components/AddUserModal.svelte b/packages/builder/src/pages/builder/portal/manage/users/_components/AddUserModal.svelte index 25a69af1c8..0255784a7b 100644 --- a/packages/builder/src/pages/builder/portal/manage/users/_components/AddUserModal.svelte +++ b/packages/builder/src/pages/builder/portal/manage/users/_components/AddUserModal.svelte @@ -21,12 +21,12 @@ const [email, error, touched] = createValidationStore("", emailValidator) async function createUserFlow() { - const res = await users.invite({ email: $email, builder, admin }) - if (res.status) { - notifications.error(res.message) - } else { + try { + const res = await users.invite({ email: $email, builder, admin }) notifications.success(res.message) analytics.captureEvent(Events.USER.INVITE, { type: selected }) + } catch (error) { + notifications.error("Error inviting user") } } diff --git a/packages/builder/src/pages/builder/portal/manage/users/_components/BasicOnboardingModal.svelte b/packages/builder/src/pages/builder/portal/manage/users/_components/BasicOnboardingModal.svelte index ff958d542b..29e2d56ed0 100644 --- a/packages/builder/src/pages/builder/portal/manage/users/_components/BasicOnboardingModal.svelte +++ b/packages/builder/src/pages/builder/portal/manage/users/_components/BasicOnboardingModal.svelte @@ -16,17 +16,17 @@ admin = false async function createUser() { - const res = await users.create({ - email: $email, - password, - builder, - admin, - forceResetPassword: true, - }) - if (res.status) { - notifications.error(res.message) - } else { + try { + await users.create({ + email: $email, + password, + builder, + admin, + forceResetPassword: true, + }) notifications.success("Successfully created user") + } catch (error) { + notifications.error("Error creating user") } } diff --git a/packages/builder/src/pages/builder/portal/manage/users/_components/ForceResetPasswordModal.svelte b/packages/builder/src/pages/builder/portal/manage/users/_components/ForceResetPasswordModal.svelte index 6468498df8..a380f0aa65 100644 --- a/packages/builder/src/pages/builder/portal/manage/users/_components/ForceResetPasswordModal.svelte +++ b/packages/builder/src/pages/builder/portal/manage/users/_components/ForceResetPasswordModal.svelte @@ -10,16 +10,16 @@ const password = Math.random().toString(36).substr(2, 20) async function resetPassword() { - const res = await users.save({ - ...user, - password, - forceResetPassword: true, - }) - if (res.status) { - notifications.error(res.message) - } else { - notifications.success("Password reset.") + try { + await users.save({ + ...user, + password, + forceResetPassword: true, + }) + notifications.success("Password reset successfully") dispatch("update") + } catch (error) { + notifications.error("Error resetting password") } } diff --git a/packages/builder/src/pages/builder/portal/manage/users/_components/UpdateRolesModal.svelte b/packages/builder/src/pages/builder/portal/manage/users/_components/UpdateRolesModal.svelte index afa4c84f0e..5a60bfdff8 100644 --- a/packages/builder/src/pages/builder/portal/manage/users/_components/UpdateRolesModal.svelte +++ b/packages/builder/src/pages/builder/portal/manage/users/_components/UpdateRolesModal.svelte @@ -18,33 +18,31 @@ let selectedRole = user?.roles?.[app?._id] async function updateUserRoles() { - let res - if (selectedRole === NO_ACCESS) { - // remove the user role - const filteredRoles = { ...user.roles } - delete filteredRoles[app?._id] - res = await users.save({ - ...user, - roles: { - ...filteredRoles, - }, - }) - } else { - // add the user role - res = await users.save({ - ...user, - roles: { - ...user.roles, - [app._id]: selectedRole, - }, - }) - } - - if (res.status === 400) { - notifications.error("Failed to update role") - } else { + try { + if (selectedRole === NO_ACCESS) { + // Remove the user role + const filteredRoles = { ...user.roles } + delete filteredRoles[app?._id] + await users.save({ + ...user, + roles: { + ...filteredRoles, + }, + }) + } else { + // Add the user role + await users.save({ + ...user, + roles: { + ...user.roles, + [app._id]: selectedRole, + }, + }) + } notifications.success("Role updated") dispatch("update") + } catch (error) { + notifications.error("Failed to update role") } } diff --git a/packages/builder/src/pages/builder/portal/manage/users/index.svelte b/packages/builder/src/pages/builder/portal/manage/users/index.svelte index 124115a486..61192063cc 100644 --- a/packages/builder/src/pages/builder/portal/manage/users/index.svelte +++ b/packages/builder/src/pages/builder/portal/manage/users/index.svelte @@ -11,13 +11,13 @@ Label, Layout, Modal, + notifications, } from "@budibase/bbui" import TagsRenderer from "./_components/TagsTableRenderer.svelte" import AddUserModal from "./_components/AddUserModal.svelte" import BasicOnboardingModal from "./_components/BasicOnboardingModal.svelte" import { users } from "stores/portal" - - users.init() + import { onMount } from "svelte" const schema = { email: {}, @@ -47,6 +47,14 @@ createUserModal.hide() basicOnboardingModal.show() } + + onMount(async () => { + try { + await users.init() + } catch (error) { + notifications.error("Error getting user list") + } + }) diff --git a/packages/builder/src/pages/builder/portal/settings/organisation.svelte b/packages/builder/src/pages/builder/portal/settings/organisation.svelte index c9086b2b45..7094a0af01 100644 --- a/packages/builder/src/pages/builder/portal/settings/organisation.svelte +++ b/packages/builder/src/pages/builder/portal/settings/organisation.svelte @@ -44,24 +44,28 @@ async function saveConfig() { loading = true - // Upload logo if required - if ($values.logo && !$values.logo.url) { - await uploadLogo($values.logo) - await organisation.init() - } + try { + // Upload logo if required + if ($values.logo && !$values.logo.url) { + await uploadLogo($values.logo) + await organisation.init() + } - const config = { - company: $values.company ?? "", - platformUrl: $values.platformUrl ?? "", - } + const config = { + company: $values.company ?? "", + platformUrl: $values.platformUrl ?? "", + } - // Remove logo if required - if (!$values.logo) { - config.logoUrl = "" - } + // Remove logo if required + if (!$values.logo) { + config.logoUrl = "" + } - // Update settings - await organisation.save(config) + // Update settings + await organisation.save(config) + } catch (error) { + notifications.error("Error saving org config") + } loading = false } diff --git a/packages/builder/src/stores/portal/admin.js b/packages/builder/src/stores/portal/admin.js index d97105fd46..dc68c43cc5 100644 --- a/packages/builder/src/stores/portal/admin.js +++ b/packages/builder/src/stores/portal/admin.js @@ -23,65 +23,37 @@ export function createAdminStore() { const admin = writable(DEFAULT_CONFIG) async function init() { - try { - const tenantId = get(auth).tenantId - const checklist = await API.getChecklist(tenantId) - const totalSteps = Object.keys(checklist).length - const completedSteps = Object.values(checklist).filter( - x => x?.checked - ).length - await getEnvironment() - admin.update(store => { - store.loaded = true - store.checklist = checklist - store.onboardingProgress = (completedSteps / totalSteps) * 100 - return store - }) - } catch (error) { - admin.update(store => { - store.checklist = null - return store - }) - } + const tenantId = get(auth).tenantId + const checklist = await API.getChecklist(tenantId) + const totalSteps = Object.keys(checklist).length + const completedSteps = Object.values(checklist).filter( + x => x?.checked + ).length + await getEnvironment() + admin.update(store => { + store.loaded = true + store.checklist = checklist + store.onboardingProgress = (completedSteps / totalSteps) * 100 + return store + }) } async function checkImportComplete() { - try { - const result = await API.checkImportComplete() - admin.update(store => { - store.importComplete = result ? result.imported : false - return store - }) - } catch (error) { - admin.update(store => { - store.importComplete = false - return store - }) - } + const result = await API.checkImportComplete() + admin.update(store => { + store.importComplete = result ? result.imported : false + return store + }) } async function getEnvironment() { - let multiTenancyEnabled = false - let cloud = false - let disableAccountPortal = false - let accountPortalUrl = "" - let isDev = false - try { - const environment = await API.getEnvironment() - multiTenancyEnabled = environment.multiTenancy - cloud = environment.cloud - disableAccountPortal = environment.disableAccountPortal - accountPortalUrl = environment.accountPortalUrl - isDev = environment.isDev - } catch (err) { - // Just let it stay disabled - } + const environment = await API.getEnvironment() admin.update(store => { - store.multiTenancy = multiTenancyEnabled - store.cloud = cloud - store.disableAccountPortal = disableAccountPortal - store.accountPortalUrl = accountPortalUrl - store.isDev = isDev + store.multiTenancy = environment.multiTenancy + store.cloud = environment.cloud + store.disableAccountPortal = environment.disableAccountPortal + store.accountPortalUrl = environment.accountPortalUrl + store.isDev = environment.isDev return store }) } diff --git a/packages/builder/src/stores/portal/apps.js b/packages/builder/src/stores/portal/apps.js index de944c057d..b8fb8c5670 100644 --- a/packages/builder/src/stores/portal/apps.js +++ b/packages/builder/src/stores/portal/apps.js @@ -1,7 +1,6 @@ import { writable } from "svelte/store" -import { get } from "builderStore/api" import { AppStatus } from "../../constants" -import api from "../../builderStore/api" +import { API } from "api" const extractAppId = id => { const split = id?.split("_") || [] @@ -12,77 +11,67 @@ export function createAppStore() { const store = writable([]) async function load() { - try { - const res = await get(`/api/applications?status=all`) - const json = await res.json() - if (res.ok && Array.isArray(json)) { - // Merge apps into one sensible list - let appMap = {} - let devApps = json.filter(app => app.status === AppStatus.DEV) - let deployedApps = json.filter(app => app.status === AppStatus.DEPLOYED) + const json = await API.getApps() + if (Array.isArray(json)) { + // Merge apps into one sensible list + let appMap = {} + let devApps = json.filter(app => app.status === AppStatus.DEV) + let deployedApps = json.filter(app => app.status === AppStatus.DEPLOYED) - // First append all dev app version - devApps.forEach(app => { - const id = extractAppId(app.appId) - appMap[id] = { - ...app, - devId: app.appId, - devRev: app._rev, - } - }) + // First append all dev app version + devApps.forEach(app => { + const id = extractAppId(app.appId) + appMap[id] = { + ...app, + devId: app.appId, + devRev: app._rev, + } + }) - // Then merge with all prod app versions - deployedApps.forEach(app => { - const id = extractAppId(app.appId) + // Then merge with all prod app versions + deployedApps.forEach(app => { + const id = extractAppId(app.appId) - // Skip any deployed apps which don't have a dev counterpart - if (!appMap[id]) { - return - } + // Skip any deployed apps which don't have a dev counterpart + if (!appMap[id]) { + return + } - appMap[id] = { - ...appMap[id], - ...app, - prodId: app.appId, - prodRev: app._rev, - } - }) + appMap[id] = { + ...appMap[id], + ...app, + prodId: app.appId, + prodRev: app._rev, + } + }) - // Transform into an array and clean up - const apps = Object.values(appMap) - apps.forEach(app => { - app.appId = extractAppId(app.devId) - delete app._id - delete app._rev - }) - store.set(apps) - } else { - store.set([]) - } - return json - } catch (error) { + // Transform into an array and clean up + const apps = Object.values(appMap) + apps.forEach(app => { + app.appId = extractAppId(app.devId) + delete app._id + delete app._rev + }) + store.set(apps) + } else { store.set([]) } } async function update(appId, value) { - console.log({ value }) - const response = await api.put(`/api/applications/${appId}`, { ...value }) - if (response.status === 200) { - store.update(state => { - const updatedAppIndex = state.findIndex( - app => app.instance._id === appId - ) - if (updatedAppIndex !== -1) { - let updatedApp = state[updatedAppIndex] - updatedApp = { ...updatedApp, ...value } - state.apps = state.splice(updatedAppIndex, 1, updatedApp) - } - return state - }) - } else { - throw new Error("Error updating name") - } + await API.saveAppMetadata({ + appId, + metadata: value, + }) + store.update(state => { + const updatedAppIndex = state.findIndex(app => app.instance._id === appId) + if (updatedAppIndex !== -1) { + let updatedApp = state[updatedAppIndex] + updatedApp = { ...updatedApp, ...value } + state.apps = state.splice(updatedAppIndex, 1, updatedApp) + } + return state + }) } return { diff --git a/packages/builder/src/stores/portal/auth.js b/packages/builder/src/stores/portal/auth.js index bdd4d95915..3895b57e82 100644 --- a/packages/builder/src/stores/portal/auth.js +++ b/packages/builder/src/stores/portal/auth.js @@ -1,5 +1,5 @@ import { derived, writable, get } from "svelte/store" -import api from "../../builderStore/api" +import { API } from "api" import { admin } from "stores/portal" import analytics from "analytics" @@ -83,7 +83,7 @@ export function createAuthStore() { } async function setInitInfo(info) { - await api.post(`/api/global/auth/init`, info) + await API.setInitInfo(info) auth.update(store => { store.initInfo = info return store @@ -99,13 +99,12 @@ export function createAuthStore() { } async function getInitInfo() { - const response = await api.get(`/api/global/auth/init`) - const json = response.json() + const info = await API.getInitInfo() auth.update(store => { - store.initInfo = json + store.initInfo = info return store }) - return json + return info } return { @@ -124,77 +123,43 @@ export function createAuthStore() { await setOrganisation(tenantId) }, checkAuth: async () => { - const response = await api.get("/api/global/users/self") - if (response.status !== 200) { - setUser(null) - } else { - const json = await response.json() - setUser(json) - } + const user = await API.fetchBuilderSelf() + setUser(user) }, login: async creds => { const tenantId = get(store).tenantId - const response = await api.post( - `/api/global/auth/${tenantId}/login`, - creds - ) - const json = await response.json() - if (response.status === 200) { - setUser(json.user) - } else { - throw new Error(json.message ? json.message : "Invalid credentials") - } - return json + const response = await API.logIn({ + username: creds.username, + password: creds.password, + tenantId, + }) + setUser(response.user) }, logout: async () => { - const response = await api.post(`/api/global/auth/logout`) - if (response.status !== 200) { - throw "Unable to create logout" - } - await response.json() + await API.logOut() await setInitInfo({}) setUser(null) setPostLogout() }, updateSelf: async fields => { const newUser = { ...get(auth).user, ...fields } - const response = await api.post("/api/global/users/self", newUser) - if (response.status === 200) { - setUser(newUser) - } else { - throw "Unable to update user details" - } + await API.updateSelf(newUser) + setUser(newUser) }, forgotPassword: async email => { const tenantId = get(store).tenantId - const response = await api.post(`/api/global/auth/${tenantId}/reset`, { + await API.requestForgotPassword({ + tenantId, email, }) - if (response.status !== 200) { - throw "Unable to send email with reset link" - } - await response.json() }, - resetPassword: async (password, code) => { + resetPassword: async (password, resetCode) => { const tenantId = get(store).tenantId - const response = await api.post( - `/api/global/auth/${tenantId}/reset/update`, - { - password, - resetCode: code, - } - ) - if (response.status !== 200) { - throw "Unable to reset password" - } - await response.json() - }, - createUser: async user => { - const response = await api.post(`/api/global/users`, user) - if (response.status !== 200) { - throw "Unable to create user" - } - await response.json() + await API.resetPassword({ + tenantId, + password, + resetCode, + }) }, } } diff --git a/packages/builder/src/stores/portal/email.js b/packages/builder/src/stores/portal/email.js index 5bef63701f..2e222d34c4 100644 --- a/packages/builder/src/stores/portal/email.js +++ b/packages/builder/src/stores/portal/email.js @@ -1,6 +1,5 @@ import { writable } from "svelte/store" import { API } from "api" -import { notifications } from "@budibase/bbui" export function createEmailStore() { const store = writable({}) @@ -9,35 +8,26 @@ export function createEmailStore() { subscribe: store.subscribe, templates: { fetch: async () => { - try { - // fetch the email template definitions and templates - const definitions = await API.getEmailTemplateDefinitions() - const templates = await API.getEmailTemplates() - store.set({ - definitions, - templates, - }) - } catch (error) { - notifications.error("Error fetching email templates") - store.set({}) - } + // Fetch the email template definitions and templates + const definitions = await API.getEmailTemplateDefinitions() + const templates = await API.getEmailTemplates() + store.set({ + definitions, + templates, + }) }, save: async template => { - try { - // Save your template config - const savedTemplate = await API.saveEmailTemplate(template) - template._rev = savedTemplate._rev - template._id = savedTemplate._id - store.update(state => { - const currentIdx = state.templates.findIndex( - template => template.purpose === savedTemplate.purpose - ) - state.templates.splice(currentIdx, 1, template) - return state - }) - } catch (error) { - notifications.error("Error saving email template") - } + // Save your template config + const savedTemplate = await API.saveEmailTemplate(template) + template._rev = savedTemplate._rev + template._id = savedTemplate._id + store.update(state => { + const currentIdx = state.templates.findIndex( + template => template.purpose === savedTemplate.purpose + ) + state.templates.splice(currentIdx, 1, template) + return state + }) }, }, } diff --git a/packages/builder/src/stores/portal/oidc.js b/packages/builder/src/stores/portal/oidc.js index 751988bff6..3a4b954753 100644 --- a/packages/builder/src/stores/portal/oidc.js +++ b/packages/builder/src/stores/portal/oidc.js @@ -11,10 +11,11 @@ const OIDC_CONFIG = { export function createOidcStore() { const store = writable(OIDC_CONFIG) const { set, subscribe } = store - - async function init() { - const tenantId = get(auth).tenantId - try { + return { + subscribe, + set, + init: async () => { + const tenantId = get(auth).tenantId const config = await API.getOIDCConfig(tenantId) if (Object.keys(config || {}).length) { // Just use the first config for now. @@ -23,15 +24,7 @@ export function createOidcStore() { } else { set(OIDC_CONFIG) } - } catch (error) { - set(OIDC_CONFIG) - } - } - - return { - subscribe, - set, - init, + }, } } diff --git a/packages/builder/src/stores/portal/organisation.js b/packages/builder/src/stores/portal/organisation.js index 21a110c54a..9709578fa2 100644 --- a/packages/builder/src/stores/portal/organisation.js +++ b/packages/builder/src/stores/portal/organisation.js @@ -1,5 +1,5 @@ import { writable, get } from "svelte/store" -import api from "builderStore/api" +import { API } from "api" import { auth } from "stores/portal" const DEFAULT_CONFIG = { @@ -19,35 +19,23 @@ export function createOrganisationStore() { async function init() { const tenantId = get(auth).tenantId - const res = await api.get(`/api/global/configs/public?tenantId=${tenantId}`) - const json = await res.json() - - if (json.status === 400) { - set(DEFAULT_CONFIG) - } else { - set({ ...DEFAULT_CONFIG, ...json.config, _rev: json._rev }) - } + const tenant = await API.getTenantConfig(tenantId) + set({ ...DEFAULT_CONFIG, ...tenant.config, _rev: tenant._rev }) } async function save(config) { - // delete non-persisted fields + // Delete non-persisted fields const storeConfig = get(store) delete storeConfig.oidc delete storeConfig.google delete storeConfig.oidcCallbackUrl delete storeConfig.googleCallbackUrl - - const res = await api.post("/api/global/configs", { + await API.saveConfig({ type: "settings", config: { ...get(store), ...config }, _rev: get(store)._rev, }) - const json = await res.json() - if (json.status) { - return json - } await init() - return { status: 200 } } return { diff --git a/packages/builder/src/stores/portal/templates.js b/packages/builder/src/stores/portal/templates.js index b82ecd70e2..904e9cfa8e 100644 --- a/packages/builder/src/stores/portal/templates.js +++ b/packages/builder/src/stores/portal/templates.js @@ -1,18 +1,15 @@ import { writable } from "svelte/store" -import api from "builderStore/api" +import { API } from "api" export function templatesStore() { const { subscribe, set } = writable([]) - async function load() { - const response = await api.get("/api/templates?type=app") - const json = await response.json() - set(json) - } - return { subscribe, - load, + load: async () => { + const templates = await API.getAppTemplates() + set(templates) + }, } } diff --git a/packages/builder/src/stores/portal/users.js b/packages/builder/src/stores/portal/users.js index 9a3df120e0..cebf03d4c0 100644 --- a/packages/builder/src/stores/portal/users.js +++ b/packages/builder/src/stores/portal/users.js @@ -1,38 +1,28 @@ import { writable } from "svelte/store" -import api, { post } from "builderStore/api" +import { API } from "api" import { update } from "lodash" export function createUsersStore() { const { subscribe, set } = writable([]) async function init() { - const response = await api.get(`/api/global/users`) - const json = await response.json() - set(json) + const users = await API.getUsers() + set(users) } async function invite({ email, builder, admin }) { - const body = { email, userInfo: {} } - if (admin) { - body.userInfo.admin = { - global: true, - } - } - if (builder) { - body.userInfo.builder = { - global: true, - } - } - const response = await api.post(`/api/global/users/invite`, body) - return await response.json() + await API.inviteUser({ + email, + builder, + admin, + }) } async function acceptInvite(inviteCode, password) { - const response = await api.post("/api/global/users/invite/accept", { + await API.acceptInvite({ inviteCode, password, }) - return await response.json() } async function create({ @@ -56,29 +46,17 @@ export function createUsersStore() { if (admin) { body.admin = { global: true } } - const response = await api.post("/api/global/users", body) + await API.saveUser(body) await init() - return await response.json() } async function del(id) { - const response = await api.delete(`/api/global/users/${id}`) + await API.deleteUser(id) update(users => users.filter(user => user._id !== id)) - const json = await response.json() - return { - ...json, - status: response.status, - } } async function save(data) { - try { - const res = await post(`/api/global/users`, data) - return await res.json() - } catch (error) { - console.log(error) - return error - } + await API.saveUser(data) } return { diff --git a/packages/frontend-core/src/api/app.js b/packages/frontend-core/src/api/app.js index 543dcd58ee..1b0735be05 100644 --- a/packages/frontend-core/src/api/app.js +++ b/packages/frontend-core/src/api/app.js @@ -10,14 +10,12 @@ export const buildAppEndpoints = API => ({ /** * Saves and patches metadata about an app. + * @param appId the ID of the app to update * @param metadata the app metadata to save */ - saveAppMetadata: async metadata => { - if (!metadata?.appId) { - throw API.error("App metadata must have an appId set") - } + saveAppMetadata: async ({ appId, metadata }) => { return await API.put({ - url: `/api/applications/${metadata.appId}`, + url: `/api/applications/${appId}`, body: metadata, }) }, @@ -132,4 +130,13 @@ export const buildAppEndpoints = API => ({ url: `/api/applications/${appId}/sync`, }) }, + + /** + * Gets a list of apps. + */ + getApps: async () => { + return await API.get({ + url: "/api/applications?status=all", + }) + }, }) diff --git a/packages/frontend-core/src/api/auth.js b/packages/frontend-core/src/api/auth.js index 5f280b50da..9289d71239 100644 --- a/packages/frontend-core/src/api/auth.js +++ b/packages/frontend-core/src/api/auth.js @@ -1,18 +1,15 @@ export const buildAuthEndpoints = API => ({ /** - * Performs a log in request. + * Performs a login request. + * @param tenantId the ID of the tenant to log in to + * @param username the username (email) + * @param password the password */ - logIn: async ({ email, password }) => { - if (!email) { - return API.error("Please enter your email") - } - if (!password) { - return API.error("Please enter your password") - } + logIn: async ({ tenantId, username, password }) => { return await API.post({ - url: "/api/global/auth", + url: `/api/global/auth/${tenantId}/login`, body: { - username: email, + username, password, }, }) @@ -28,137 +25,52 @@ export const buildAuthEndpoints = API => ({ }, /** - * Fetches the currently logged in user object + * Sets initialisation info. + * @param info the info to set */ - fetchSelf: async () => { - return await API.get({ - url: "/api/self", - }) - }, - - /** - * Creates a user for an app. - * @param user the user to create - */ - createAppUser: async user => { + setInitInfo: async info => { return await API.post({ - url: "/api/users/metadata", - body: user, + url: "/api/global/auth/init", + body: info, }) }, /** - * Updates the current user metadata. - * @param metadata the metadata to save + * Gets the initialisation info. */ - updateOwnMetadata: async metadata => { + getInitInfo: async () => { + return await API.get({ + url: "/api/global/auth/init", + }) + }, + + /** + * Sends a password reset email. + * @param tenantId the ID of the tenant the user is in + * @param email the email address of the user + */ + requestForgotPassword: async ({ tenantId, email }) => { return await API.post({ - url: "/api/users/metadata/self", - body: metadata, + url: `/api/global/auth/${tenantId}/reset`, + body: { + email, + }, }) }, /** - * Creates an admin user. - * @param adminUser the admin user to create + * Resets a user's password. + * @param tenantId the ID of the tenant the user is in + * @param password the new password to set + * @param resetCode the reset code to authenticate the request */ - createAdminUser: async adminUser => { + resetPassword: async ({ tenantId, password, resetCode }) => { return await API.post({ - url: "/api/global/users/init", - body: adminUser, - }) - }, - - /** - * Saves a global config. - * @param config the config to save - */ - saveConfig: async config => { - return await API.post({ - url: "/api/global/configs", - body: config, - }) - }, - - /** - * Gets a global config of a certain type. - * @param type the type to fetch - */ - getConfig: async type => { - return await API.get({ - url: `/api/global/configs/${type}`, - }) - }, - - /** - * Gets the OIDC config for a certain tenant. - * @param tenantId the tenant ID to get the config for - */ - getOIDCConfig: async tenantId => { - return await API.get({ - url: `/api/global/configs/public/oidc?tenantId=${tenantId}`, - }) - }, - - /** - * Gets the checklist for a specific tenant. - * @param tenantId the tenant ID to get the checklist for - */ - getChecklist: async tenantId => { - return await API.get({ - url: `/api/global/configs/checklist?tenantId=${tenantId}`, - }) - }, - - /** - * TODO: find out what this is - */ - checkImportComplete: async () => { - return await API.get({ - url: "/api/cloud/import/complete", - }) - }, - - /** - * Gets the current environment details. - */ - getEnvironment: async () => { - return await API.get({ - url: "/api/system/environment", - }) - }, - - /** - * Updates the company logo for the environment. - * @param data the logo form data - */ - uploadLogo: async data => { - return await API.post({ - url: "/api/global/configs/upload/settings/logoUrl", - body: data, - json: false, - }) - }, - - /** - * Uploads a logo for an OIDC provider. - * @param name the name of the OIDC provider - * @param data the logo form data to upload - */ - uploadOIDCLogo: async ({ name, data }) => { - return await API.post({ - url: `/api/global/configs/upload/logos_oidc/${name}`, - body: data, - json: false, - }) - }, - - /** - * Gets the list of OIDC logos. - */ - getOIDCLogos: async () => { - return await API.get({ - url: "/api/global/configs/logos_oidc", + url: `/api/global/auth/${tenantId}/reset/update`, + body: { + password, + resetCode, + }, }) }, }) diff --git a/packages/frontend-core/src/api/configs.js b/packages/frontend-core/src/api/configs.js new file mode 100644 index 0000000000..9e320f7499 --- /dev/null +++ b/packages/frontend-core/src/api/configs.js @@ -0,0 +1,86 @@ +export const buildConfigEndpoints = API => ({ + /** + * Saves a global config. + * @param config the config to save + */ + saveConfig: async config => { + return await API.post({ + url: "/api/global/configs", + body: config, + }) + }, + + /** + * Gets a global config of a certain type. + * @param type the type to fetch + */ + getConfig: async type => { + return await API.get({ + url: `/api/global/configs/${type}`, + }) + }, + + /** + * Gets the config for a certain tenant. + * @param tenantId the tenant ID to get the config for + */ + getTenantConfig: async tenantId => { + return await API.get({ + url: `/api/global/configs/public?tenantId=${tenantId}`, + }) + }, + + /** + * Gets the OIDC config for a certain tenant. + * @param tenantId the tenant ID to get the config for + */ + getOIDCConfig: async tenantId => { + return await API.get({ + url: `/api/global/configs/public/oidc?tenantId=${tenantId}`, + }) + }, + + /** + * Gets the checklist for a specific tenant. + * @param tenantId the tenant ID to get the checklist for + */ + getChecklist: async tenantId => { + return await API.get({ + url: `/api/global/configs/checklist?tenantId=${tenantId}`, + }) + }, + + /** + * Updates the company logo for the environment. + * @param data the logo form data + */ + uploadLogo: async data => { + return await API.post({ + url: "/api/global/configs/upload/settings/logoUrl", + body: data, + json: false, + }) + }, + + /** + * Uploads a logo for an OIDC provider. + * @param name the name of the OIDC provider + * @param data the logo form data to upload + */ + uploadOIDCLogo: async ({ name, data }) => { + return await API.post({ + url: `/api/global/configs/upload/logos_oidc/${name}`, + body: data, + json: false, + }) + }, + + /** + * Gets the list of OIDC logos. + */ + getOIDCLogos: async () => { + return await API.get({ + url: "/api/global/configs/logos_oidc", + }) + }, +}) diff --git a/packages/frontend-core/src/api/index.js b/packages/frontend-core/src/api/index.js index 9511a946b4..973a1fbc2f 100644 --- a/packages/frontend-core/src/api/index.js +++ b/packages/frontend-core/src/api/index.js @@ -4,9 +4,11 @@ import { buildAppEndpoints } from "./app" import { buildAttachmentEndpoints } from "./attachments" import { buildAuthEndpoints } from "./auth" import { buildAutomationEndpoints } from "./automations" +import { buildConfigEndpoints } from "./configs" import { buildDatasourceEndpoints } from "./datasources" import { buildFlagEndpoints } from "./flags" import { buildHostingEndpoints } from "./hosting" +import { buildOtherEndpoints } from "./other" import { buildPermissionsEndpoints } from "./permissions" import { buildQueryEndpoints } from "./queries" import { buildRelationshipEndpoints } from "./relationships" @@ -16,6 +18,7 @@ import { buildRowEndpoints } from "./rows" import { buildScreenEndpoints } from "./screens" import { buildTableEndpoints } from "./tables" import { buildTemplateEndpoints } from "./templates" +import { buildUserEndpoints } from "./user" import { buildViewEndpoints } from "./views" const defaultAPIClientConfig = { @@ -189,9 +192,11 @@ export const createAPIClient = config => { ...buildAttachmentEndpoints(API), ...buildAuthEndpoints(API), ...buildAutomationEndpoints(API), + ...buildConfigEndpoints(API), ...buildDatasourceEndpoints(API), ...buildFlagEndpoints(API), ...buildHostingEndpoints(API), + ...buildOtherEndpoints(API), ...buildPermissionsEndpoints(API), ...buildQueryEndpoints(API), ...buildRelationshipEndpoints(API), @@ -201,6 +206,7 @@ export const createAPIClient = config => { ...buildScreenEndpoints(API), ...buildTableEndpoints(API), ...buildTemplateEndpoints(API), + ...buildUserEndpoints(API), ...buildViewEndpoints(API), } diff --git a/packages/frontend-core/src/api/other.js b/packages/frontend-core/src/api/other.js new file mode 100644 index 0000000000..b3481f1e27 --- /dev/null +++ b/packages/frontend-core/src/api/other.js @@ -0,0 +1,19 @@ +export const buildOtherEndpoints = API => ({ + /** + * TODO: find out what this is + */ + checkImportComplete: async () => { + return await API.get({ + url: "/api/cloud/import/complete", + }) + }, + + /** + * Gets the current environment details. + */ + getEnvironment: async () => { + return await API.get({ + url: "/api/system/environment", + }) + }, +}) diff --git a/packages/frontend-core/src/api/templates.js b/packages/frontend-core/src/api/templates.js index 7cd1d78d7b..720110fe5d 100644 --- a/packages/frontend-core/src/api/templates.js +++ b/packages/frontend-core/src/api/templates.js @@ -25,4 +25,13 @@ export const buildTemplateEndpoints = API => ({ }, }) }, + + /** + * Gets a list of app templates. + */ + getAppTemplates: async () => { + return await API.get({ + url: "/api/templates?type=app", + }) + }, }) diff --git a/packages/frontend-core/src/api/user.js b/packages/frontend-core/src/api/user.js new file mode 100644 index 0000000000..d1fe7f7251 --- /dev/null +++ b/packages/frontend-core/src/api/user.js @@ -0,0 +1,129 @@ +export const buildUserEndpoints = API => ({ + /** + * Fetches the currently logged-in user object. + * Used in client apps. + */ + fetchSelf: async () => { + return await API.get({ + url: "/api/self", + }) + }, + + /** + * Fetches the currently logged-in user object. + * Used in the builder. + */ + fetchBuilderSelf: async () => { + return await API.get({ + url: "/api/global/users/self", + }) + }, + + /** + * Gets a list of users in the current tenant. + */ + getUsers: async () => { + return await API.get({ + url: "/api/global/users", + }) + }, + + /** + * Creates a user for an app. + * @param user the user to create + */ + createAppUser: async user => { + return await API.post({ + url: "/api/users/metadata", + body: user, + }) + }, + + /** + * Updates the current user metadata. + * @param metadata the metadata to save + */ + updateOwnMetadata: async metadata => { + return await API.post({ + url: "/api/users/metadata/self", + body: metadata, + }) + }, + + /** + * Creates an admin user. + * @param adminUser the admin user to create + */ + createAdminUser: async adminUser => { + return await API.post({ + url: "/api/global/users/init", + body: adminUser, + }) + }, + + /** + * Updates the current logged-in user. + * @param user the new user object to save + */ + updateSelf: async user => { + return await API.post({ + url: "/api/global/users/self", + body: user, + }) + }, + + /** + * Creates or updates a user in the current tenant. + * @param user the new user to create + */ + saveUser: async user => { + return await API.post({ + url: "/api/global/users", + body: user, + }) + }, + + /** + * Deletes a user from the curernt tenant. + * @param userId the ID of the user to delete + */ + deleteUser: async userId => { + return await API.delete({ + url: `/api/global/users/${userId}`, + }) + }, + + /** + * Invites a user to the current tenant. + * @param email the email address to send the invitation to + * @param builder whether the user should be a global builder + * @param admin whether the user should be a global admin + */ + inviteUser: async ({ email, builder, admin }) => { + return await API.post({ + url: "/api/global/users/invite", + body: { + email, + userInfo: { + admin: admin ? { global: true } : undefined, + builder: builder ? { global: true } : undefined, + }, + }, + }) + }, + + /** + * Accepts an invitation to join the platform and creates a user. + * @param inviteCode the invite code sent in the email + * @param password the password for the newly created user + */ + acceptInvitation: async ({ inviteCode, password }) => { + return await API.post({ + url: "/api/global/users/invite/accept", + body: { + inviteCode, + password, + }, + }) + }, +}) From eeb18ac0871f3f8c599cabd21bc1b77996cf1594 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Mon, 24 Jan 2022 14:39:32 +0000 Subject: [PATCH 030/176] Fix issue with table and ignore node_modules in frontend-core --- .../components/backend/DataTable/Table.svelte | 4 +- .../frontend-core/node_modules/lodash/LICENSE | 47 - .../node_modules/lodash/README.md | 39 - .../node_modules/lodash/_DataView.js | 7 - .../node_modules/lodash/_Hash.js | 32 - .../node_modules/lodash/_LazyWrapper.js | 28 - .../node_modules/lodash/_ListCache.js | 32 - .../node_modules/lodash/_LodashWrapper.js | 22 - .../frontend-core/node_modules/lodash/_Map.js | 7 - .../node_modules/lodash/_MapCache.js | 32 - .../node_modules/lodash/_Promise.js | 7 - .../frontend-core/node_modules/lodash/_Set.js | 7 - .../node_modules/lodash/_SetCache.js | 27 - .../node_modules/lodash/_Stack.js | 27 - .../node_modules/lodash/_Symbol.js | 6 - .../node_modules/lodash/_Uint8Array.js | 6 - .../node_modules/lodash/_WeakMap.js | 7 - .../node_modules/lodash/_apply.js | 21 - .../node_modules/lodash/_arrayAggregator.js | 22 - .../node_modules/lodash/_arrayEach.js | 22 - .../node_modules/lodash/_arrayEachRight.js | 21 - .../node_modules/lodash/_arrayEvery.js | 23 - .../node_modules/lodash/_arrayFilter.js | 25 - .../node_modules/lodash/_arrayIncludes.js | 17 - .../node_modules/lodash/_arrayIncludesWith.js | 22 - .../node_modules/lodash/_arrayLikeKeys.js | 49 - .../node_modules/lodash/_arrayMap.js | 21 - .../node_modules/lodash/_arrayPush.js | 20 - .../node_modules/lodash/_arrayReduce.js | 26 - .../node_modules/lodash/_arrayReduceRight.js | 24 - .../node_modules/lodash/_arraySample.js | 15 - .../node_modules/lodash/_arraySampleSize.js | 17 - .../node_modules/lodash/_arrayShuffle.js | 15 - .../node_modules/lodash/_arraySome.js | 23 - .../node_modules/lodash/_asciiSize.js | 12 - .../node_modules/lodash/_asciiToArray.js | 12 - .../node_modules/lodash/_asciiWords.js | 15 - .../node_modules/lodash/_assignMergeValue.js | 20 - .../node_modules/lodash/_assignValue.js | 28 - .../node_modules/lodash/_assocIndexOf.js | 21 - .../node_modules/lodash/_baseAggregator.js | 21 - .../node_modules/lodash/_baseAssign.js | 17 - .../node_modules/lodash/_baseAssignIn.js | 17 - .../node_modules/lodash/_baseAssignValue.js | 25 - .../node_modules/lodash/_baseAt.js | 23 - .../node_modules/lodash/_baseClamp.js | 22 - .../node_modules/lodash/_baseClone.js | 166 - .../node_modules/lodash/_baseConforms.js | 18 - .../node_modules/lodash/_baseConformsTo.js | 27 - .../node_modules/lodash/_baseCreate.js | 30 - .../node_modules/lodash/_baseDelay.js | 21 - .../node_modules/lodash/_baseDifference.js | 67 - .../node_modules/lodash/_baseEach.js | 14 - .../node_modules/lodash/_baseEachRight.js | 14 - .../node_modules/lodash/_baseEvery.js | 21 - .../node_modules/lodash/_baseExtremum.js | 32 - .../node_modules/lodash/_baseFill.js | 32 - .../node_modules/lodash/_baseFilter.js | 21 - .../node_modules/lodash/_baseFindIndex.js | 24 - .../node_modules/lodash/_baseFindKey.js | 23 - .../node_modules/lodash/_baseFlatten.js | 38 - .../node_modules/lodash/_baseFor.js | 16 - .../node_modules/lodash/_baseForOwn.js | 16 - .../node_modules/lodash/_baseForOwnRight.js | 16 - .../node_modules/lodash/_baseForRight.js | 15 - .../node_modules/lodash/_baseFunctions.js | 19 - .../node_modules/lodash/_baseGet.js | 24 - .../node_modules/lodash/_baseGetAllKeys.js | 20 - .../node_modules/lodash/_baseGetTag.js | 28 - .../node_modules/lodash/_baseGt.js | 14 - .../node_modules/lodash/_baseHas.js | 19 - .../node_modules/lodash/_baseHasIn.js | 13 - .../node_modules/lodash/_baseInRange.js | 18 - .../node_modules/lodash/_baseIndexOf.js | 20 - .../node_modules/lodash/_baseIndexOfWith.js | 23 - .../node_modules/lodash/_baseIntersection.js | 74 - .../node_modules/lodash/_baseInverter.js | 21 - .../node_modules/lodash/_baseInvoke.js | 24 - .../node_modules/lodash/_baseIsArguments.js | 18 - .../node_modules/lodash/_baseIsArrayBuffer.js | 17 - .../node_modules/lodash/_baseIsDate.js | 18 - .../node_modules/lodash/_baseIsEqual.js | 28 - .../node_modules/lodash/_baseIsEqualDeep.js | 83 - .../node_modules/lodash/_baseIsMap.js | 18 - .../node_modules/lodash/_baseIsMatch.js | 62 - .../node_modules/lodash/_baseIsNaN.js | 12 - .../node_modules/lodash/_baseIsNative.js | 47 - .../node_modules/lodash/_baseIsRegExp.js | 18 - .../node_modules/lodash/_baseIsSet.js | 18 - .../node_modules/lodash/_baseIsTypedArray.js | 60 - .../node_modules/lodash/_baseIteratee.js | 31 - .../node_modules/lodash/_baseKeys.js | 30 - .../node_modules/lodash/_baseKeysIn.js | 33 - .../node_modules/lodash/_baseLodash.js | 10 - .../node_modules/lodash/_baseLt.js | 14 - .../node_modules/lodash/_baseMap.js | 22 - .../node_modules/lodash/_baseMatches.js | 22 - .../lodash/_baseMatchesProperty.js | 33 - .../node_modules/lodash/_baseMean.js | 20 - .../node_modules/lodash/_baseMerge.js | 42 - .../node_modules/lodash/_baseMergeDeep.js | 94 - .../node_modules/lodash/_baseNth.js | 20 - .../node_modules/lodash/_baseOrderBy.js | 49 - .../node_modules/lodash/_basePick.js | 19 - .../node_modules/lodash/_basePickBy.js | 30 - .../node_modules/lodash/_baseProperty.js | 14 - .../node_modules/lodash/_basePropertyDeep.js | 16 - .../node_modules/lodash/_basePropertyOf.js | 14 - .../node_modules/lodash/_basePullAll.js | 51 - .../node_modules/lodash/_basePullAt.js | 37 - .../node_modules/lodash/_baseRandom.js | 18 - .../node_modules/lodash/_baseRange.js | 28 - .../node_modules/lodash/_baseReduce.js | 23 - .../node_modules/lodash/_baseRepeat.js | 35 - .../node_modules/lodash/_baseRest.js | 17 - .../node_modules/lodash/_baseSample.js | 15 - .../node_modules/lodash/_baseSampleSize.js | 18 - .../node_modules/lodash/_baseSet.js | 51 - .../node_modules/lodash/_baseSetData.js | 17 - .../node_modules/lodash/_baseSetToString.js | 22 - .../node_modules/lodash/_baseShuffle.js | 15 - .../node_modules/lodash/_baseSlice.js | 31 - .../node_modules/lodash/_baseSome.js | 22 - .../node_modules/lodash/_baseSortBy.js | 21 - .../node_modules/lodash/_baseSortedIndex.js | 42 - .../node_modules/lodash/_baseSortedIndexBy.js | 67 - .../node_modules/lodash/_baseSortedUniq.js | 30 - .../node_modules/lodash/_baseSum.js | 24 - .../node_modules/lodash/_baseTimes.js | 20 - .../node_modules/lodash/_baseToNumber.js | 24 - .../node_modules/lodash/_baseToPairs.js | 18 - .../node_modules/lodash/_baseToString.js | 37 - .../node_modules/lodash/_baseTrim.js | 19 - .../node_modules/lodash/_baseUnary.js | 14 - .../node_modules/lodash/_baseUniq.js | 72 - .../node_modules/lodash/_baseUnset.js | 20 - .../node_modules/lodash/_baseUpdate.js | 18 - .../node_modules/lodash/_baseValues.js | 19 - .../node_modules/lodash/_baseWhile.js | 26 - .../node_modules/lodash/_baseWrapperValue.js | 25 - .../node_modules/lodash/_baseXor.js | 36 - .../node_modules/lodash/_baseZipObject.js | 23 - .../node_modules/lodash/_cacheHas.js | 13 - .../lodash/_castArrayLikeObject.js | 14 - .../node_modules/lodash/_castFunction.js | 14 - .../node_modules/lodash/_castPath.js | 21 - .../node_modules/lodash/_castRest.js | 14 - .../node_modules/lodash/_castSlice.js | 18 - .../node_modules/lodash/_charsEndIndex.js | 19 - .../node_modules/lodash/_charsStartIndex.js | 20 - .../node_modules/lodash/_cloneArrayBuffer.js | 16 - .../node_modules/lodash/_cloneBuffer.js | 35 - .../node_modules/lodash/_cloneDataView.js | 16 - .../node_modules/lodash/_cloneRegExp.js | 17 - .../node_modules/lodash/_cloneSymbol.js | 18 - .../node_modules/lodash/_cloneTypedArray.js | 16 - .../node_modules/lodash/_compareAscending.js | 41 - .../node_modules/lodash/_compareMultiple.js | 44 - .../node_modules/lodash/_composeArgs.js | 39 - .../node_modules/lodash/_composeArgsRight.js | 41 - .../node_modules/lodash/_copyArray.js | 20 - .../node_modules/lodash/_copyObject.js | 40 - .../node_modules/lodash/_copySymbols.js | 16 - .../node_modules/lodash/_copySymbolsIn.js | 16 - .../node_modules/lodash/_coreJsData.js | 6 - .../node_modules/lodash/_countHolders.js | 21 - .../node_modules/lodash/_createAggregator.js | 23 - .../node_modules/lodash/_createAssigner.js | 37 - .../node_modules/lodash/_createBaseEach.js | 32 - .../node_modules/lodash/_createBaseFor.js | 25 - .../node_modules/lodash/_createBind.js | 28 - .../node_modules/lodash/_createCaseFirst.js | 33 - .../node_modules/lodash/_createCompounder.js | 24 - .../node_modules/lodash/_createCtor.js | 37 - .../node_modules/lodash/_createCurry.js | 46 - .../node_modules/lodash/_createFind.js | 25 - .../node_modules/lodash/_createFlow.js | 78 - .../node_modules/lodash/_createHybrid.js | 92 - .../node_modules/lodash/_createInverter.js | 17 - .../lodash/_createMathOperation.js | 38 - .../node_modules/lodash/_createOver.js | 27 - .../node_modules/lodash/_createPadding.js | 33 - .../node_modules/lodash/_createPartial.js | 43 - .../node_modules/lodash/_createRange.js | 30 - .../node_modules/lodash/_createRecurry.js | 56 - .../lodash/_createRelationalOperation.js | 20 - .../node_modules/lodash/_createRound.js | 35 - .../node_modules/lodash/_createSet.js | 19 - .../node_modules/lodash/_createToPairs.js | 30 - .../node_modules/lodash/_createWrap.js | 106 - .../lodash/_customDefaultsAssignIn.js | 29 - .../lodash/_customDefaultsMerge.js | 28 - .../node_modules/lodash/_customOmitClone.js | 16 - .../node_modules/lodash/_deburrLetter.js | 71 - .../node_modules/lodash/_defineProperty.js | 11 - .../node_modules/lodash/_equalArrays.js | 84 - .../node_modules/lodash/_equalByTag.js | 112 - .../node_modules/lodash/_equalObjects.js | 90 - .../node_modules/lodash/_escapeHtmlChar.js | 21 - .../node_modules/lodash/_escapeStringChar.js | 22 - .../node_modules/lodash/_flatRest.js | 16 - .../node_modules/lodash/_freeGlobal.js | 4 - .../node_modules/lodash/_getAllKeys.js | 16 - .../node_modules/lodash/_getAllKeysIn.js | 17 - .../node_modules/lodash/_getData.js | 15 - .../node_modules/lodash/_getFuncName.js | 31 - .../node_modules/lodash/_getHolder.js | 13 - .../node_modules/lodash/_getMapData.js | 18 - .../node_modules/lodash/_getMatchData.js | 24 - .../node_modules/lodash/_getNative.js | 17 - .../node_modules/lodash/_getPrototype.js | 6 - .../node_modules/lodash/_getRawTag.js | 46 - .../node_modules/lodash/_getSymbols.js | 30 - .../node_modules/lodash/_getSymbolsIn.js | 25 - .../node_modules/lodash/_getTag.js | 58 - .../node_modules/lodash/_getValue.js | 13 - .../node_modules/lodash/_getView.js | 33 - .../node_modules/lodash/_getWrapDetails.js | 17 - .../node_modules/lodash/_hasPath.js | 39 - .../node_modules/lodash/_hasUnicode.js | 26 - .../node_modules/lodash/_hasUnicodeWord.js | 15 - .../node_modules/lodash/_hashClear.js | 15 - .../node_modules/lodash/_hashDelete.js | 17 - .../node_modules/lodash/_hashGet.js | 30 - .../node_modules/lodash/_hashHas.js | 23 - .../node_modules/lodash/_hashSet.js | 23 - .../node_modules/lodash/_initCloneArray.js | 26 - .../node_modules/lodash/_initCloneByTag.js | 77 - .../node_modules/lodash/_initCloneObject.js | 18 - .../node_modules/lodash/_insertWrapDetails.js | 23 - .../node_modules/lodash/_isFlattenable.js | 20 - .../node_modules/lodash/_isIndex.js | 25 - .../node_modules/lodash/_isIterateeCall.js | 30 - .../node_modules/lodash/_isKey.js | 29 - .../node_modules/lodash/_isKeyable.js | 15 - .../node_modules/lodash/_isLaziable.js | 28 - .../node_modules/lodash/_isMaskable.js | 14 - .../node_modules/lodash/_isMasked.js | 20 - .../node_modules/lodash/_isPrototype.js | 18 - .../lodash/_isStrictComparable.js | 15 - .../node_modules/lodash/_iteratorToArray.js | 18 - .../node_modules/lodash/_lazyClone.js | 23 - .../node_modules/lodash/_lazyReverse.js | 23 - .../node_modules/lodash/_lazyValue.js | 69 - .../node_modules/lodash/_listCacheClear.js | 13 - .../node_modules/lodash/_listCacheDelete.js | 35 - .../node_modules/lodash/_listCacheGet.js | 19 - .../node_modules/lodash/_listCacheHas.js | 16 - .../node_modules/lodash/_listCacheSet.js | 26 - .../node_modules/lodash/_mapCacheClear.js | 21 - .../node_modules/lodash/_mapCacheDelete.js | 18 - .../node_modules/lodash/_mapCacheGet.js | 16 - .../node_modules/lodash/_mapCacheHas.js | 16 - .../node_modules/lodash/_mapCacheSet.js | 22 - .../node_modules/lodash/_mapToArray.js | 18 - .../lodash/_matchesStrictComparable.js | 20 - .../node_modules/lodash/_memoizeCapped.js | 26 - .../node_modules/lodash/_mergeData.js | 90 - .../node_modules/lodash/_metaMap.js | 6 - .../node_modules/lodash/_nativeCreate.js | 6 - .../node_modules/lodash/_nativeKeys.js | 6 - .../node_modules/lodash/_nativeKeysIn.js | 20 - .../node_modules/lodash/_nodeUtil.js | 30 - .../node_modules/lodash/_objectToString.js | 22 - .../node_modules/lodash/_overArg.js | 15 - .../node_modules/lodash/_overRest.js | 36 - .../node_modules/lodash/_parent.js | 16 - .../node_modules/lodash/_reEscape.js | 4 - .../node_modules/lodash/_reEvaluate.js | 4 - .../node_modules/lodash/_reInterpolate.js | 4 - .../node_modules/lodash/_realNames.js | 4 - .../node_modules/lodash/_reorder.js | 29 - .../node_modules/lodash/_replaceHolders.js | 29 - .../node_modules/lodash/_root.js | 9 - .../node_modules/lodash/_safeGet.js | 21 - .../node_modules/lodash/_setCacheAdd.js | 19 - .../node_modules/lodash/_setCacheHas.js | 14 - .../node_modules/lodash/_setData.js | 20 - .../node_modules/lodash/_setToArray.js | 18 - .../node_modules/lodash/_setToPairs.js | 18 - .../node_modules/lodash/_setToString.js | 14 - .../node_modules/lodash/_setWrapToString.js | 21 - .../node_modules/lodash/_shortOut.js | 37 - .../node_modules/lodash/_shuffleSelf.js | 28 - .../node_modules/lodash/_stackClear.js | 15 - .../node_modules/lodash/_stackDelete.js | 18 - .../node_modules/lodash/_stackGet.js | 14 - .../node_modules/lodash/_stackHas.js | 14 - .../node_modules/lodash/_stackSet.js | 34 - .../node_modules/lodash/_strictIndexOf.js | 23 - .../node_modules/lodash/_strictLastIndexOf.js | 21 - .../node_modules/lodash/_stringSize.js | 18 - .../node_modules/lodash/_stringToArray.js | 18 - .../node_modules/lodash/_stringToPath.js | 27 - .../node_modules/lodash/_toKey.js | 21 - .../node_modules/lodash/_toSource.js | 26 - .../node_modules/lodash/_trimmedEndIndex.js | 19 - .../node_modules/lodash/_unescapeHtmlChar.js | 21 - .../node_modules/lodash/_unicodeSize.js | 44 - .../node_modules/lodash/_unicodeToArray.js | 40 - .../node_modules/lodash/_unicodeWords.js | 69 - .../node_modules/lodash/_updateWrapDetails.js | 46 - .../node_modules/lodash/_wrapperClone.js | 23 - .../frontend-core/node_modules/lodash/add.js | 22 - .../node_modules/lodash/after.js | 42 - .../node_modules/lodash/array.js | 67 - .../frontend-core/node_modules/lodash/ary.js | 29 - .../node_modules/lodash/assign.js | 58 - .../node_modules/lodash/assignIn.js | 40 - .../node_modules/lodash/assignInWith.js | 38 - .../node_modules/lodash/assignWith.js | 37 - .../frontend-core/node_modules/lodash/at.js | 23 - .../node_modules/lodash/attempt.js | 35 - .../node_modules/lodash/before.js | 40 - .../frontend-core/node_modules/lodash/bind.js | 57 - .../node_modules/lodash/bindAll.js | 41 - .../node_modules/lodash/bindKey.js | 68 - .../node_modules/lodash/camelCase.js | 29 - .../node_modules/lodash/capitalize.js | 23 - .../node_modules/lodash/castArray.js | 44 - .../frontend-core/node_modules/lodash/ceil.js | 26 - .../node_modules/lodash/chain.js | 38 - .../node_modules/lodash/chunk.js | 50 - .../node_modules/lodash/clamp.js | 39 - .../node_modules/lodash/clone.js | 36 - .../node_modules/lodash/cloneDeep.js | 29 - .../node_modules/lodash/cloneDeepWith.js | 40 - .../node_modules/lodash/cloneWith.js | 42 - .../node_modules/lodash/collection.js | 30 - .../node_modules/lodash/commit.js | 33 - .../node_modules/lodash/compact.js | 31 - .../node_modules/lodash/concat.js | 43 - .../frontend-core/node_modules/lodash/cond.js | 60 - .../node_modules/lodash/conforms.js | 35 - .../node_modules/lodash/conformsTo.js | 32 - .../node_modules/lodash/constant.js | 26 - .../frontend-core/node_modules/lodash/core.js | 3877 -- .../node_modules/lodash/core.min.js | 29 - .../node_modules/lodash/countBy.js | 40 - .../node_modules/lodash/create.js | 43 - .../node_modules/lodash/curry.js | 57 - .../node_modules/lodash/curryRight.js | 54 - .../frontend-core/node_modules/lodash/date.js | 3 - .../node_modules/lodash/debounce.js | 191 - .../node_modules/lodash/deburr.js | 45 - .../node_modules/lodash/defaultTo.js | 25 - .../node_modules/lodash/defaults.js | 64 - .../node_modules/lodash/defaultsDeep.js | 30 - .../node_modules/lodash/defer.js | 26 - .../node_modules/lodash/delay.js | 28 - .../node_modules/lodash/difference.js | 33 - .../node_modules/lodash/differenceBy.js | 44 - .../node_modules/lodash/differenceWith.js | 40 - .../node_modules/lodash/divide.js | 22 - .../frontend-core/node_modules/lodash/drop.js | 38 - .../node_modules/lodash/dropRight.js | 39 - .../node_modules/lodash/dropRightWhile.js | 45 - .../node_modules/lodash/dropWhile.js | 45 - .../frontend-core/node_modules/lodash/each.js | 1 - .../node_modules/lodash/eachRight.js | 1 - .../node_modules/lodash/endsWith.js | 43 - .../node_modules/lodash/entries.js | 1 - .../node_modules/lodash/entriesIn.js | 1 - .../frontend-core/node_modules/lodash/eq.js | 37 - .../node_modules/lodash/escape.js | 43 - .../node_modules/lodash/escapeRegExp.js | 32 - .../node_modules/lodash/every.js | 56 - .../node_modules/lodash/extend.js | 1 - .../node_modules/lodash/extendWith.js | 1 - .../frontend-core/node_modules/lodash/fill.js | 45 - .../node_modules/lodash/filter.js | 52 - .../frontend-core/node_modules/lodash/find.js | 42 - .../node_modules/lodash/findIndex.js | 55 - .../node_modules/lodash/findKey.js | 44 - .../node_modules/lodash/findLast.js | 25 - .../node_modules/lodash/findLastIndex.js | 59 - .../node_modules/lodash/findLastKey.js | 44 - .../node_modules/lodash/first.js | 1 - .../node_modules/lodash/flake.lock | 40 - .../node_modules/lodash/flake.nix | 20 - .../node_modules/lodash/flatMap.js | 29 - .../node_modules/lodash/flatMapDeep.js | 31 - .../node_modules/lodash/flatMapDepth.js | 31 - .../node_modules/lodash/flatten.js | 22 - .../node_modules/lodash/flattenDeep.js | 25 - .../node_modules/lodash/flattenDepth.js | 33 - .../frontend-core/node_modules/lodash/flip.js | 28 - .../node_modules/lodash/floor.js | 26 - .../frontend-core/node_modules/lodash/flow.js | 27 - .../node_modules/lodash/flowRight.js | 26 - .../node_modules/lodash/forEach.js | 41 - .../node_modules/lodash/forEachRight.js | 31 - .../node_modules/lodash/forIn.js | 39 - .../node_modules/lodash/forInRight.js | 37 - .../node_modules/lodash/forOwn.js | 36 - .../node_modules/lodash/forOwnRight.js | 34 - .../frontend-core/node_modules/lodash/fp.js | 2 - .../frontend-core/node_modules/lodash/fp/F.js | 1 - .../frontend-core/node_modules/lodash/fp/T.js | 1 - .../node_modules/lodash/fp/__.js | 1 - .../node_modules/lodash/fp/_baseConvert.js | 569 - .../node_modules/lodash/fp/_convertBrowser.js | 18 - .../node_modules/lodash/fp/_falseOptions.js | 7 - .../node_modules/lodash/fp/_mapping.js | 358 - .../node_modules/lodash/fp/_util.js | 16 - .../node_modules/lodash/fp/add.js | 5 - .../node_modules/lodash/fp/after.js | 5 - .../node_modules/lodash/fp/all.js | 1 - .../node_modules/lodash/fp/allPass.js | 1 - .../node_modules/lodash/fp/always.js | 1 - .../node_modules/lodash/fp/any.js | 1 - .../node_modules/lodash/fp/anyPass.js | 1 - .../node_modules/lodash/fp/apply.js | 1 - .../node_modules/lodash/fp/array.js | 2 - .../node_modules/lodash/fp/ary.js | 5 - .../node_modules/lodash/fp/assign.js | 5 - .../node_modules/lodash/fp/assignAll.js | 5 - .../node_modules/lodash/fp/assignAllWith.js | 5 - .../node_modules/lodash/fp/assignIn.js | 5 - .../node_modules/lodash/fp/assignInAll.js | 5 - .../node_modules/lodash/fp/assignInAllWith.js | 5 - .../node_modules/lodash/fp/assignInWith.js | 5 - .../node_modules/lodash/fp/assignWith.js | 5 - .../node_modules/lodash/fp/assoc.js | 1 - .../node_modules/lodash/fp/assocPath.js | 1 - .../node_modules/lodash/fp/at.js | 5 - .../node_modules/lodash/fp/attempt.js | 5 - .../node_modules/lodash/fp/before.js | 5 - .../node_modules/lodash/fp/bind.js | 5 - .../node_modules/lodash/fp/bindAll.js | 5 - .../node_modules/lodash/fp/bindKey.js | 5 - .../node_modules/lodash/fp/camelCase.js | 5 - .../node_modules/lodash/fp/capitalize.js | 5 - .../node_modules/lodash/fp/castArray.js | 5 - .../node_modules/lodash/fp/ceil.js | 5 - .../node_modules/lodash/fp/chain.js | 5 - .../node_modules/lodash/fp/chunk.js | 5 - .../node_modules/lodash/fp/clamp.js | 5 - .../node_modules/lodash/fp/clone.js | 5 - .../node_modules/lodash/fp/cloneDeep.js | 5 - .../node_modules/lodash/fp/cloneDeepWith.js | 5 - .../node_modules/lodash/fp/cloneWith.js | 5 - .../node_modules/lodash/fp/collection.js | 2 - .../node_modules/lodash/fp/commit.js | 5 - .../node_modules/lodash/fp/compact.js | 5 - .../node_modules/lodash/fp/complement.js | 1 - .../node_modules/lodash/fp/compose.js | 1 - .../node_modules/lodash/fp/concat.js | 5 - .../node_modules/lodash/fp/cond.js | 5 - .../node_modules/lodash/fp/conforms.js | 1 - .../node_modules/lodash/fp/conformsTo.js | 5 - .../node_modules/lodash/fp/constant.js | 5 - .../node_modules/lodash/fp/contains.js | 1 - .../node_modules/lodash/fp/convert.js | 18 - .../node_modules/lodash/fp/countBy.js | 5 - .../node_modules/lodash/fp/create.js | 5 - .../node_modules/lodash/fp/curry.js | 5 - .../node_modules/lodash/fp/curryN.js | 5 - .../node_modules/lodash/fp/curryRight.js | 5 - .../node_modules/lodash/fp/curryRightN.js | 5 - .../node_modules/lodash/fp/date.js | 2 - .../node_modules/lodash/fp/debounce.js | 5 - .../node_modules/lodash/fp/deburr.js | 5 - .../node_modules/lodash/fp/defaultTo.js | 5 - .../node_modules/lodash/fp/defaults.js | 5 - .../node_modules/lodash/fp/defaultsAll.js | 5 - .../node_modules/lodash/fp/defaultsDeep.js | 5 - .../node_modules/lodash/fp/defaultsDeepAll.js | 5 - .../node_modules/lodash/fp/defer.js | 5 - .../node_modules/lodash/fp/delay.js | 5 - .../node_modules/lodash/fp/difference.js | 5 - .../node_modules/lodash/fp/differenceBy.js | 5 - .../node_modules/lodash/fp/differenceWith.js | 5 - .../node_modules/lodash/fp/dissoc.js | 1 - .../node_modules/lodash/fp/dissocPath.js | 1 - .../node_modules/lodash/fp/divide.js | 5 - .../node_modules/lodash/fp/drop.js | 5 - .../node_modules/lodash/fp/dropLast.js | 1 - .../node_modules/lodash/fp/dropLastWhile.js | 1 - .../node_modules/lodash/fp/dropRight.js | 5 - .../node_modules/lodash/fp/dropRightWhile.js | 5 - .../node_modules/lodash/fp/dropWhile.js | 5 - .../node_modules/lodash/fp/each.js | 1 - .../node_modules/lodash/fp/eachRight.js | 1 - .../node_modules/lodash/fp/endsWith.js | 5 - .../node_modules/lodash/fp/entries.js | 1 - .../node_modules/lodash/fp/entriesIn.js | 1 - .../node_modules/lodash/fp/eq.js | 5 - .../node_modules/lodash/fp/equals.js | 1 - .../node_modules/lodash/fp/escape.js | 5 - .../node_modules/lodash/fp/escapeRegExp.js | 5 - .../node_modules/lodash/fp/every.js | 5 - .../node_modules/lodash/fp/extend.js | 1 - .../node_modules/lodash/fp/extendAll.js | 1 - .../node_modules/lodash/fp/extendAllWith.js | 1 - .../node_modules/lodash/fp/extendWith.js | 1 - .../node_modules/lodash/fp/fill.js | 5 - .../node_modules/lodash/fp/filter.js | 5 - .../node_modules/lodash/fp/find.js | 5 - .../node_modules/lodash/fp/findFrom.js | 5 - .../node_modules/lodash/fp/findIndex.js | 5 - .../node_modules/lodash/fp/findIndexFrom.js | 5 - .../node_modules/lodash/fp/findKey.js | 5 - .../node_modules/lodash/fp/findLast.js | 5 - .../node_modules/lodash/fp/findLastFrom.js | 5 - .../node_modules/lodash/fp/findLastIndex.js | 5 - .../lodash/fp/findLastIndexFrom.js | 5 - .../node_modules/lodash/fp/findLastKey.js | 5 - .../node_modules/lodash/fp/first.js | 1 - .../node_modules/lodash/fp/flatMap.js | 5 - .../node_modules/lodash/fp/flatMapDeep.js | 5 - .../node_modules/lodash/fp/flatMapDepth.js | 5 - .../node_modules/lodash/fp/flatten.js | 5 - .../node_modules/lodash/fp/flattenDeep.js | 5 - .../node_modules/lodash/fp/flattenDepth.js | 5 - .../node_modules/lodash/fp/flip.js | 5 - .../node_modules/lodash/fp/floor.js | 5 - .../node_modules/lodash/fp/flow.js | 5 - .../node_modules/lodash/fp/flowRight.js | 5 - .../node_modules/lodash/fp/forEach.js | 5 - .../node_modules/lodash/fp/forEachRight.js | 5 - .../node_modules/lodash/fp/forIn.js | 5 - .../node_modules/lodash/fp/forInRight.js | 5 - .../node_modules/lodash/fp/forOwn.js | 5 - .../node_modules/lodash/fp/forOwnRight.js | 5 - .../node_modules/lodash/fp/fromPairs.js | 5 - .../node_modules/lodash/fp/function.js | 2 - .../node_modules/lodash/fp/functions.js | 5 - .../node_modules/lodash/fp/functionsIn.js | 5 - .../node_modules/lodash/fp/get.js | 5 - .../node_modules/lodash/fp/getOr.js | 5 - .../node_modules/lodash/fp/groupBy.js | 5 - .../node_modules/lodash/fp/gt.js | 5 - .../node_modules/lodash/fp/gte.js | 5 - .../node_modules/lodash/fp/has.js | 5 - .../node_modules/lodash/fp/hasIn.js | 5 - .../node_modules/lodash/fp/head.js | 5 - .../node_modules/lodash/fp/identical.js | 1 - .../node_modules/lodash/fp/identity.js | 5 - .../node_modules/lodash/fp/inRange.js | 5 - .../node_modules/lodash/fp/includes.js | 5 - .../node_modules/lodash/fp/includesFrom.js | 5 - .../node_modules/lodash/fp/indexBy.js | 1 - .../node_modules/lodash/fp/indexOf.js | 5 - .../node_modules/lodash/fp/indexOfFrom.js | 5 - .../node_modules/lodash/fp/init.js | 1 - .../node_modules/lodash/fp/initial.js | 5 - .../node_modules/lodash/fp/intersection.js | 5 - .../node_modules/lodash/fp/intersectionBy.js | 5 - .../lodash/fp/intersectionWith.js | 5 - .../node_modules/lodash/fp/invert.js | 5 - .../node_modules/lodash/fp/invertBy.js | 5 - .../node_modules/lodash/fp/invertObj.js | 1 - .../node_modules/lodash/fp/invoke.js | 5 - .../node_modules/lodash/fp/invokeArgs.js | 5 - .../node_modules/lodash/fp/invokeArgsMap.js | 5 - .../node_modules/lodash/fp/invokeMap.js | 5 - .../node_modules/lodash/fp/isArguments.js | 5 - .../node_modules/lodash/fp/isArray.js | 5 - .../node_modules/lodash/fp/isArrayBuffer.js | 5 - .../node_modules/lodash/fp/isArrayLike.js | 5 - .../lodash/fp/isArrayLikeObject.js | 5 - .../node_modules/lodash/fp/isBoolean.js | 5 - .../node_modules/lodash/fp/isBuffer.js | 5 - .../node_modules/lodash/fp/isDate.js | 5 - .../node_modules/lodash/fp/isElement.js | 5 - .../node_modules/lodash/fp/isEmpty.js | 5 - .../node_modules/lodash/fp/isEqual.js | 5 - .../node_modules/lodash/fp/isEqualWith.js | 5 - .../node_modules/lodash/fp/isError.js | 5 - .../node_modules/lodash/fp/isFinite.js | 5 - .../node_modules/lodash/fp/isFunction.js | 5 - .../node_modules/lodash/fp/isInteger.js | 5 - .../node_modules/lodash/fp/isLength.js | 5 - .../node_modules/lodash/fp/isMap.js | 5 - .../node_modules/lodash/fp/isMatch.js | 5 - .../node_modules/lodash/fp/isMatchWith.js | 5 - .../node_modules/lodash/fp/isNaN.js | 5 - .../node_modules/lodash/fp/isNative.js | 5 - .../node_modules/lodash/fp/isNil.js | 5 - .../node_modules/lodash/fp/isNull.js | 5 - .../node_modules/lodash/fp/isNumber.js | 5 - .../node_modules/lodash/fp/isObject.js | 5 - .../node_modules/lodash/fp/isObjectLike.js | 5 - .../node_modules/lodash/fp/isPlainObject.js | 5 - .../node_modules/lodash/fp/isRegExp.js | 5 - .../node_modules/lodash/fp/isSafeInteger.js | 5 - .../node_modules/lodash/fp/isSet.js | 5 - .../node_modules/lodash/fp/isString.js | 5 - .../node_modules/lodash/fp/isSymbol.js | 5 - .../node_modules/lodash/fp/isTypedArray.js | 5 - .../node_modules/lodash/fp/isUndefined.js | 5 - .../node_modules/lodash/fp/isWeakMap.js | 5 - .../node_modules/lodash/fp/isWeakSet.js | 5 - .../node_modules/lodash/fp/iteratee.js | 5 - .../node_modules/lodash/fp/join.js | 5 - .../node_modules/lodash/fp/juxt.js | 1 - .../node_modules/lodash/fp/kebabCase.js | 5 - .../node_modules/lodash/fp/keyBy.js | 5 - .../node_modules/lodash/fp/keys.js | 5 - .../node_modules/lodash/fp/keysIn.js | 5 - .../node_modules/lodash/fp/lang.js | 2 - .../node_modules/lodash/fp/last.js | 5 - .../node_modules/lodash/fp/lastIndexOf.js | 5 - .../node_modules/lodash/fp/lastIndexOfFrom.js | 5 - .../node_modules/lodash/fp/lowerCase.js | 5 - .../node_modules/lodash/fp/lowerFirst.js | 5 - .../node_modules/lodash/fp/lt.js | 5 - .../node_modules/lodash/fp/lte.js | 5 - .../node_modules/lodash/fp/map.js | 5 - .../node_modules/lodash/fp/mapKeys.js | 5 - .../node_modules/lodash/fp/mapValues.js | 5 - .../node_modules/lodash/fp/matches.js | 1 - .../node_modules/lodash/fp/matchesProperty.js | 5 - .../node_modules/lodash/fp/math.js | 2 - .../node_modules/lodash/fp/max.js | 5 - .../node_modules/lodash/fp/maxBy.js | 5 - .../node_modules/lodash/fp/mean.js | 5 - .../node_modules/lodash/fp/meanBy.js | 5 - .../node_modules/lodash/fp/memoize.js | 5 - .../node_modules/lodash/fp/merge.js | 5 - .../node_modules/lodash/fp/mergeAll.js | 5 - .../node_modules/lodash/fp/mergeAllWith.js | 5 - .../node_modules/lodash/fp/mergeWith.js | 5 - .../node_modules/lodash/fp/method.js | 5 - .../node_modules/lodash/fp/methodOf.js | 5 - .../node_modules/lodash/fp/min.js | 5 - .../node_modules/lodash/fp/minBy.js | 5 - .../node_modules/lodash/fp/mixin.js | 5 - .../node_modules/lodash/fp/multiply.js | 5 - .../node_modules/lodash/fp/nAry.js | 1 - .../node_modules/lodash/fp/negate.js | 5 - .../node_modules/lodash/fp/next.js | 5 - .../node_modules/lodash/fp/noop.js | 5 - .../node_modules/lodash/fp/now.js | 5 - .../node_modules/lodash/fp/nth.js | 5 - .../node_modules/lodash/fp/nthArg.js | 5 - .../node_modules/lodash/fp/number.js | 2 - .../node_modules/lodash/fp/object.js | 2 - .../node_modules/lodash/fp/omit.js | 5 - .../node_modules/lodash/fp/omitAll.js | 1 - .../node_modules/lodash/fp/omitBy.js | 5 - .../node_modules/lodash/fp/once.js | 5 - .../node_modules/lodash/fp/orderBy.js | 5 - .../node_modules/lodash/fp/over.js | 5 - .../node_modules/lodash/fp/overArgs.js | 5 - .../node_modules/lodash/fp/overEvery.js | 5 - .../node_modules/lodash/fp/overSome.js | 5 - .../node_modules/lodash/fp/pad.js | 5 - .../node_modules/lodash/fp/padChars.js | 5 - .../node_modules/lodash/fp/padCharsEnd.js | 5 - .../node_modules/lodash/fp/padCharsStart.js | 5 - .../node_modules/lodash/fp/padEnd.js | 5 - .../node_modules/lodash/fp/padStart.js | 5 - .../node_modules/lodash/fp/parseInt.js | 5 - .../node_modules/lodash/fp/partial.js | 5 - .../node_modules/lodash/fp/partialRight.js | 5 - .../node_modules/lodash/fp/partition.js | 5 - .../node_modules/lodash/fp/path.js | 1 - .../node_modules/lodash/fp/pathEq.js | 1 - .../node_modules/lodash/fp/pathOr.js | 1 - .../node_modules/lodash/fp/paths.js | 1 - .../node_modules/lodash/fp/pick.js | 5 - .../node_modules/lodash/fp/pickAll.js | 1 - .../node_modules/lodash/fp/pickBy.js | 5 - .../node_modules/lodash/fp/pipe.js | 1 - .../node_modules/lodash/fp/placeholder.js | 6 - .../node_modules/lodash/fp/plant.js | 5 - .../node_modules/lodash/fp/pluck.js | 1 - .../node_modules/lodash/fp/prop.js | 1 - .../node_modules/lodash/fp/propEq.js | 1 - .../node_modules/lodash/fp/propOr.js | 1 - .../node_modules/lodash/fp/property.js | 1 - .../node_modules/lodash/fp/propertyOf.js | 5 - .../node_modules/lodash/fp/props.js | 1 - .../node_modules/lodash/fp/pull.js | 5 - .../node_modules/lodash/fp/pullAll.js | 5 - .../node_modules/lodash/fp/pullAllBy.js | 5 - .../node_modules/lodash/fp/pullAllWith.js | 5 - .../node_modules/lodash/fp/pullAt.js | 5 - .../node_modules/lodash/fp/random.js | 5 - .../node_modules/lodash/fp/range.js | 5 - .../node_modules/lodash/fp/rangeRight.js | 5 - .../node_modules/lodash/fp/rangeStep.js | 5 - .../node_modules/lodash/fp/rangeStepRight.js | 5 - .../node_modules/lodash/fp/rearg.js | 5 - .../node_modules/lodash/fp/reduce.js | 5 - .../node_modules/lodash/fp/reduceRight.js | 5 - .../node_modules/lodash/fp/reject.js | 5 - .../node_modules/lodash/fp/remove.js | 5 - .../node_modules/lodash/fp/repeat.js | 5 - .../node_modules/lodash/fp/replace.js | 5 - .../node_modules/lodash/fp/rest.js | 5 - .../node_modules/lodash/fp/restFrom.js | 5 - .../node_modules/lodash/fp/result.js | 5 - .../node_modules/lodash/fp/reverse.js | 5 - .../node_modules/lodash/fp/round.js | 5 - .../node_modules/lodash/fp/sample.js | 5 - .../node_modules/lodash/fp/sampleSize.js | 5 - .../node_modules/lodash/fp/seq.js | 2 - .../node_modules/lodash/fp/set.js | 5 - .../node_modules/lodash/fp/setWith.js | 5 - .../node_modules/lodash/fp/shuffle.js | 5 - .../node_modules/lodash/fp/size.js | 5 - .../node_modules/lodash/fp/slice.js | 5 - .../node_modules/lodash/fp/snakeCase.js | 5 - .../node_modules/lodash/fp/some.js | 5 - .../node_modules/lodash/fp/sortBy.js | 5 - .../node_modules/lodash/fp/sortedIndex.js | 5 - .../node_modules/lodash/fp/sortedIndexBy.js | 5 - .../node_modules/lodash/fp/sortedIndexOf.js | 5 - .../node_modules/lodash/fp/sortedLastIndex.js | 5 - .../lodash/fp/sortedLastIndexBy.js | 5 - .../lodash/fp/sortedLastIndexOf.js | 5 - .../node_modules/lodash/fp/sortedUniq.js | 5 - .../node_modules/lodash/fp/sortedUniqBy.js | 5 - .../node_modules/lodash/fp/split.js | 5 - .../node_modules/lodash/fp/spread.js | 5 - .../node_modules/lodash/fp/spreadFrom.js | 5 - .../node_modules/lodash/fp/startCase.js | 5 - .../node_modules/lodash/fp/startsWith.js | 5 - .../node_modules/lodash/fp/string.js | 2 - .../node_modules/lodash/fp/stubArray.js | 5 - .../node_modules/lodash/fp/stubFalse.js | 5 - .../node_modules/lodash/fp/stubObject.js | 5 - .../node_modules/lodash/fp/stubString.js | 5 - .../node_modules/lodash/fp/stubTrue.js | 5 - .../node_modules/lodash/fp/subtract.js | 5 - .../node_modules/lodash/fp/sum.js | 5 - .../node_modules/lodash/fp/sumBy.js | 5 - .../lodash/fp/symmetricDifference.js | 1 - .../lodash/fp/symmetricDifferenceBy.js | 1 - .../lodash/fp/symmetricDifferenceWith.js | 1 - .../node_modules/lodash/fp/tail.js | 5 - .../node_modules/lodash/fp/take.js | 5 - .../node_modules/lodash/fp/takeLast.js | 1 - .../node_modules/lodash/fp/takeLastWhile.js | 1 - .../node_modules/lodash/fp/takeRight.js | 5 - .../node_modules/lodash/fp/takeRightWhile.js | 5 - .../node_modules/lodash/fp/takeWhile.js | 5 - .../node_modules/lodash/fp/tap.js | 5 - .../node_modules/lodash/fp/template.js | 5 - .../lodash/fp/templateSettings.js | 5 - .../node_modules/lodash/fp/throttle.js | 5 - .../node_modules/lodash/fp/thru.js | 5 - .../node_modules/lodash/fp/times.js | 5 - .../node_modules/lodash/fp/toArray.js | 5 - .../node_modules/lodash/fp/toFinite.js | 5 - .../node_modules/lodash/fp/toInteger.js | 5 - .../node_modules/lodash/fp/toIterator.js | 5 - .../node_modules/lodash/fp/toJSON.js | 5 - .../node_modules/lodash/fp/toLength.js | 5 - .../node_modules/lodash/fp/toLower.js | 5 - .../node_modules/lodash/fp/toNumber.js | 5 - .../node_modules/lodash/fp/toPairs.js | 5 - .../node_modules/lodash/fp/toPairsIn.js | 5 - .../node_modules/lodash/fp/toPath.js | 5 - .../node_modules/lodash/fp/toPlainObject.js | 5 - .../node_modules/lodash/fp/toSafeInteger.js | 5 - .../node_modules/lodash/fp/toString.js | 5 - .../node_modules/lodash/fp/toUpper.js | 5 - .../node_modules/lodash/fp/transform.js | 5 - .../node_modules/lodash/fp/trim.js | 5 - .../node_modules/lodash/fp/trimChars.js | 5 - .../node_modules/lodash/fp/trimCharsEnd.js | 5 - .../node_modules/lodash/fp/trimCharsStart.js | 5 - .../node_modules/lodash/fp/trimEnd.js | 5 - .../node_modules/lodash/fp/trimStart.js | 5 - .../node_modules/lodash/fp/truncate.js | 5 - .../node_modules/lodash/fp/unapply.js | 1 - .../node_modules/lodash/fp/unary.js | 5 - .../node_modules/lodash/fp/unescape.js | 5 - .../node_modules/lodash/fp/union.js | 5 - .../node_modules/lodash/fp/unionBy.js | 5 - .../node_modules/lodash/fp/unionWith.js | 5 - .../node_modules/lodash/fp/uniq.js | 5 - .../node_modules/lodash/fp/uniqBy.js | 5 - .../node_modules/lodash/fp/uniqWith.js | 5 - .../node_modules/lodash/fp/uniqueId.js | 5 - .../node_modules/lodash/fp/unnest.js | 1 - .../node_modules/lodash/fp/unset.js | 5 - .../node_modules/lodash/fp/unzip.js | 5 - .../node_modules/lodash/fp/unzipWith.js | 5 - .../node_modules/lodash/fp/update.js | 5 - .../node_modules/lodash/fp/updateWith.js | 5 - .../node_modules/lodash/fp/upperCase.js | 5 - .../node_modules/lodash/fp/upperFirst.js | 5 - .../node_modules/lodash/fp/useWith.js | 1 - .../node_modules/lodash/fp/util.js | 2 - .../node_modules/lodash/fp/value.js | 5 - .../node_modules/lodash/fp/valueOf.js | 5 - .../node_modules/lodash/fp/values.js | 5 - .../node_modules/lodash/fp/valuesIn.js | 5 - .../node_modules/lodash/fp/where.js | 1 - .../node_modules/lodash/fp/whereEq.js | 1 - .../node_modules/lodash/fp/without.js | 5 - .../node_modules/lodash/fp/words.js | 5 - .../node_modules/lodash/fp/wrap.js | 5 - .../node_modules/lodash/fp/wrapperAt.js | 5 - .../node_modules/lodash/fp/wrapperChain.js | 5 - .../node_modules/lodash/fp/wrapperLodash.js | 5 - .../node_modules/lodash/fp/wrapperReverse.js | 5 - .../node_modules/lodash/fp/wrapperValue.js | 5 - .../node_modules/lodash/fp/xor.js | 5 - .../node_modules/lodash/fp/xorBy.js | 5 - .../node_modules/lodash/fp/xorWith.js | 5 - .../node_modules/lodash/fp/zip.js | 5 - .../node_modules/lodash/fp/zipAll.js | 5 - .../node_modules/lodash/fp/zipObj.js | 1 - .../node_modules/lodash/fp/zipObject.js | 5 - .../node_modules/lodash/fp/zipObjectDeep.js | 5 - .../node_modules/lodash/fp/zipWith.js | 5 - .../node_modules/lodash/fromPairs.js | 28 - .../node_modules/lodash/function.js | 25 - .../node_modules/lodash/functions.js | 31 - .../node_modules/lodash/functionsIn.js | 31 - .../frontend-core/node_modules/lodash/get.js | 33 - .../node_modules/lodash/groupBy.js | 41 - .../frontend-core/node_modules/lodash/gt.js | 29 - .../frontend-core/node_modules/lodash/gte.js | 30 - .../frontend-core/node_modules/lodash/has.js | 35 - .../node_modules/lodash/hasIn.js | 34 - .../frontend-core/node_modules/lodash/head.js | 23 - .../node_modules/lodash/identity.js | 21 - .../node_modules/lodash/inRange.js | 55 - .../node_modules/lodash/includes.js | 53 - .../node_modules/lodash/index.js | 1 - .../node_modules/lodash/indexOf.js | 42 - .../node_modules/lodash/initial.js | 22 - .../node_modules/lodash/intersection.js | 30 - .../node_modules/lodash/intersectionBy.js | 45 - .../node_modules/lodash/intersectionWith.js | 41 - .../node_modules/lodash/invert.js | 42 - .../node_modules/lodash/invertBy.js | 56 - .../node_modules/lodash/invoke.js | 24 - .../node_modules/lodash/invokeMap.js | 41 - .../node_modules/lodash/isArguments.js | 36 - .../node_modules/lodash/isArray.js | 26 - .../node_modules/lodash/isArrayBuffer.js | 27 - .../node_modules/lodash/isArrayLike.js | 33 - .../node_modules/lodash/isArrayLikeObject.js | 33 - .../node_modules/lodash/isBoolean.js | 29 - .../node_modules/lodash/isBuffer.js | 38 - .../node_modules/lodash/isDate.js | 27 - .../node_modules/lodash/isElement.js | 25 - .../node_modules/lodash/isEmpty.js | 77 - .../node_modules/lodash/isEqual.js | 35 - .../node_modules/lodash/isEqualWith.js | 41 - .../node_modules/lodash/isError.js | 36 - .../node_modules/lodash/isFinite.js | 36 - .../node_modules/lodash/isFunction.js | 37 - .../node_modules/lodash/isInteger.js | 33 - .../node_modules/lodash/isLength.js | 35 - .../node_modules/lodash/isMap.js | 27 - .../node_modules/lodash/isMatch.js | 36 - .../node_modules/lodash/isMatchWith.js | 41 - .../node_modules/lodash/isNaN.js | 38 - .../node_modules/lodash/isNative.js | 40 - .../node_modules/lodash/isNil.js | 25 - .../node_modules/lodash/isNull.js | 22 - .../node_modules/lodash/isNumber.js | 38 - .../node_modules/lodash/isObject.js | 31 - .../node_modules/lodash/isObjectLike.js | 29 - .../node_modules/lodash/isPlainObject.js | 62 - .../node_modules/lodash/isRegExp.js | 27 - .../node_modules/lodash/isSafeInteger.js | 37 - .../node_modules/lodash/isSet.js | 27 - .../node_modules/lodash/isString.js | 30 - .../node_modules/lodash/isSymbol.js | 29 - .../node_modules/lodash/isTypedArray.js | 27 - .../node_modules/lodash/isUndefined.js | 22 - .../node_modules/lodash/isWeakMap.js | 28 - .../node_modules/lodash/isWeakSet.js | 28 - .../node_modules/lodash/iteratee.js | 53 - .../frontend-core/node_modules/lodash/join.js | 26 - .../node_modules/lodash/kebabCase.js | 28 - .../node_modules/lodash/keyBy.js | 36 - .../frontend-core/node_modules/lodash/keys.js | 37 - .../node_modules/lodash/keysIn.js | 32 - .../frontend-core/node_modules/lodash/lang.js | 58 - .../frontend-core/node_modules/lodash/last.js | 20 - .../node_modules/lodash/lastIndexOf.js | 46 - .../node_modules/lodash/lodash.js | 17209 --------- .../node_modules/lodash/lodash.min.js | 140 - .../node_modules/lodash/lowerCase.js | 27 - .../node_modules/lodash/lowerFirst.js | 22 - .../frontend-core/node_modules/lodash/lt.js | 29 - .../frontend-core/node_modules/lodash/lte.js | 30 - .../frontend-core/node_modules/lodash/map.js | 53 - .../node_modules/lodash/mapKeys.js | 36 - .../node_modules/lodash/mapValues.js | 43 - .../node_modules/lodash/matches.js | 46 - .../node_modules/lodash/matchesProperty.js | 44 - .../frontend-core/node_modules/lodash/math.js | 17 - .../frontend-core/node_modules/lodash/max.js | 29 - .../node_modules/lodash/maxBy.js | 34 - .../frontend-core/node_modules/lodash/mean.js | 22 - .../node_modules/lodash/meanBy.js | 31 - .../node_modules/lodash/memoize.js | 73 - .../node_modules/lodash/merge.js | 39 - .../node_modules/lodash/mergeWith.js | 39 - .../node_modules/lodash/method.js | 34 - .../node_modules/lodash/methodOf.js | 33 - .../frontend-core/node_modules/lodash/min.js | 29 - .../node_modules/lodash/minBy.js | 34 - .../node_modules/lodash/mixin.js | 74 - .../node_modules/lodash/multiply.js | 22 - .../node_modules/lodash/negate.js | 40 - .../frontend-core/node_modules/lodash/next.js | 35 - .../frontend-core/node_modules/lodash/noop.js | 17 - .../frontend-core/node_modules/lodash/now.js | 23 - .../frontend-core/node_modules/lodash/nth.js | 29 - .../node_modules/lodash/nthArg.js | 32 - .../node_modules/lodash/number.js | 5 - .../node_modules/lodash/object.js | 49 - .../frontend-core/node_modules/lodash/omit.js | 57 - .../node_modules/lodash/omitBy.js | 29 - .../frontend-core/node_modules/lodash/once.js | 25 - .../node_modules/lodash/orderBy.js | 47 - .../frontend-core/node_modules/lodash/over.js | 24 - .../node_modules/lodash/overArgs.js | 61 - .../node_modules/lodash/overEvery.js | 34 - .../node_modules/lodash/overSome.js | 37 - .../node_modules/lodash/package.json | 17 - .../frontend-core/node_modules/lodash/pad.js | 49 - .../node_modules/lodash/padEnd.js | 39 - .../node_modules/lodash/padStart.js | 39 - .../node_modules/lodash/parseInt.js | 43 - .../node_modules/lodash/partial.js | 50 - .../node_modules/lodash/partialRight.js | 49 - .../node_modules/lodash/partition.js | 43 - .../frontend-core/node_modules/lodash/pick.js | 25 - .../node_modules/lodash/pickBy.js | 37 - .../node_modules/lodash/plant.js | 48 - .../node_modules/lodash/property.js | 32 - .../node_modules/lodash/propertyOf.js | 30 - .../frontend-core/node_modules/lodash/pull.js | 29 - .../node_modules/lodash/pullAll.js | 29 - .../node_modules/lodash/pullAllBy.js | 33 - .../node_modules/lodash/pullAllWith.js | 32 - .../node_modules/lodash/pullAt.js | 43 - .../node_modules/lodash/random.js | 82 - .../node_modules/lodash/range.js | 46 - .../node_modules/lodash/rangeRight.js | 41 - .../node_modules/lodash/rearg.js | 33 - .../node_modules/lodash/reduce.js | 51 - .../node_modules/lodash/reduceRight.js | 36 - .../node_modules/lodash/reject.js | 46 - .../node_modules/lodash/release.md | 48 - .../node_modules/lodash/remove.js | 53 - .../node_modules/lodash/repeat.js | 37 - .../node_modules/lodash/replace.js | 29 - .../frontend-core/node_modules/lodash/rest.js | 40 - .../node_modules/lodash/result.js | 56 - .../node_modules/lodash/reverse.js | 34 - .../node_modules/lodash/round.js | 26 - .../node_modules/lodash/sample.js | 24 - .../node_modules/lodash/sampleSize.js | 37 - .../frontend-core/node_modules/lodash/seq.js | 16 - .../frontend-core/node_modules/lodash/set.js | 35 - .../node_modules/lodash/setWith.js | 32 - .../node_modules/lodash/shuffle.js | 25 - .../frontend-core/node_modules/lodash/size.js | 46 - .../node_modules/lodash/slice.js | 37 - .../node_modules/lodash/snakeCase.js | 28 - .../frontend-core/node_modules/lodash/some.js | 51 - .../node_modules/lodash/sortBy.js | 48 - .../node_modules/lodash/sortedIndex.js | 24 - .../node_modules/lodash/sortedIndexBy.js | 33 - .../node_modules/lodash/sortedIndexOf.js | 31 - .../node_modules/lodash/sortedLastIndex.js | 25 - .../node_modules/lodash/sortedLastIndexBy.js | 33 - .../node_modules/lodash/sortedLastIndexOf.js | 31 - .../node_modules/lodash/sortedUniq.js | 24 - .../node_modules/lodash/sortedUniqBy.js | 26 - .../node_modules/lodash/split.js | 52 - .../node_modules/lodash/spread.js | 63 - .../node_modules/lodash/startCase.js | 29 - .../node_modules/lodash/startsWith.js | 39 - .../node_modules/lodash/string.js | 33 - .../node_modules/lodash/stubArray.js | 23 - .../node_modules/lodash/stubFalse.js | 18 - .../node_modules/lodash/stubObject.js | 23 - .../node_modules/lodash/stubString.js | 18 - .../node_modules/lodash/stubTrue.js | 18 - .../node_modules/lodash/subtract.js | 22 - .../frontend-core/node_modules/lodash/sum.js | 24 - .../node_modules/lodash/sumBy.js | 33 - .../frontend-core/node_modules/lodash/tail.js | 22 - .../frontend-core/node_modules/lodash/take.js | 37 - .../node_modules/lodash/takeRight.js | 39 - .../node_modules/lodash/takeRightWhile.js | 45 - .../node_modules/lodash/takeWhile.js | 45 - .../frontend-core/node_modules/lodash/tap.js | 29 - .../node_modules/lodash/template.js | 272 - .../node_modules/lodash/templateSettings.js | 67 - .../node_modules/lodash/throttle.js | 69 - .../frontend-core/node_modules/lodash/thru.js | 28 - .../node_modules/lodash/times.js | 51 - .../node_modules/lodash/toArray.js | 58 - .../node_modules/lodash/toFinite.js | 42 - .../node_modules/lodash/toInteger.js | 36 - .../node_modules/lodash/toIterator.js | 23 - .../node_modules/lodash/toJSON.js | 1 - .../node_modules/lodash/toLength.js | 38 - .../node_modules/lodash/toLower.js | 28 - .../node_modules/lodash/toNumber.js | 64 - .../node_modules/lodash/toPairs.js | 30 - .../node_modules/lodash/toPairsIn.js | 30 - .../node_modules/lodash/toPath.js | 33 - .../node_modules/lodash/toPlainObject.js | 32 - .../node_modules/lodash/toSafeInteger.js | 37 - .../node_modules/lodash/toString.js | 28 - .../node_modules/lodash/toUpper.js | 28 - .../node_modules/lodash/transform.js | 65 - .../frontend-core/node_modules/lodash/trim.js | 47 - .../node_modules/lodash/trimEnd.js | 41 - .../node_modules/lodash/trimStart.js | 43 - .../node_modules/lodash/truncate.js | 111 - .../node_modules/lodash/unary.js | 22 - .../node_modules/lodash/unescape.js | 34 - .../node_modules/lodash/union.js | 26 - .../node_modules/lodash/unionBy.js | 39 - .../node_modules/lodash/unionWith.js | 34 - .../frontend-core/node_modules/lodash/uniq.js | 25 - .../node_modules/lodash/uniqBy.js | 31 - .../node_modules/lodash/uniqWith.js | 28 - .../node_modules/lodash/uniqueId.js | 28 - .../node_modules/lodash/unset.js | 34 - .../node_modules/lodash/unzip.js | 45 - .../node_modules/lodash/unzipWith.js | 39 - .../node_modules/lodash/update.js | 35 - .../node_modules/lodash/updateWith.js | 33 - .../node_modules/lodash/upperCase.js | 27 - .../node_modules/lodash/upperFirst.js | 22 - .../frontend-core/node_modules/lodash/util.js | 34 - .../node_modules/lodash/value.js | 1 - .../node_modules/lodash/valueOf.js | 1 - .../node_modules/lodash/values.js | 34 - .../node_modules/lodash/valuesIn.js | 32 - .../node_modules/lodash/without.js | 31 - .../node_modules/lodash/words.js | 35 - .../frontend-core/node_modules/lodash/wrap.js | 30 - .../node_modules/lodash/wrapperAt.js | 48 - .../node_modules/lodash/wrapperChain.js | 34 - .../node_modules/lodash/wrapperLodash.js | 147 - .../node_modules/lodash/wrapperReverse.js | 44 - .../node_modules/lodash/wrapperValue.js | 21 - .../frontend-core/node_modules/lodash/xor.js | 28 - .../node_modules/lodash/xorBy.js | 39 - .../node_modules/lodash/xorWith.js | 34 - .../frontend-core/node_modules/lodash/zip.js | 22 - .../node_modules/lodash/zipObject.js | 24 - .../node_modules/lodash/zipObjectDeep.js | 23 - .../node_modules/lodash/zipWith.js | 32 - .../node_modules/svelte/CHANGELOG.md | 2387 -- .../node_modules/svelte/LICENSE.md | 7 - .../node_modules/svelte/README.md | 75 - .../node_modules/svelte/animate/index.d.ts | 1 - .../node_modules/svelte/animate/index.js | 29 - .../node_modules/svelte/animate/index.mjs | 25 - .../node_modules/svelte/animate/package.json | 5 - .../node_modules/svelte/compiler.d.ts | 1 - .../node_modules/svelte/compiler.js | 32182 ---------------- .../node_modules/svelte/compiler.js.map | 1 - .../node_modules/svelte/compiler.mjs | 32168 --------------- .../node_modules/svelte/compiler.mjs.map | 1 - .../node_modules/svelte/easing/index.d.ts | 1 - .../node_modules/svelte/easing/index.js | 183 - .../node_modules/svelte/easing/index.mjs | 144 - .../node_modules/svelte/easing/package.json | 5 - .../node_modules/svelte/index.js | 80 - .../node_modules/svelte/index.mjs | 1 - .../node_modules/svelte/internal/index.d.ts | 1 - .../node_modules/svelte/internal/index.js | 2294 -- .../node_modules/svelte/internal/index.mjs | 2122 - .../node_modules/svelte/internal/package.json | 5 - .../node_modules/svelte/motion/index.d.ts | 1 - .../node_modules/svelte/motion/index.js | 216 - .../node_modules/svelte/motion/index.mjs | 211 - .../node_modules/svelte/motion/package.json | 5 - .../node_modules/svelte/package.json | 166 - .../node_modules/svelte/register.js | 56 - .../frontend-core/node_modules/svelte/ssr.js | 67 - .../frontend-core/node_modules/svelte/ssr.mjs | 7 - .../node_modules/svelte/store/index.d.ts | 1 - .../node_modules/svelte/store/index.js | 114 - .../node_modules/svelte/store/index.mjs | 103 - .../node_modules/svelte/store/package.json | 5 - .../node_modules/svelte/transition/index.d.ts | 1 - .../node_modules/svelte/transition/index.js | 192 - .../node_modules/svelte/transition/index.mjs | 182 - .../svelte/transition/package.json | 5 - .../svelte/types/compiler/Stats.d.ts | 22 - .../types/compiler/compile/Component.d.ts | 124 - .../compiler/compile/compiler_errors.d.ts | 1 - .../compiler/compile/compiler_warnings.d.ts | 1 - .../types/compiler/compile/create_module.d.ts | 14 - .../types/compiler/compile/css/Selector.d.ts | 32 - .../compiler/compile/css/Stylesheet.d.ts | 67 - .../compile/css/gather_possible_values.d.ts | 3 - .../compiler/compile/css/interfaces.d.ts | 6 - .../svelte/types/compiler/compile/index.d.ts | 13 - .../compiler/compile/internal_exports.d.ts | 2 - .../types/compiler/compile/nodes/Action.d.ts | 13 - .../compiler/compile/nodes/Animation.d.ts | 12 - .../compiler/compile/nodes/Attribute.d.ts | 30 - .../compiler/compile/nodes/AwaitBlock.d.ts | 22 - .../types/compiler/compile/nodes/Binding.d.ts | 19 - .../types/compiler/compile/nodes/Body.d.ts | 12 - .../compiler/compile/nodes/CatchBlock.d.ts | 12 - .../types/compiler/compile/nodes/Class.d.ts | 11 - .../types/compiler/compile/nodes/Comment.d.ts | 10 - .../compiler/compile/nodes/ConstTag.d.ts | 18 - .../compiler/compile/nodes/DebugTag.d.ts | 11 - .../compile/nodes/DefaultSlotTemplate.d.ts | 13 - .../compiler/compile/nodes/EachBlock.d.ts | 26 - .../types/compiler/compile/nodes/Element.d.ts | 44 - .../compiler/compile/nodes/ElseBlock.d.ts | 9 - .../compiler/compile/nodes/EventHandler.d.ts | 17 - .../compiler/compile/nodes/Fragment.d.ts | 13 - .../types/compiler/compile/nodes/Head.d.ts | 10 - .../types/compiler/compile/nodes/IfBlock.d.ts | 13 - .../compile/nodes/InlineComponent.d.ts | 24 - .../compiler/compile/nodes/KeyBlock.d.ts | 11 - .../types/compiler/compile/nodes/Let.d.ts | 12 - .../compiler/compile/nodes/MustacheTag.d.ts | 4 - .../types/compiler/compile/nodes/Options.d.ts | 4 - .../compiler/compile/nodes/PendingBlock.d.ts | 9 - .../compile/nodes/RawMustacheTag.d.ts | 4 - .../types/compiler/compile/nodes/Slot.d.ts | 14 - .../compiler/compile/nodes/SlotTemplate.d.ts | 18 - .../types/compiler/compile/nodes/Style.d.ts | 12 - .../compile/nodes/StyleDirective.d.ts | 12 - .../types/compiler/compile/nodes/Text.d.ts | 12 - .../compiler/compile/nodes/ThenBlock.d.ts | 12 - .../types/compiler/compile/nodes/Title.d.ts | 11 - .../compiler/compile/nodes/Transition.d.ts | 14 - .../types/compiler/compile/nodes/Window.d.ts | 14 - .../compiler/compile/nodes/interfaces.d.ts | 36 - .../compile/nodes/shared/AbstractBlock.d.ts | 10 - .../compile/nodes/shared/Context.d.ts | 17 - .../compile/nodes/shared/Expression.d.ts | 26 - .../compiler/compile/nodes/shared/Node.d.ts | 21 - .../compiler/compile/nodes/shared/Tag.d.ts | 8 - .../compile/nodes/shared/TemplateScope.d.ts | 23 - .../compile/nodes/shared/get_const_tags.d.ts | 5 - .../compile/nodes/shared/is_contextual.d.ts | 3 - .../compile/nodes/shared/map_children.d.ts | 21 - .../compiler/compile/render_dom/Block.d.ts | 81 - .../compiler/compile/render_dom/Renderer.d.ts | 46 - .../compiler/compile/render_dom/index.d.ts | 7 - .../compile/render_dom/invalidate.d.ts | 5 - .../render_dom/wrappers/AwaitBlock.d.ts | 39 - .../compile/render_dom/wrappers/Body.d.ts | 13 - .../compile/render_dom/wrappers/DebugTag.d.ts | 10 - .../render_dom/wrappers/EachBlock.d.ts | 56 - .../wrappers/Element/Attribute.d.ts | 42 - .../render_dom/wrappers/Element/Binding.d.ts | 24 - .../wrappers/Element/EventHandler.d.ts | 11 - .../wrappers/Element/SpreadAttribute.d.ts | 3 - .../wrappers/Element/StyleAttribute.d.ts | 16 - .../Element/fix_attribute_casing.d.ts | 1 - .../Element/handle_select_value_binding.d.ts | 3 - .../render_dom/wrappers/Element/index.d.ts | 204 - .../compile/render_dom/wrappers/Fragment.d.ts | 10 - .../compile/render_dom/wrappers/Head.d.ts | 12 - .../compile/render_dom/wrappers/IfBlock.d.ts | 47 - .../wrappers/InlineComponent/index.d.ts | 25 - .../compile/render_dom/wrappers/KeyBlock.d.ts | 18 - .../render_dom/wrappers/MustacheTag.d.ts | 12 - .../render_dom/wrappers/RawMustacheTag.d.ts | 12 - .../compile/render_dom/wrappers/Slot.d.ts | 17 - .../render_dom/wrappers/SlotTemplate.d.ts | 15 - .../compile/render_dom/wrappers/Text.d.ts | 14 - .../compile/render_dom/wrappers/Title.d.ts | 10 - .../compile/render_dom/wrappers/Window.d.ts | 13 - .../render_dom/wrappers/shared/Tag.d.ts | 14 - .../render_dom/wrappers/shared/Wrapper.d.ts | 21 - .../wrappers/shared/add_actions.d.ts | 5 - .../wrappers/shared/add_const_tags.d.ts | 5 - .../wrappers/shared/add_event_handlers.d.ts | 5 - .../render_dom/wrappers/shared/bind_this.d.ts | 5 - .../shared/create_debugging_comment.d.ts | 3 - .../wrappers/shared/get_slot_definition.d.ts | 177 - .../wrappers/shared/is_dynamic.d.ts | 2 - .../render_dom/wrappers/shared/is_head.d.ts | 1 - .../shared/mark_each_block_bindings.d.ts | 4 - .../compiler/compile/render_ssr/Renderer.d.ts | 33 - .../render_ssr/handlers/AwaitBlock.d.ts | 3 - .../compile/render_ssr/handlers/Comment.d.ts | 3 - .../compile/render_ssr/handlers/DebugTag.d.ts | 3 - .../render_ssr/handlers/EachBlock.d.ts | 3 - .../compile/render_ssr/handlers/Element.d.ts | 3 - .../compile/render_ssr/handlers/Head.d.ts | 3 - .../compile/render_ssr/handlers/HtmlTag.d.ts | 3 - .../compile/render_ssr/handlers/IfBlock.d.ts | 3 - .../render_ssr/handlers/InlineComponent.d.ts | 3 - .../compile/render_ssr/handlers/KeyBlock.d.ts | 3 - .../compile/render_ssr/handlers/Slot.d.ts | 5 - .../render_ssr/handlers/SlotTemplate.d.ts | 5 - .../compile/render_ssr/handlers/Tag.d.ts | 2 - .../compile/render_ssr/handlers/Text.d.ts | 3 - .../compile/render_ssr/handlers/Title.d.ts | 3 - .../handlers/shared/boolean_attributes.d.ts | 1 - .../handlers/shared/get_attribute_value.d.ts | 5 - .../handlers/shared/get_const_tags.d.ts | 10 - .../handlers/shared/get_slot_scope.d.ts | 3 - .../utils/remove_whitespace_children.d.ts | 2 - .../compiler/compile/render_ssr/index.d.ts | 7 - .../compiler/compile/utils/__test__.d.ts | 1 - .../compiler/compile/utils/add_to_set.d.ts | 1 - .../compile/utils/check_enable_sourcemap.d.ts | 2 - .../compile/utils/check_graph_for_cycles.d.ts | 1 - .../compiler/compile/utils/compare_node.d.ts | 2 - .../compile/utils/flatten_reference.d.ts | 6 - .../compile/utils/get_name_from_filename.d.ts | 1 - .../compiler/compile/utils/get_object.d.ts | 2 - .../compiler/compile/utils/get_slot_data.d.ts | 15 - .../types/compiler/compile/utils/hash.d.ts | 1 - .../compile/utils/is_used_as_reference.d.ts | 2 - .../utils/nodes_to_template_literal.d.ts | 7 - .../compile/utils/replace_object.d.ts | 2 - .../compile/utils/reserved_keywords.d.ts | 2 - .../types/compiler/compile/utils/scope.d.ts | 8 - .../utils/string_to_member_expression.d.ts | 2 - .../compiler/compile/utils/stringify.d.ts | 9 - .../svelte/types/compiler/config.d.ts | 1 - .../svelte/types/compiler/index.d.ts | 5 - .../svelte/types/compiler/interfaces.d.ts | 186 - .../svelte/types/compiler/parse/acorn.d.ts | 3 - .../svelte/types/compiler/parse/errors.d.ts | 1 - .../svelte/types/compiler/parse/index.d.ts | 38 - .../types/compiler/parse/read/context.d.ts | 6 - .../types/compiler/parse/read/expression.d.ts | 3 - .../types/compiler/parse/read/script.d.ts | 4 - .../types/compiler/parse/read/style.d.ts | 4 - .../types/compiler/parse/state/fragment.d.ts | 3 - .../types/compiler/parse/state/mustache.d.ts | 2 - .../types/compiler/parse/state/tag.d.ts | 2 - .../types/compiler/parse/state/text.d.ts | 2 - .../types/compiler/parse/utils/bracket.d.ts | 4 - .../types/compiler/parse/utils/entities.d.ts | 2034 - .../types/compiler/parse/utils/html.d.ts | 2 - .../types/compiler/parse/utils/node.d.ts | 2 - .../compiler/preprocess/decode_sourcemap.d.ts | 2 - .../types/compiler/preprocess/index.d.ts | 5 - .../compiler/preprocess/replace_in_code.d.ts | 4 - .../types/compiler/preprocess/types.d.ts | 27 - .../svelte/types/compiler/utils/clone.d.ts | 1 - .../svelte/types/compiler/utils/error.d.ts | 8 - .../compiler/utils/extract_svelte_ignore.d.ts | 8 - .../svelte/types/compiler/utils/flatten.d.ts | 2 - .../compiler/utils/full_char_code_at.d.ts | 1 - .../types/compiler/utils/fuzzymatch.d.ts | 1 - .../types/compiler/utils/get_code_frame.d.ts | 1 - .../svelte/types/compiler/utils/link.d.ts | 4 - .../svelte/types/compiler/utils/list.d.ts | 1 - .../types/compiler/utils/mapped_code.d.ts | 23 - .../svelte/types/compiler/utils/names.d.ts | 5 - .../types/compiler/utils/namespaces.d.ts | 9 - .../types/compiler/utils/nodes_match.d.ts | 1 - .../svelte/types/compiler/utils/patterns.d.ts | 4 - .../svelte/types/compiler/utils/trim.d.ts | 2 - .../svelte/types/runtime/ambient.d.ts | 3 - .../svelte/types/runtime/animate/index.d.ts | 16 - .../svelte/types/runtime/easing/index.d.ts | 31 - .../svelte/types/runtime/index.d.ts | 2 - .../types/runtime/internal/Component.d.ts | 54 - .../types/runtime/internal/animations.d.ts | 11 - .../types/runtime/internal/await_block.d.ts | 2 - .../svelte/types/runtime/internal/dev.d.ts | 125 - .../svelte/types/runtime/internal/dom.d.ts | 99 - .../types/runtime/internal/environment.d.ts | 6 - .../types/runtime/internal/globals.d.ts | 1 - .../svelte/types/runtime/internal/index.d.ts | 15 - .../types/runtime/internal/keyed_each.d.ts | 6 - .../types/runtime/internal/lifecycle.d.ts | 13 - .../svelte/types/runtime/internal/loop.d.ts | 15 - .../types/runtime/internal/scheduler.d.ts | 10 - .../svelte/types/runtime/internal/spread.d.ts | 2 - .../svelte/types/runtime/internal/ssr.d.ts | 36 - .../types/runtime/internal/style_manager.d.ts | 3 - .../types/runtime/internal/transitions.d.ts | 20 - .../svelte/types/runtime/internal/utils.d.ts | 31 - .../svelte/types/runtime/motion/index.d.ts | 2 - .../svelte/types/runtime/motion/spring.d.ts | 20 - .../svelte/types/runtime/motion/tweened.d.ts | 14 - .../svelte/types/runtime/motion/utils.d.ts | 1 - .../svelte/types/runtime/ssr.d.ts | 4 - .../svelte/types/runtime/store/index.d.ts | 82 - .../types/runtime/transition/index.d.ts | 66 - 1292 files changed, 2 insertions(+), 122556 deletions(-) delete mode 100644 packages/frontend-core/node_modules/lodash/LICENSE delete mode 100644 packages/frontend-core/node_modules/lodash/README.md delete mode 100644 packages/frontend-core/node_modules/lodash/_DataView.js delete mode 100644 packages/frontend-core/node_modules/lodash/_Hash.js delete mode 100644 packages/frontend-core/node_modules/lodash/_LazyWrapper.js delete mode 100644 packages/frontend-core/node_modules/lodash/_ListCache.js delete mode 100644 packages/frontend-core/node_modules/lodash/_LodashWrapper.js delete mode 100644 packages/frontend-core/node_modules/lodash/_Map.js delete mode 100644 packages/frontend-core/node_modules/lodash/_MapCache.js delete mode 100644 packages/frontend-core/node_modules/lodash/_Promise.js delete mode 100644 packages/frontend-core/node_modules/lodash/_Set.js delete mode 100644 packages/frontend-core/node_modules/lodash/_SetCache.js delete mode 100644 packages/frontend-core/node_modules/lodash/_Stack.js delete mode 100644 packages/frontend-core/node_modules/lodash/_Symbol.js delete mode 100644 packages/frontend-core/node_modules/lodash/_Uint8Array.js delete mode 100644 packages/frontend-core/node_modules/lodash/_WeakMap.js delete mode 100644 packages/frontend-core/node_modules/lodash/_apply.js delete mode 100644 packages/frontend-core/node_modules/lodash/_arrayAggregator.js delete mode 100644 packages/frontend-core/node_modules/lodash/_arrayEach.js delete mode 100644 packages/frontend-core/node_modules/lodash/_arrayEachRight.js delete mode 100644 packages/frontend-core/node_modules/lodash/_arrayEvery.js delete mode 100644 packages/frontend-core/node_modules/lodash/_arrayFilter.js delete mode 100644 packages/frontend-core/node_modules/lodash/_arrayIncludes.js delete mode 100644 packages/frontend-core/node_modules/lodash/_arrayIncludesWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/_arrayLikeKeys.js delete mode 100644 packages/frontend-core/node_modules/lodash/_arrayMap.js delete mode 100644 packages/frontend-core/node_modules/lodash/_arrayPush.js delete mode 100644 packages/frontend-core/node_modules/lodash/_arrayReduce.js delete mode 100644 packages/frontend-core/node_modules/lodash/_arrayReduceRight.js delete mode 100644 packages/frontend-core/node_modules/lodash/_arraySample.js delete mode 100644 packages/frontend-core/node_modules/lodash/_arraySampleSize.js delete mode 100644 packages/frontend-core/node_modules/lodash/_arrayShuffle.js delete mode 100644 packages/frontend-core/node_modules/lodash/_arraySome.js delete mode 100644 packages/frontend-core/node_modules/lodash/_asciiSize.js delete mode 100644 packages/frontend-core/node_modules/lodash/_asciiToArray.js delete mode 100644 packages/frontend-core/node_modules/lodash/_asciiWords.js delete mode 100644 packages/frontend-core/node_modules/lodash/_assignMergeValue.js delete mode 100644 packages/frontend-core/node_modules/lodash/_assignValue.js delete mode 100644 packages/frontend-core/node_modules/lodash/_assocIndexOf.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseAggregator.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseAssign.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseAssignIn.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseAssignValue.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseAt.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseClamp.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseClone.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseConforms.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseConformsTo.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseCreate.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseDelay.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseDifference.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseEach.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseEachRight.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseEvery.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseExtremum.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseFill.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseFilter.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseFindIndex.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseFindKey.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseFlatten.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseFor.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseForOwn.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseForOwnRight.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseForRight.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseFunctions.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseGet.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseGetAllKeys.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseGetTag.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseGt.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseHas.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseHasIn.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseInRange.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseIndexOf.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseIndexOfWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseIntersection.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseInverter.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseInvoke.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseIsArguments.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseIsArrayBuffer.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseIsDate.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseIsEqual.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseIsEqualDeep.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseIsMap.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseIsMatch.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseIsNaN.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseIsNative.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseIsRegExp.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseIsSet.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseIsTypedArray.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseIteratee.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseKeys.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseKeysIn.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseLodash.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseLt.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseMap.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseMatches.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseMatchesProperty.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseMean.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseMerge.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseMergeDeep.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseNth.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseOrderBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/_basePick.js delete mode 100644 packages/frontend-core/node_modules/lodash/_basePickBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseProperty.js delete mode 100644 packages/frontend-core/node_modules/lodash/_basePropertyDeep.js delete mode 100644 packages/frontend-core/node_modules/lodash/_basePropertyOf.js delete mode 100644 packages/frontend-core/node_modules/lodash/_basePullAll.js delete mode 100644 packages/frontend-core/node_modules/lodash/_basePullAt.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseRandom.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseRange.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseReduce.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseRepeat.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseRest.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseSample.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseSampleSize.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseSet.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseSetData.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseSetToString.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseShuffle.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseSlice.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseSome.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseSortBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseSortedIndex.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseSortedIndexBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseSortedUniq.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseSum.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseTimes.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseToNumber.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseToPairs.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseToString.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseTrim.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseUnary.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseUniq.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseUnset.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseUpdate.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseValues.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseWhile.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseWrapperValue.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseXor.js delete mode 100644 packages/frontend-core/node_modules/lodash/_baseZipObject.js delete mode 100644 packages/frontend-core/node_modules/lodash/_cacheHas.js delete mode 100644 packages/frontend-core/node_modules/lodash/_castArrayLikeObject.js delete mode 100644 packages/frontend-core/node_modules/lodash/_castFunction.js delete mode 100644 packages/frontend-core/node_modules/lodash/_castPath.js delete mode 100644 packages/frontend-core/node_modules/lodash/_castRest.js delete mode 100644 packages/frontend-core/node_modules/lodash/_castSlice.js delete mode 100644 packages/frontend-core/node_modules/lodash/_charsEndIndex.js delete mode 100644 packages/frontend-core/node_modules/lodash/_charsStartIndex.js delete mode 100644 packages/frontend-core/node_modules/lodash/_cloneArrayBuffer.js delete mode 100644 packages/frontend-core/node_modules/lodash/_cloneBuffer.js delete mode 100644 packages/frontend-core/node_modules/lodash/_cloneDataView.js delete mode 100644 packages/frontend-core/node_modules/lodash/_cloneRegExp.js delete mode 100644 packages/frontend-core/node_modules/lodash/_cloneSymbol.js delete mode 100644 packages/frontend-core/node_modules/lodash/_cloneTypedArray.js delete mode 100644 packages/frontend-core/node_modules/lodash/_compareAscending.js delete mode 100644 packages/frontend-core/node_modules/lodash/_compareMultiple.js delete mode 100644 packages/frontend-core/node_modules/lodash/_composeArgs.js delete mode 100644 packages/frontend-core/node_modules/lodash/_composeArgsRight.js delete mode 100644 packages/frontend-core/node_modules/lodash/_copyArray.js delete mode 100644 packages/frontend-core/node_modules/lodash/_copyObject.js delete mode 100644 packages/frontend-core/node_modules/lodash/_copySymbols.js delete mode 100644 packages/frontend-core/node_modules/lodash/_copySymbolsIn.js delete mode 100644 packages/frontend-core/node_modules/lodash/_coreJsData.js delete mode 100644 packages/frontend-core/node_modules/lodash/_countHolders.js delete mode 100644 packages/frontend-core/node_modules/lodash/_createAggregator.js delete mode 100644 packages/frontend-core/node_modules/lodash/_createAssigner.js delete mode 100644 packages/frontend-core/node_modules/lodash/_createBaseEach.js delete mode 100644 packages/frontend-core/node_modules/lodash/_createBaseFor.js delete mode 100644 packages/frontend-core/node_modules/lodash/_createBind.js delete mode 100644 packages/frontend-core/node_modules/lodash/_createCaseFirst.js delete mode 100644 packages/frontend-core/node_modules/lodash/_createCompounder.js delete mode 100644 packages/frontend-core/node_modules/lodash/_createCtor.js delete mode 100644 packages/frontend-core/node_modules/lodash/_createCurry.js delete mode 100644 packages/frontend-core/node_modules/lodash/_createFind.js delete mode 100644 packages/frontend-core/node_modules/lodash/_createFlow.js delete mode 100644 packages/frontend-core/node_modules/lodash/_createHybrid.js delete mode 100644 packages/frontend-core/node_modules/lodash/_createInverter.js delete mode 100644 packages/frontend-core/node_modules/lodash/_createMathOperation.js delete mode 100644 packages/frontend-core/node_modules/lodash/_createOver.js delete mode 100644 packages/frontend-core/node_modules/lodash/_createPadding.js delete mode 100644 packages/frontend-core/node_modules/lodash/_createPartial.js delete mode 100644 packages/frontend-core/node_modules/lodash/_createRange.js delete mode 100644 packages/frontend-core/node_modules/lodash/_createRecurry.js delete mode 100644 packages/frontend-core/node_modules/lodash/_createRelationalOperation.js delete mode 100644 packages/frontend-core/node_modules/lodash/_createRound.js delete mode 100644 packages/frontend-core/node_modules/lodash/_createSet.js delete mode 100644 packages/frontend-core/node_modules/lodash/_createToPairs.js delete mode 100644 packages/frontend-core/node_modules/lodash/_createWrap.js delete mode 100644 packages/frontend-core/node_modules/lodash/_customDefaultsAssignIn.js delete mode 100644 packages/frontend-core/node_modules/lodash/_customDefaultsMerge.js delete mode 100644 packages/frontend-core/node_modules/lodash/_customOmitClone.js delete mode 100644 packages/frontend-core/node_modules/lodash/_deburrLetter.js delete mode 100644 packages/frontend-core/node_modules/lodash/_defineProperty.js delete mode 100644 packages/frontend-core/node_modules/lodash/_equalArrays.js delete mode 100644 packages/frontend-core/node_modules/lodash/_equalByTag.js delete mode 100644 packages/frontend-core/node_modules/lodash/_equalObjects.js delete mode 100644 packages/frontend-core/node_modules/lodash/_escapeHtmlChar.js delete mode 100644 packages/frontend-core/node_modules/lodash/_escapeStringChar.js delete mode 100644 packages/frontend-core/node_modules/lodash/_flatRest.js delete mode 100644 packages/frontend-core/node_modules/lodash/_freeGlobal.js delete mode 100644 packages/frontend-core/node_modules/lodash/_getAllKeys.js delete mode 100644 packages/frontend-core/node_modules/lodash/_getAllKeysIn.js delete mode 100644 packages/frontend-core/node_modules/lodash/_getData.js delete mode 100644 packages/frontend-core/node_modules/lodash/_getFuncName.js delete mode 100644 packages/frontend-core/node_modules/lodash/_getHolder.js delete mode 100644 packages/frontend-core/node_modules/lodash/_getMapData.js delete mode 100644 packages/frontend-core/node_modules/lodash/_getMatchData.js delete mode 100644 packages/frontend-core/node_modules/lodash/_getNative.js delete mode 100644 packages/frontend-core/node_modules/lodash/_getPrototype.js delete mode 100644 packages/frontend-core/node_modules/lodash/_getRawTag.js delete mode 100644 packages/frontend-core/node_modules/lodash/_getSymbols.js delete mode 100644 packages/frontend-core/node_modules/lodash/_getSymbolsIn.js delete mode 100644 packages/frontend-core/node_modules/lodash/_getTag.js delete mode 100644 packages/frontend-core/node_modules/lodash/_getValue.js delete mode 100644 packages/frontend-core/node_modules/lodash/_getView.js delete mode 100644 packages/frontend-core/node_modules/lodash/_getWrapDetails.js delete mode 100644 packages/frontend-core/node_modules/lodash/_hasPath.js delete mode 100644 packages/frontend-core/node_modules/lodash/_hasUnicode.js delete mode 100644 packages/frontend-core/node_modules/lodash/_hasUnicodeWord.js delete mode 100644 packages/frontend-core/node_modules/lodash/_hashClear.js delete mode 100644 packages/frontend-core/node_modules/lodash/_hashDelete.js delete mode 100644 packages/frontend-core/node_modules/lodash/_hashGet.js delete mode 100644 packages/frontend-core/node_modules/lodash/_hashHas.js delete mode 100644 packages/frontend-core/node_modules/lodash/_hashSet.js delete mode 100644 packages/frontend-core/node_modules/lodash/_initCloneArray.js delete mode 100644 packages/frontend-core/node_modules/lodash/_initCloneByTag.js delete mode 100644 packages/frontend-core/node_modules/lodash/_initCloneObject.js delete mode 100644 packages/frontend-core/node_modules/lodash/_insertWrapDetails.js delete mode 100644 packages/frontend-core/node_modules/lodash/_isFlattenable.js delete mode 100644 packages/frontend-core/node_modules/lodash/_isIndex.js delete mode 100644 packages/frontend-core/node_modules/lodash/_isIterateeCall.js delete mode 100644 packages/frontend-core/node_modules/lodash/_isKey.js delete mode 100644 packages/frontend-core/node_modules/lodash/_isKeyable.js delete mode 100644 packages/frontend-core/node_modules/lodash/_isLaziable.js delete mode 100644 packages/frontend-core/node_modules/lodash/_isMaskable.js delete mode 100644 packages/frontend-core/node_modules/lodash/_isMasked.js delete mode 100644 packages/frontend-core/node_modules/lodash/_isPrototype.js delete mode 100644 packages/frontend-core/node_modules/lodash/_isStrictComparable.js delete mode 100644 packages/frontend-core/node_modules/lodash/_iteratorToArray.js delete mode 100644 packages/frontend-core/node_modules/lodash/_lazyClone.js delete mode 100644 packages/frontend-core/node_modules/lodash/_lazyReverse.js delete mode 100644 packages/frontend-core/node_modules/lodash/_lazyValue.js delete mode 100644 packages/frontend-core/node_modules/lodash/_listCacheClear.js delete mode 100644 packages/frontend-core/node_modules/lodash/_listCacheDelete.js delete mode 100644 packages/frontend-core/node_modules/lodash/_listCacheGet.js delete mode 100644 packages/frontend-core/node_modules/lodash/_listCacheHas.js delete mode 100644 packages/frontend-core/node_modules/lodash/_listCacheSet.js delete mode 100644 packages/frontend-core/node_modules/lodash/_mapCacheClear.js delete mode 100644 packages/frontend-core/node_modules/lodash/_mapCacheDelete.js delete mode 100644 packages/frontend-core/node_modules/lodash/_mapCacheGet.js delete mode 100644 packages/frontend-core/node_modules/lodash/_mapCacheHas.js delete mode 100644 packages/frontend-core/node_modules/lodash/_mapCacheSet.js delete mode 100644 packages/frontend-core/node_modules/lodash/_mapToArray.js delete mode 100644 packages/frontend-core/node_modules/lodash/_matchesStrictComparable.js delete mode 100644 packages/frontend-core/node_modules/lodash/_memoizeCapped.js delete mode 100644 packages/frontend-core/node_modules/lodash/_mergeData.js delete mode 100644 packages/frontend-core/node_modules/lodash/_metaMap.js delete mode 100644 packages/frontend-core/node_modules/lodash/_nativeCreate.js delete mode 100644 packages/frontend-core/node_modules/lodash/_nativeKeys.js delete mode 100644 packages/frontend-core/node_modules/lodash/_nativeKeysIn.js delete mode 100644 packages/frontend-core/node_modules/lodash/_nodeUtil.js delete mode 100644 packages/frontend-core/node_modules/lodash/_objectToString.js delete mode 100644 packages/frontend-core/node_modules/lodash/_overArg.js delete mode 100644 packages/frontend-core/node_modules/lodash/_overRest.js delete mode 100644 packages/frontend-core/node_modules/lodash/_parent.js delete mode 100644 packages/frontend-core/node_modules/lodash/_reEscape.js delete mode 100644 packages/frontend-core/node_modules/lodash/_reEvaluate.js delete mode 100644 packages/frontend-core/node_modules/lodash/_reInterpolate.js delete mode 100644 packages/frontend-core/node_modules/lodash/_realNames.js delete mode 100644 packages/frontend-core/node_modules/lodash/_reorder.js delete mode 100644 packages/frontend-core/node_modules/lodash/_replaceHolders.js delete mode 100644 packages/frontend-core/node_modules/lodash/_root.js delete mode 100644 packages/frontend-core/node_modules/lodash/_safeGet.js delete mode 100644 packages/frontend-core/node_modules/lodash/_setCacheAdd.js delete mode 100644 packages/frontend-core/node_modules/lodash/_setCacheHas.js delete mode 100644 packages/frontend-core/node_modules/lodash/_setData.js delete mode 100644 packages/frontend-core/node_modules/lodash/_setToArray.js delete mode 100644 packages/frontend-core/node_modules/lodash/_setToPairs.js delete mode 100644 packages/frontend-core/node_modules/lodash/_setToString.js delete mode 100644 packages/frontend-core/node_modules/lodash/_setWrapToString.js delete mode 100644 packages/frontend-core/node_modules/lodash/_shortOut.js delete mode 100644 packages/frontend-core/node_modules/lodash/_shuffleSelf.js delete mode 100644 packages/frontend-core/node_modules/lodash/_stackClear.js delete mode 100644 packages/frontend-core/node_modules/lodash/_stackDelete.js delete mode 100644 packages/frontend-core/node_modules/lodash/_stackGet.js delete mode 100644 packages/frontend-core/node_modules/lodash/_stackHas.js delete mode 100644 packages/frontend-core/node_modules/lodash/_stackSet.js delete mode 100644 packages/frontend-core/node_modules/lodash/_strictIndexOf.js delete mode 100644 packages/frontend-core/node_modules/lodash/_strictLastIndexOf.js delete mode 100644 packages/frontend-core/node_modules/lodash/_stringSize.js delete mode 100644 packages/frontend-core/node_modules/lodash/_stringToArray.js delete mode 100644 packages/frontend-core/node_modules/lodash/_stringToPath.js delete mode 100644 packages/frontend-core/node_modules/lodash/_toKey.js delete mode 100644 packages/frontend-core/node_modules/lodash/_toSource.js delete mode 100644 packages/frontend-core/node_modules/lodash/_trimmedEndIndex.js delete mode 100644 packages/frontend-core/node_modules/lodash/_unescapeHtmlChar.js delete mode 100644 packages/frontend-core/node_modules/lodash/_unicodeSize.js delete mode 100644 packages/frontend-core/node_modules/lodash/_unicodeToArray.js delete mode 100644 packages/frontend-core/node_modules/lodash/_unicodeWords.js delete mode 100644 packages/frontend-core/node_modules/lodash/_updateWrapDetails.js delete mode 100644 packages/frontend-core/node_modules/lodash/_wrapperClone.js delete mode 100644 packages/frontend-core/node_modules/lodash/add.js delete mode 100644 packages/frontend-core/node_modules/lodash/after.js delete mode 100644 packages/frontend-core/node_modules/lodash/array.js delete mode 100644 packages/frontend-core/node_modules/lodash/ary.js delete mode 100644 packages/frontend-core/node_modules/lodash/assign.js delete mode 100644 packages/frontend-core/node_modules/lodash/assignIn.js delete mode 100644 packages/frontend-core/node_modules/lodash/assignInWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/assignWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/at.js delete mode 100644 packages/frontend-core/node_modules/lodash/attempt.js delete mode 100644 packages/frontend-core/node_modules/lodash/before.js delete mode 100644 packages/frontend-core/node_modules/lodash/bind.js delete mode 100644 packages/frontend-core/node_modules/lodash/bindAll.js delete mode 100644 packages/frontend-core/node_modules/lodash/bindKey.js delete mode 100644 packages/frontend-core/node_modules/lodash/camelCase.js delete mode 100644 packages/frontend-core/node_modules/lodash/capitalize.js delete mode 100644 packages/frontend-core/node_modules/lodash/castArray.js delete mode 100644 packages/frontend-core/node_modules/lodash/ceil.js delete mode 100644 packages/frontend-core/node_modules/lodash/chain.js delete mode 100644 packages/frontend-core/node_modules/lodash/chunk.js delete mode 100644 packages/frontend-core/node_modules/lodash/clamp.js delete mode 100644 packages/frontend-core/node_modules/lodash/clone.js delete mode 100644 packages/frontend-core/node_modules/lodash/cloneDeep.js delete mode 100644 packages/frontend-core/node_modules/lodash/cloneDeepWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/cloneWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/collection.js delete mode 100644 packages/frontend-core/node_modules/lodash/commit.js delete mode 100644 packages/frontend-core/node_modules/lodash/compact.js delete mode 100644 packages/frontend-core/node_modules/lodash/concat.js delete mode 100644 packages/frontend-core/node_modules/lodash/cond.js delete mode 100644 packages/frontend-core/node_modules/lodash/conforms.js delete mode 100644 packages/frontend-core/node_modules/lodash/conformsTo.js delete mode 100644 packages/frontend-core/node_modules/lodash/constant.js delete mode 100644 packages/frontend-core/node_modules/lodash/core.js delete mode 100644 packages/frontend-core/node_modules/lodash/core.min.js delete mode 100644 packages/frontend-core/node_modules/lodash/countBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/create.js delete mode 100644 packages/frontend-core/node_modules/lodash/curry.js delete mode 100644 packages/frontend-core/node_modules/lodash/curryRight.js delete mode 100644 packages/frontend-core/node_modules/lodash/date.js delete mode 100644 packages/frontend-core/node_modules/lodash/debounce.js delete mode 100644 packages/frontend-core/node_modules/lodash/deburr.js delete mode 100644 packages/frontend-core/node_modules/lodash/defaultTo.js delete mode 100644 packages/frontend-core/node_modules/lodash/defaults.js delete mode 100644 packages/frontend-core/node_modules/lodash/defaultsDeep.js delete mode 100644 packages/frontend-core/node_modules/lodash/defer.js delete mode 100644 packages/frontend-core/node_modules/lodash/delay.js delete mode 100644 packages/frontend-core/node_modules/lodash/difference.js delete mode 100644 packages/frontend-core/node_modules/lodash/differenceBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/differenceWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/divide.js delete mode 100644 packages/frontend-core/node_modules/lodash/drop.js delete mode 100644 packages/frontend-core/node_modules/lodash/dropRight.js delete mode 100644 packages/frontend-core/node_modules/lodash/dropRightWhile.js delete mode 100644 packages/frontend-core/node_modules/lodash/dropWhile.js delete mode 100644 packages/frontend-core/node_modules/lodash/each.js delete mode 100644 packages/frontend-core/node_modules/lodash/eachRight.js delete mode 100644 packages/frontend-core/node_modules/lodash/endsWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/entries.js delete mode 100644 packages/frontend-core/node_modules/lodash/entriesIn.js delete mode 100644 packages/frontend-core/node_modules/lodash/eq.js delete mode 100644 packages/frontend-core/node_modules/lodash/escape.js delete mode 100644 packages/frontend-core/node_modules/lodash/escapeRegExp.js delete mode 100644 packages/frontend-core/node_modules/lodash/every.js delete mode 100644 packages/frontend-core/node_modules/lodash/extend.js delete mode 100644 packages/frontend-core/node_modules/lodash/extendWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/fill.js delete mode 100644 packages/frontend-core/node_modules/lodash/filter.js delete mode 100644 packages/frontend-core/node_modules/lodash/find.js delete mode 100644 packages/frontend-core/node_modules/lodash/findIndex.js delete mode 100644 packages/frontend-core/node_modules/lodash/findKey.js delete mode 100644 packages/frontend-core/node_modules/lodash/findLast.js delete mode 100644 packages/frontend-core/node_modules/lodash/findLastIndex.js delete mode 100644 packages/frontend-core/node_modules/lodash/findLastKey.js delete mode 100644 packages/frontend-core/node_modules/lodash/first.js delete mode 100644 packages/frontend-core/node_modules/lodash/flake.lock delete mode 100644 packages/frontend-core/node_modules/lodash/flake.nix delete mode 100644 packages/frontend-core/node_modules/lodash/flatMap.js delete mode 100644 packages/frontend-core/node_modules/lodash/flatMapDeep.js delete mode 100644 packages/frontend-core/node_modules/lodash/flatMapDepth.js delete mode 100644 packages/frontend-core/node_modules/lodash/flatten.js delete mode 100644 packages/frontend-core/node_modules/lodash/flattenDeep.js delete mode 100644 packages/frontend-core/node_modules/lodash/flattenDepth.js delete mode 100644 packages/frontend-core/node_modules/lodash/flip.js delete mode 100644 packages/frontend-core/node_modules/lodash/floor.js delete mode 100644 packages/frontend-core/node_modules/lodash/flow.js delete mode 100644 packages/frontend-core/node_modules/lodash/flowRight.js delete mode 100644 packages/frontend-core/node_modules/lodash/forEach.js delete mode 100644 packages/frontend-core/node_modules/lodash/forEachRight.js delete mode 100644 packages/frontend-core/node_modules/lodash/forIn.js delete mode 100644 packages/frontend-core/node_modules/lodash/forInRight.js delete mode 100644 packages/frontend-core/node_modules/lodash/forOwn.js delete mode 100644 packages/frontend-core/node_modules/lodash/forOwnRight.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/F.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/T.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/__.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/_baseConvert.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/_convertBrowser.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/_falseOptions.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/_mapping.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/_util.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/add.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/after.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/all.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/allPass.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/always.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/any.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/anyPass.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/apply.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/array.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/ary.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/assign.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/assignAll.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/assignAllWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/assignIn.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/assignInAll.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/assignInAllWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/assignInWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/assignWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/assoc.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/assocPath.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/at.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/attempt.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/before.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/bind.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/bindAll.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/bindKey.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/camelCase.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/capitalize.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/castArray.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/ceil.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/chain.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/chunk.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/clamp.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/clone.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/cloneDeep.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/cloneDeepWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/cloneWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/collection.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/commit.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/compact.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/complement.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/compose.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/concat.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/cond.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/conforms.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/conformsTo.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/constant.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/contains.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/convert.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/countBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/create.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/curry.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/curryN.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/curryRight.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/curryRightN.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/date.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/debounce.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/deburr.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/defaultTo.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/defaults.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/defaultsAll.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/defaultsDeep.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/defaultsDeepAll.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/defer.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/delay.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/difference.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/differenceBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/differenceWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/dissoc.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/dissocPath.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/divide.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/drop.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/dropLast.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/dropLastWhile.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/dropRight.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/dropRightWhile.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/dropWhile.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/each.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/eachRight.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/endsWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/entries.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/entriesIn.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/eq.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/equals.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/escape.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/escapeRegExp.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/every.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/extend.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/extendAll.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/extendAllWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/extendWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/fill.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/filter.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/find.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/findFrom.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/findIndex.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/findIndexFrom.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/findKey.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/findLast.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/findLastFrom.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/findLastIndex.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/findLastIndexFrom.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/findLastKey.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/first.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/flatMap.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/flatMapDeep.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/flatMapDepth.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/flatten.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/flattenDeep.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/flattenDepth.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/flip.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/floor.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/flow.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/flowRight.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/forEach.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/forEachRight.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/forIn.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/forInRight.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/forOwn.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/forOwnRight.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/fromPairs.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/function.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/functions.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/functionsIn.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/get.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/getOr.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/groupBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/gt.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/gte.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/has.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/hasIn.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/head.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/identical.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/identity.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/inRange.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/includes.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/includesFrom.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/indexBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/indexOf.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/indexOfFrom.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/init.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/initial.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/intersection.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/intersectionBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/intersectionWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/invert.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/invertBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/invertObj.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/invoke.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/invokeArgs.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/invokeArgsMap.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/invokeMap.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/isArguments.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/isArray.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/isArrayBuffer.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/isArrayLike.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/isArrayLikeObject.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/isBoolean.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/isBuffer.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/isDate.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/isElement.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/isEmpty.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/isEqual.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/isEqualWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/isError.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/isFinite.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/isFunction.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/isInteger.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/isLength.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/isMap.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/isMatch.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/isMatchWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/isNaN.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/isNative.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/isNil.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/isNull.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/isNumber.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/isObject.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/isObjectLike.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/isPlainObject.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/isRegExp.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/isSafeInteger.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/isSet.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/isString.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/isSymbol.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/isTypedArray.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/isUndefined.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/isWeakMap.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/isWeakSet.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/iteratee.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/join.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/juxt.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/kebabCase.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/keyBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/keys.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/keysIn.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/lang.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/last.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/lastIndexOf.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/lastIndexOfFrom.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/lowerCase.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/lowerFirst.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/lt.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/lte.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/map.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/mapKeys.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/mapValues.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/matches.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/matchesProperty.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/math.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/max.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/maxBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/mean.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/meanBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/memoize.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/merge.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/mergeAll.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/mergeAllWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/mergeWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/method.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/methodOf.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/min.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/minBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/mixin.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/multiply.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/nAry.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/negate.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/next.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/noop.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/now.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/nth.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/nthArg.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/number.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/object.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/omit.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/omitAll.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/omitBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/once.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/orderBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/over.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/overArgs.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/overEvery.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/overSome.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/pad.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/padChars.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/padCharsEnd.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/padCharsStart.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/padEnd.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/padStart.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/parseInt.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/partial.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/partialRight.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/partition.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/path.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/pathEq.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/pathOr.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/paths.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/pick.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/pickAll.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/pickBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/pipe.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/placeholder.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/plant.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/pluck.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/prop.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/propEq.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/propOr.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/property.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/propertyOf.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/props.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/pull.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/pullAll.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/pullAllBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/pullAllWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/pullAt.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/random.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/range.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/rangeRight.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/rangeStep.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/rangeStepRight.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/rearg.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/reduce.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/reduceRight.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/reject.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/remove.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/repeat.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/replace.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/rest.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/restFrom.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/result.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/reverse.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/round.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/sample.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/sampleSize.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/seq.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/set.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/setWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/shuffle.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/size.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/slice.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/snakeCase.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/some.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/sortBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/sortedIndex.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/sortedIndexBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/sortedIndexOf.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/sortedLastIndex.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/sortedLastIndexBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/sortedLastIndexOf.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/sortedUniq.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/sortedUniqBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/split.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/spread.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/spreadFrom.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/startCase.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/startsWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/string.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/stubArray.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/stubFalse.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/stubObject.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/stubString.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/stubTrue.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/subtract.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/sum.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/sumBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/symmetricDifference.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/symmetricDifferenceBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/symmetricDifferenceWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/tail.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/take.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/takeLast.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/takeLastWhile.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/takeRight.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/takeRightWhile.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/takeWhile.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/tap.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/template.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/templateSettings.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/throttle.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/thru.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/times.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/toArray.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/toFinite.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/toInteger.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/toIterator.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/toJSON.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/toLength.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/toLower.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/toNumber.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/toPairs.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/toPairsIn.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/toPath.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/toPlainObject.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/toSafeInteger.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/toString.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/toUpper.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/transform.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/trim.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/trimChars.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/trimCharsEnd.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/trimCharsStart.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/trimEnd.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/trimStart.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/truncate.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/unapply.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/unary.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/unescape.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/union.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/unionBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/unionWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/uniq.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/uniqBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/uniqWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/uniqueId.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/unnest.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/unset.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/unzip.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/unzipWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/update.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/updateWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/upperCase.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/upperFirst.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/useWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/util.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/value.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/valueOf.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/values.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/valuesIn.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/where.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/whereEq.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/without.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/words.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/wrap.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/wrapperAt.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/wrapperChain.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/wrapperLodash.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/wrapperReverse.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/wrapperValue.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/xor.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/xorBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/xorWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/zip.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/zipAll.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/zipObj.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/zipObject.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/zipObjectDeep.js delete mode 100644 packages/frontend-core/node_modules/lodash/fp/zipWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/fromPairs.js delete mode 100644 packages/frontend-core/node_modules/lodash/function.js delete mode 100644 packages/frontend-core/node_modules/lodash/functions.js delete mode 100644 packages/frontend-core/node_modules/lodash/functionsIn.js delete mode 100644 packages/frontend-core/node_modules/lodash/get.js delete mode 100644 packages/frontend-core/node_modules/lodash/groupBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/gt.js delete mode 100644 packages/frontend-core/node_modules/lodash/gte.js delete mode 100644 packages/frontend-core/node_modules/lodash/has.js delete mode 100644 packages/frontend-core/node_modules/lodash/hasIn.js delete mode 100644 packages/frontend-core/node_modules/lodash/head.js delete mode 100644 packages/frontend-core/node_modules/lodash/identity.js delete mode 100644 packages/frontend-core/node_modules/lodash/inRange.js delete mode 100644 packages/frontend-core/node_modules/lodash/includes.js delete mode 100644 packages/frontend-core/node_modules/lodash/index.js delete mode 100644 packages/frontend-core/node_modules/lodash/indexOf.js delete mode 100644 packages/frontend-core/node_modules/lodash/initial.js delete mode 100644 packages/frontend-core/node_modules/lodash/intersection.js delete mode 100644 packages/frontend-core/node_modules/lodash/intersectionBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/intersectionWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/invert.js delete mode 100644 packages/frontend-core/node_modules/lodash/invertBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/invoke.js delete mode 100644 packages/frontend-core/node_modules/lodash/invokeMap.js delete mode 100644 packages/frontend-core/node_modules/lodash/isArguments.js delete mode 100644 packages/frontend-core/node_modules/lodash/isArray.js delete mode 100644 packages/frontend-core/node_modules/lodash/isArrayBuffer.js delete mode 100644 packages/frontend-core/node_modules/lodash/isArrayLike.js delete mode 100644 packages/frontend-core/node_modules/lodash/isArrayLikeObject.js delete mode 100644 packages/frontend-core/node_modules/lodash/isBoolean.js delete mode 100644 packages/frontend-core/node_modules/lodash/isBuffer.js delete mode 100644 packages/frontend-core/node_modules/lodash/isDate.js delete mode 100644 packages/frontend-core/node_modules/lodash/isElement.js delete mode 100644 packages/frontend-core/node_modules/lodash/isEmpty.js delete mode 100644 packages/frontend-core/node_modules/lodash/isEqual.js delete mode 100644 packages/frontend-core/node_modules/lodash/isEqualWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/isError.js delete mode 100644 packages/frontend-core/node_modules/lodash/isFinite.js delete mode 100644 packages/frontend-core/node_modules/lodash/isFunction.js delete mode 100644 packages/frontend-core/node_modules/lodash/isInteger.js delete mode 100644 packages/frontend-core/node_modules/lodash/isLength.js delete mode 100644 packages/frontend-core/node_modules/lodash/isMap.js delete mode 100644 packages/frontend-core/node_modules/lodash/isMatch.js delete mode 100644 packages/frontend-core/node_modules/lodash/isMatchWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/isNaN.js delete mode 100644 packages/frontend-core/node_modules/lodash/isNative.js delete mode 100644 packages/frontend-core/node_modules/lodash/isNil.js delete mode 100644 packages/frontend-core/node_modules/lodash/isNull.js delete mode 100644 packages/frontend-core/node_modules/lodash/isNumber.js delete mode 100644 packages/frontend-core/node_modules/lodash/isObject.js delete mode 100644 packages/frontend-core/node_modules/lodash/isObjectLike.js delete mode 100644 packages/frontend-core/node_modules/lodash/isPlainObject.js delete mode 100644 packages/frontend-core/node_modules/lodash/isRegExp.js delete mode 100644 packages/frontend-core/node_modules/lodash/isSafeInteger.js delete mode 100644 packages/frontend-core/node_modules/lodash/isSet.js delete mode 100644 packages/frontend-core/node_modules/lodash/isString.js delete mode 100644 packages/frontend-core/node_modules/lodash/isSymbol.js delete mode 100644 packages/frontend-core/node_modules/lodash/isTypedArray.js delete mode 100644 packages/frontend-core/node_modules/lodash/isUndefined.js delete mode 100644 packages/frontend-core/node_modules/lodash/isWeakMap.js delete mode 100644 packages/frontend-core/node_modules/lodash/isWeakSet.js delete mode 100644 packages/frontend-core/node_modules/lodash/iteratee.js delete mode 100644 packages/frontend-core/node_modules/lodash/join.js delete mode 100644 packages/frontend-core/node_modules/lodash/kebabCase.js delete mode 100644 packages/frontend-core/node_modules/lodash/keyBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/keys.js delete mode 100644 packages/frontend-core/node_modules/lodash/keysIn.js delete mode 100644 packages/frontend-core/node_modules/lodash/lang.js delete mode 100644 packages/frontend-core/node_modules/lodash/last.js delete mode 100644 packages/frontend-core/node_modules/lodash/lastIndexOf.js delete mode 100644 packages/frontend-core/node_modules/lodash/lodash.js delete mode 100644 packages/frontend-core/node_modules/lodash/lodash.min.js delete mode 100644 packages/frontend-core/node_modules/lodash/lowerCase.js delete mode 100644 packages/frontend-core/node_modules/lodash/lowerFirst.js delete mode 100644 packages/frontend-core/node_modules/lodash/lt.js delete mode 100644 packages/frontend-core/node_modules/lodash/lte.js delete mode 100644 packages/frontend-core/node_modules/lodash/map.js delete mode 100644 packages/frontend-core/node_modules/lodash/mapKeys.js delete mode 100644 packages/frontend-core/node_modules/lodash/mapValues.js delete mode 100644 packages/frontend-core/node_modules/lodash/matches.js delete mode 100644 packages/frontend-core/node_modules/lodash/matchesProperty.js delete mode 100644 packages/frontend-core/node_modules/lodash/math.js delete mode 100644 packages/frontend-core/node_modules/lodash/max.js delete mode 100644 packages/frontend-core/node_modules/lodash/maxBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/mean.js delete mode 100644 packages/frontend-core/node_modules/lodash/meanBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/memoize.js delete mode 100644 packages/frontend-core/node_modules/lodash/merge.js delete mode 100644 packages/frontend-core/node_modules/lodash/mergeWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/method.js delete mode 100644 packages/frontend-core/node_modules/lodash/methodOf.js delete mode 100644 packages/frontend-core/node_modules/lodash/min.js delete mode 100644 packages/frontend-core/node_modules/lodash/minBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/mixin.js delete mode 100644 packages/frontend-core/node_modules/lodash/multiply.js delete mode 100644 packages/frontend-core/node_modules/lodash/negate.js delete mode 100644 packages/frontend-core/node_modules/lodash/next.js delete mode 100644 packages/frontend-core/node_modules/lodash/noop.js delete mode 100644 packages/frontend-core/node_modules/lodash/now.js delete mode 100644 packages/frontend-core/node_modules/lodash/nth.js delete mode 100644 packages/frontend-core/node_modules/lodash/nthArg.js delete mode 100644 packages/frontend-core/node_modules/lodash/number.js delete mode 100644 packages/frontend-core/node_modules/lodash/object.js delete mode 100644 packages/frontend-core/node_modules/lodash/omit.js delete mode 100644 packages/frontend-core/node_modules/lodash/omitBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/once.js delete mode 100644 packages/frontend-core/node_modules/lodash/orderBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/over.js delete mode 100644 packages/frontend-core/node_modules/lodash/overArgs.js delete mode 100644 packages/frontend-core/node_modules/lodash/overEvery.js delete mode 100644 packages/frontend-core/node_modules/lodash/overSome.js delete mode 100644 packages/frontend-core/node_modules/lodash/package.json delete mode 100644 packages/frontend-core/node_modules/lodash/pad.js delete mode 100644 packages/frontend-core/node_modules/lodash/padEnd.js delete mode 100644 packages/frontend-core/node_modules/lodash/padStart.js delete mode 100644 packages/frontend-core/node_modules/lodash/parseInt.js delete mode 100644 packages/frontend-core/node_modules/lodash/partial.js delete mode 100644 packages/frontend-core/node_modules/lodash/partialRight.js delete mode 100644 packages/frontend-core/node_modules/lodash/partition.js delete mode 100644 packages/frontend-core/node_modules/lodash/pick.js delete mode 100644 packages/frontend-core/node_modules/lodash/pickBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/plant.js delete mode 100644 packages/frontend-core/node_modules/lodash/property.js delete mode 100644 packages/frontend-core/node_modules/lodash/propertyOf.js delete mode 100644 packages/frontend-core/node_modules/lodash/pull.js delete mode 100644 packages/frontend-core/node_modules/lodash/pullAll.js delete mode 100644 packages/frontend-core/node_modules/lodash/pullAllBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/pullAllWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/pullAt.js delete mode 100644 packages/frontend-core/node_modules/lodash/random.js delete mode 100644 packages/frontend-core/node_modules/lodash/range.js delete mode 100644 packages/frontend-core/node_modules/lodash/rangeRight.js delete mode 100644 packages/frontend-core/node_modules/lodash/rearg.js delete mode 100644 packages/frontend-core/node_modules/lodash/reduce.js delete mode 100644 packages/frontend-core/node_modules/lodash/reduceRight.js delete mode 100644 packages/frontend-core/node_modules/lodash/reject.js delete mode 100644 packages/frontend-core/node_modules/lodash/release.md delete mode 100644 packages/frontend-core/node_modules/lodash/remove.js delete mode 100644 packages/frontend-core/node_modules/lodash/repeat.js delete mode 100644 packages/frontend-core/node_modules/lodash/replace.js delete mode 100644 packages/frontend-core/node_modules/lodash/rest.js delete mode 100644 packages/frontend-core/node_modules/lodash/result.js delete mode 100644 packages/frontend-core/node_modules/lodash/reverse.js delete mode 100644 packages/frontend-core/node_modules/lodash/round.js delete mode 100644 packages/frontend-core/node_modules/lodash/sample.js delete mode 100644 packages/frontend-core/node_modules/lodash/sampleSize.js delete mode 100644 packages/frontend-core/node_modules/lodash/seq.js delete mode 100644 packages/frontend-core/node_modules/lodash/set.js delete mode 100644 packages/frontend-core/node_modules/lodash/setWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/shuffle.js delete mode 100644 packages/frontend-core/node_modules/lodash/size.js delete mode 100644 packages/frontend-core/node_modules/lodash/slice.js delete mode 100644 packages/frontend-core/node_modules/lodash/snakeCase.js delete mode 100644 packages/frontend-core/node_modules/lodash/some.js delete mode 100644 packages/frontend-core/node_modules/lodash/sortBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/sortedIndex.js delete mode 100644 packages/frontend-core/node_modules/lodash/sortedIndexBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/sortedIndexOf.js delete mode 100644 packages/frontend-core/node_modules/lodash/sortedLastIndex.js delete mode 100644 packages/frontend-core/node_modules/lodash/sortedLastIndexBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/sortedLastIndexOf.js delete mode 100644 packages/frontend-core/node_modules/lodash/sortedUniq.js delete mode 100644 packages/frontend-core/node_modules/lodash/sortedUniqBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/split.js delete mode 100644 packages/frontend-core/node_modules/lodash/spread.js delete mode 100644 packages/frontend-core/node_modules/lodash/startCase.js delete mode 100644 packages/frontend-core/node_modules/lodash/startsWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/string.js delete mode 100644 packages/frontend-core/node_modules/lodash/stubArray.js delete mode 100644 packages/frontend-core/node_modules/lodash/stubFalse.js delete mode 100644 packages/frontend-core/node_modules/lodash/stubObject.js delete mode 100644 packages/frontend-core/node_modules/lodash/stubString.js delete mode 100644 packages/frontend-core/node_modules/lodash/stubTrue.js delete mode 100644 packages/frontend-core/node_modules/lodash/subtract.js delete mode 100644 packages/frontend-core/node_modules/lodash/sum.js delete mode 100644 packages/frontend-core/node_modules/lodash/sumBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/tail.js delete mode 100644 packages/frontend-core/node_modules/lodash/take.js delete mode 100644 packages/frontend-core/node_modules/lodash/takeRight.js delete mode 100644 packages/frontend-core/node_modules/lodash/takeRightWhile.js delete mode 100644 packages/frontend-core/node_modules/lodash/takeWhile.js delete mode 100644 packages/frontend-core/node_modules/lodash/tap.js delete mode 100644 packages/frontend-core/node_modules/lodash/template.js delete mode 100644 packages/frontend-core/node_modules/lodash/templateSettings.js delete mode 100644 packages/frontend-core/node_modules/lodash/throttle.js delete mode 100644 packages/frontend-core/node_modules/lodash/thru.js delete mode 100644 packages/frontend-core/node_modules/lodash/times.js delete mode 100644 packages/frontend-core/node_modules/lodash/toArray.js delete mode 100644 packages/frontend-core/node_modules/lodash/toFinite.js delete mode 100644 packages/frontend-core/node_modules/lodash/toInteger.js delete mode 100644 packages/frontend-core/node_modules/lodash/toIterator.js delete mode 100644 packages/frontend-core/node_modules/lodash/toJSON.js delete mode 100644 packages/frontend-core/node_modules/lodash/toLength.js delete mode 100644 packages/frontend-core/node_modules/lodash/toLower.js delete mode 100644 packages/frontend-core/node_modules/lodash/toNumber.js delete mode 100644 packages/frontend-core/node_modules/lodash/toPairs.js delete mode 100644 packages/frontend-core/node_modules/lodash/toPairsIn.js delete mode 100644 packages/frontend-core/node_modules/lodash/toPath.js delete mode 100644 packages/frontend-core/node_modules/lodash/toPlainObject.js delete mode 100644 packages/frontend-core/node_modules/lodash/toSafeInteger.js delete mode 100644 packages/frontend-core/node_modules/lodash/toString.js delete mode 100644 packages/frontend-core/node_modules/lodash/toUpper.js delete mode 100644 packages/frontend-core/node_modules/lodash/transform.js delete mode 100644 packages/frontend-core/node_modules/lodash/trim.js delete mode 100644 packages/frontend-core/node_modules/lodash/trimEnd.js delete mode 100644 packages/frontend-core/node_modules/lodash/trimStart.js delete mode 100644 packages/frontend-core/node_modules/lodash/truncate.js delete mode 100644 packages/frontend-core/node_modules/lodash/unary.js delete mode 100644 packages/frontend-core/node_modules/lodash/unescape.js delete mode 100644 packages/frontend-core/node_modules/lodash/union.js delete mode 100644 packages/frontend-core/node_modules/lodash/unionBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/unionWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/uniq.js delete mode 100644 packages/frontend-core/node_modules/lodash/uniqBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/uniqWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/uniqueId.js delete mode 100644 packages/frontend-core/node_modules/lodash/unset.js delete mode 100644 packages/frontend-core/node_modules/lodash/unzip.js delete mode 100644 packages/frontend-core/node_modules/lodash/unzipWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/update.js delete mode 100644 packages/frontend-core/node_modules/lodash/updateWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/upperCase.js delete mode 100644 packages/frontend-core/node_modules/lodash/upperFirst.js delete mode 100644 packages/frontend-core/node_modules/lodash/util.js delete mode 100644 packages/frontend-core/node_modules/lodash/value.js delete mode 100644 packages/frontend-core/node_modules/lodash/valueOf.js delete mode 100644 packages/frontend-core/node_modules/lodash/values.js delete mode 100644 packages/frontend-core/node_modules/lodash/valuesIn.js delete mode 100644 packages/frontend-core/node_modules/lodash/without.js delete mode 100644 packages/frontend-core/node_modules/lodash/words.js delete mode 100644 packages/frontend-core/node_modules/lodash/wrap.js delete mode 100644 packages/frontend-core/node_modules/lodash/wrapperAt.js delete mode 100644 packages/frontend-core/node_modules/lodash/wrapperChain.js delete mode 100644 packages/frontend-core/node_modules/lodash/wrapperLodash.js delete mode 100644 packages/frontend-core/node_modules/lodash/wrapperReverse.js delete mode 100644 packages/frontend-core/node_modules/lodash/wrapperValue.js delete mode 100644 packages/frontend-core/node_modules/lodash/xor.js delete mode 100644 packages/frontend-core/node_modules/lodash/xorBy.js delete mode 100644 packages/frontend-core/node_modules/lodash/xorWith.js delete mode 100644 packages/frontend-core/node_modules/lodash/zip.js delete mode 100644 packages/frontend-core/node_modules/lodash/zipObject.js delete mode 100644 packages/frontend-core/node_modules/lodash/zipObjectDeep.js delete mode 100644 packages/frontend-core/node_modules/lodash/zipWith.js delete mode 100644 packages/frontend-core/node_modules/svelte/CHANGELOG.md delete mode 100644 packages/frontend-core/node_modules/svelte/LICENSE.md delete mode 100644 packages/frontend-core/node_modules/svelte/README.md delete mode 100644 packages/frontend-core/node_modules/svelte/animate/index.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/animate/index.js delete mode 100644 packages/frontend-core/node_modules/svelte/animate/index.mjs delete mode 100644 packages/frontend-core/node_modules/svelte/animate/package.json delete mode 100644 packages/frontend-core/node_modules/svelte/compiler.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/compiler.js delete mode 100644 packages/frontend-core/node_modules/svelte/compiler.js.map delete mode 100644 packages/frontend-core/node_modules/svelte/compiler.mjs delete mode 100644 packages/frontend-core/node_modules/svelte/compiler.mjs.map delete mode 100644 packages/frontend-core/node_modules/svelte/easing/index.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/easing/index.js delete mode 100644 packages/frontend-core/node_modules/svelte/easing/index.mjs delete mode 100644 packages/frontend-core/node_modules/svelte/easing/package.json delete mode 100644 packages/frontend-core/node_modules/svelte/index.js delete mode 100644 packages/frontend-core/node_modules/svelte/index.mjs delete mode 100644 packages/frontend-core/node_modules/svelte/internal/index.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/internal/index.js delete mode 100644 packages/frontend-core/node_modules/svelte/internal/index.mjs delete mode 100644 packages/frontend-core/node_modules/svelte/internal/package.json delete mode 100644 packages/frontend-core/node_modules/svelte/motion/index.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/motion/index.js delete mode 100644 packages/frontend-core/node_modules/svelte/motion/index.mjs delete mode 100644 packages/frontend-core/node_modules/svelte/motion/package.json delete mode 100644 packages/frontend-core/node_modules/svelte/package.json delete mode 100644 packages/frontend-core/node_modules/svelte/register.js delete mode 100644 packages/frontend-core/node_modules/svelte/ssr.js delete mode 100644 packages/frontend-core/node_modules/svelte/ssr.mjs delete mode 100644 packages/frontend-core/node_modules/svelte/store/index.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/store/index.js delete mode 100644 packages/frontend-core/node_modules/svelte/store/index.mjs delete mode 100644 packages/frontend-core/node_modules/svelte/store/package.json delete mode 100644 packages/frontend-core/node_modules/svelte/transition/index.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/transition/index.js delete mode 100644 packages/frontend-core/node_modules/svelte/transition/index.mjs delete mode 100644 packages/frontend-core/node_modules/svelte/transition/package.json delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/Stats.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/Component.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/compiler_errors.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/compiler_warnings.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/create_module.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/css/Selector.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/css/Stylesheet.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/css/gather_possible_values.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/css/interfaces.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/index.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/internal_exports.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Action.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Animation.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Attribute.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/AwaitBlock.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Binding.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Body.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/CatchBlock.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Class.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Comment.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/ConstTag.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/DebugTag.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/DefaultSlotTemplate.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/EachBlock.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Element.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/ElseBlock.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/EventHandler.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Fragment.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Head.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/IfBlock.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/InlineComponent.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/KeyBlock.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Let.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/MustacheTag.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Options.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/PendingBlock.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/RawMustacheTag.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Slot.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/SlotTemplate.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Style.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/StyleDirective.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Text.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/ThenBlock.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Title.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Transition.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Window.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/interfaces.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/shared/AbstractBlock.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/shared/Context.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/shared/Expression.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/shared/Node.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/shared/Tag.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/shared/TemplateScope.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/shared/get_const_tags.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/shared/is_contextual.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/shared/map_children.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/Block.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/Renderer.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/index.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/invalidate.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/AwaitBlock.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Body.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/DebugTag.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/EachBlock.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Element/Attribute.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Element/Binding.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Element/EventHandler.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Element/SpreadAttribute.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Element/StyleAttribute.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Element/fix_attribute_casing.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Element/handle_select_value_binding.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Element/index.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Fragment.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Head.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/IfBlock.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/InlineComponent/index.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/KeyBlock.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/MustacheTag.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/RawMustacheTag.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Slot.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/SlotTemplate.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Text.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Title.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Window.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/Tag.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/Wrapper.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/add_actions.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/add_const_tags.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/add_event_handlers.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/bind_this.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/create_debugging_comment.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/get_slot_definition.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/is_dynamic.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/is_head.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/mark_each_block_bindings.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/Renderer.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/AwaitBlock.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/Comment.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/DebugTag.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/EachBlock.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/Element.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/Head.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/HtmlTag.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/IfBlock.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/InlineComponent.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/KeyBlock.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/Slot.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/SlotTemplate.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/Tag.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/Text.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/Title.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/shared/boolean_attributes.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/shared/get_attribute_value.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/shared/get_const_tags.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/shared/get_slot_scope.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/utils/remove_whitespace_children.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/index.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/__test__.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/add_to_set.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/check_enable_sourcemap.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/check_graph_for_cycles.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/compare_node.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/flatten_reference.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/get_name_from_filename.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/get_object.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/get_slot_data.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/hash.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/is_used_as_reference.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/nodes_to_template_literal.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/replace_object.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/reserved_keywords.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/scope.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/string_to_member_expression.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/stringify.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/config.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/index.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/interfaces.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/parse/acorn.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/parse/errors.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/parse/index.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/parse/read/context.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/parse/read/expression.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/parse/read/script.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/parse/read/style.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/parse/state/fragment.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/parse/state/mustache.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/parse/state/tag.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/parse/state/text.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/parse/utils/bracket.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/parse/utils/entities.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/parse/utils/html.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/parse/utils/node.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/preprocess/decode_sourcemap.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/preprocess/index.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/preprocess/replace_in_code.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/preprocess/types.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/utils/clone.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/utils/error.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/utils/extract_svelte_ignore.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/utils/flatten.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/utils/full_char_code_at.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/utils/fuzzymatch.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/utils/get_code_frame.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/utils/link.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/utils/list.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/utils/mapped_code.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/utils/names.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/utils/namespaces.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/utils/nodes_match.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/utils/patterns.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/compiler/utils/trim.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/ambient.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/animate/index.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/easing/index.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/index.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/internal/Component.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/internal/animations.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/internal/await_block.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/internal/dev.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/internal/dom.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/internal/environment.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/internal/globals.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/internal/index.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/internal/keyed_each.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/internal/lifecycle.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/internal/loop.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/internal/scheduler.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/internal/spread.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/internal/ssr.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/internal/style_manager.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/internal/transitions.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/internal/utils.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/motion/index.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/motion/spring.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/motion/tweened.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/motion/utils.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/ssr.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/store/index.d.ts delete mode 100644 packages/frontend-core/node_modules/svelte/types/runtime/transition/index.d.ts diff --git a/packages/builder/src/components/backend/DataTable/Table.svelte b/packages/builder/src/components/backend/DataTable/Table.svelte index ab94080959..0333bad611 100644 --- a/packages/builder/src/components/backend/DataTable/Table.svelte +++ b/packages/builder/src/components/backend/DataTable/Table.svelte @@ -2,7 +2,7 @@ import { fade } from "svelte/transition" import { goto, params } from "@roxi/routify" import { Table, Modal, Heading, notifications, Layout } from "@budibase/bbui" - import { API } "api" + import { API } from "api" import Spinner from "components/common/Spinner.svelte" import DeleteRowsButton from "./buttons/DeleteRowsButton.svelte" import CreateEditRow from "./modals/CreateEditRow.svelte" @@ -91,7 +91,7 @@ try { await API.deleteRows({ tableId, - rows: selectedRows + rows: selectedRows, }) data = data.filter(row => !selectedRows.includes(row)) notifications.success(`Successfully deleted ${selectedRows.length} rows`) diff --git a/packages/frontend-core/node_modules/lodash/LICENSE b/packages/frontend-core/node_modules/lodash/LICENSE deleted file mode 100644 index 77c42f1408..0000000000 --- a/packages/frontend-core/node_modules/lodash/LICENSE +++ /dev/null @@ -1,47 +0,0 @@ -Copyright OpenJS Foundation and other contributors - -Based on Underscore.js, copyright Jeremy Ashkenas, -DocumentCloud and Investigative Reporters & Editors - -This software consists of voluntary contributions made by many -individuals. For exact contribution history, see the revision history -available at https://github.com/lodash/lodash - -The following license applies to all parts of this software except as -documented below: - -==== - -Permission is hereby granted, free of charge, to any person obtaining -a copy of this software and associated documentation files (the -"Software"), to deal in the Software without restriction, including -without limitation the rights to use, copy, modify, merge, publish, -distribute, sublicense, and/or sell copies of the Software, and to -permit persons to whom the Software is furnished to do so, subject to -the following conditions: - -The above copyright notice and this permission notice shall be -included in all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, -EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF -MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND -NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE -LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION -OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION -WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -==== - -Copyright and related rights for sample code are waived via CC0. Sample -code is defined as all source code displayed within the prose of the -documentation. - -CC0: http://creativecommons.org/publicdomain/zero/1.0/ - -==== - -Files located in the node_modules and vendor directories are externally -maintained libraries used by this software which have their own -licenses; we recommend you read them, as their terms may differ from the -terms above. diff --git a/packages/frontend-core/node_modules/lodash/README.md b/packages/frontend-core/node_modules/lodash/README.md deleted file mode 100644 index 3ab1a05ce7..0000000000 --- a/packages/frontend-core/node_modules/lodash/README.md +++ /dev/null @@ -1,39 +0,0 @@ -# lodash v4.17.21 - -The [Lodash](https://lodash.com/) library exported as [Node.js](https://nodejs.org/) modules. - -## Installation - -Using npm: -```shell -$ npm i -g npm -$ npm i --save lodash -``` - -In Node.js: -```js -// Load the full build. -var _ = require('lodash'); -// Load the core build. -var _ = require('lodash/core'); -// Load the FP build for immutable auto-curried iteratee-first data-last methods. -var fp = require('lodash/fp'); - -// Load method categories. -var array = require('lodash/array'); -var object = require('lodash/fp/object'); - -// Cherry-pick methods for smaller browserify/rollup/webpack bundles. -var at = require('lodash/at'); -var curryN = require('lodash/fp/curryN'); -``` - -See the [package source](https://github.com/lodash/lodash/tree/4.17.21-npm) for more details. - -**Note:**
-Install [n_](https://www.npmjs.com/package/n_) for Lodash use in the Node.js < 6 REPL. - -## Support - -Tested in Chrome 74-75, Firefox 66-67, IE 11, Edge 18, Safari 11-12, & Node.js 8-12.
-Automated [browser](https://saucelabs.com/u/lodash) & [CI](https://travis-ci.org/lodash/lodash/) test runs are available. diff --git a/packages/frontend-core/node_modules/lodash/_DataView.js b/packages/frontend-core/node_modules/lodash/_DataView.js deleted file mode 100644 index ac2d57ca67..0000000000 --- a/packages/frontend-core/node_modules/lodash/_DataView.js +++ /dev/null @@ -1,7 +0,0 @@ -var getNative = require('./_getNative'), - root = require('./_root'); - -/* Built-in method references that are verified to be native. */ -var DataView = getNative(root, 'DataView'); - -module.exports = DataView; diff --git a/packages/frontend-core/node_modules/lodash/_Hash.js b/packages/frontend-core/node_modules/lodash/_Hash.js deleted file mode 100644 index b504fe3407..0000000000 --- a/packages/frontend-core/node_modules/lodash/_Hash.js +++ /dev/null @@ -1,32 +0,0 @@ -var hashClear = require('./_hashClear'), - hashDelete = require('./_hashDelete'), - hashGet = require('./_hashGet'), - hashHas = require('./_hashHas'), - hashSet = require('./_hashSet'); - -/** - * Creates a hash object. - * - * @private - * @constructor - * @param {Array} [entries] The key-value pairs to cache. - */ -function Hash(entries) { - var index = -1, - length = entries == null ? 0 : entries.length; - - this.clear(); - while (++index < length) { - var entry = entries[index]; - this.set(entry[0], entry[1]); - } -} - -// Add methods to `Hash`. -Hash.prototype.clear = hashClear; -Hash.prototype['delete'] = hashDelete; -Hash.prototype.get = hashGet; -Hash.prototype.has = hashHas; -Hash.prototype.set = hashSet; - -module.exports = Hash; diff --git a/packages/frontend-core/node_modules/lodash/_LazyWrapper.js b/packages/frontend-core/node_modules/lodash/_LazyWrapper.js deleted file mode 100644 index 81786c7f1e..0000000000 --- a/packages/frontend-core/node_modules/lodash/_LazyWrapper.js +++ /dev/null @@ -1,28 +0,0 @@ -var baseCreate = require('./_baseCreate'), - baseLodash = require('./_baseLodash'); - -/** Used as references for the maximum length and index of an array. */ -var MAX_ARRAY_LENGTH = 4294967295; - -/** - * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation. - * - * @private - * @constructor - * @param {*} value The value to wrap. - */ -function LazyWrapper(value) { - this.__wrapped__ = value; - this.__actions__ = []; - this.__dir__ = 1; - this.__filtered__ = false; - this.__iteratees__ = []; - this.__takeCount__ = MAX_ARRAY_LENGTH; - this.__views__ = []; -} - -// Ensure `LazyWrapper` is an instance of `baseLodash`. -LazyWrapper.prototype = baseCreate(baseLodash.prototype); -LazyWrapper.prototype.constructor = LazyWrapper; - -module.exports = LazyWrapper; diff --git a/packages/frontend-core/node_modules/lodash/_ListCache.js b/packages/frontend-core/node_modules/lodash/_ListCache.js deleted file mode 100644 index 26895c3a8d..0000000000 --- a/packages/frontend-core/node_modules/lodash/_ListCache.js +++ /dev/null @@ -1,32 +0,0 @@ -var listCacheClear = require('./_listCacheClear'), - listCacheDelete = require('./_listCacheDelete'), - listCacheGet = require('./_listCacheGet'), - listCacheHas = require('./_listCacheHas'), - listCacheSet = require('./_listCacheSet'); - -/** - * Creates an list cache object. - * - * @private - * @constructor - * @param {Array} [entries] The key-value pairs to cache. - */ -function ListCache(entries) { - var index = -1, - length = entries == null ? 0 : entries.length; - - this.clear(); - while (++index < length) { - var entry = entries[index]; - this.set(entry[0], entry[1]); - } -} - -// Add methods to `ListCache`. -ListCache.prototype.clear = listCacheClear; -ListCache.prototype['delete'] = listCacheDelete; -ListCache.prototype.get = listCacheGet; -ListCache.prototype.has = listCacheHas; -ListCache.prototype.set = listCacheSet; - -module.exports = ListCache; diff --git a/packages/frontend-core/node_modules/lodash/_LodashWrapper.js b/packages/frontend-core/node_modules/lodash/_LodashWrapper.js deleted file mode 100644 index c1e4d9df76..0000000000 --- a/packages/frontend-core/node_modules/lodash/_LodashWrapper.js +++ /dev/null @@ -1,22 +0,0 @@ -var baseCreate = require('./_baseCreate'), - baseLodash = require('./_baseLodash'); - -/** - * The base constructor for creating `lodash` wrapper objects. - * - * @private - * @param {*} value The value to wrap. - * @param {boolean} [chainAll] Enable explicit method chain sequences. - */ -function LodashWrapper(value, chainAll) { - this.__wrapped__ = value; - this.__actions__ = []; - this.__chain__ = !!chainAll; - this.__index__ = 0; - this.__values__ = undefined; -} - -LodashWrapper.prototype = baseCreate(baseLodash.prototype); -LodashWrapper.prototype.constructor = LodashWrapper; - -module.exports = LodashWrapper; diff --git a/packages/frontend-core/node_modules/lodash/_Map.js b/packages/frontend-core/node_modules/lodash/_Map.js deleted file mode 100644 index b73f29a0f9..0000000000 --- a/packages/frontend-core/node_modules/lodash/_Map.js +++ /dev/null @@ -1,7 +0,0 @@ -var getNative = require('./_getNative'), - root = require('./_root'); - -/* Built-in method references that are verified to be native. */ -var Map = getNative(root, 'Map'); - -module.exports = Map; diff --git a/packages/frontend-core/node_modules/lodash/_MapCache.js b/packages/frontend-core/node_modules/lodash/_MapCache.js deleted file mode 100644 index 4a4eea7bf9..0000000000 --- a/packages/frontend-core/node_modules/lodash/_MapCache.js +++ /dev/null @@ -1,32 +0,0 @@ -var mapCacheClear = require('./_mapCacheClear'), - mapCacheDelete = require('./_mapCacheDelete'), - mapCacheGet = require('./_mapCacheGet'), - mapCacheHas = require('./_mapCacheHas'), - mapCacheSet = require('./_mapCacheSet'); - -/** - * Creates a map cache object to store key-value pairs. - * - * @private - * @constructor - * @param {Array} [entries] The key-value pairs to cache. - */ -function MapCache(entries) { - var index = -1, - length = entries == null ? 0 : entries.length; - - this.clear(); - while (++index < length) { - var entry = entries[index]; - this.set(entry[0], entry[1]); - } -} - -// Add methods to `MapCache`. -MapCache.prototype.clear = mapCacheClear; -MapCache.prototype['delete'] = mapCacheDelete; -MapCache.prototype.get = mapCacheGet; -MapCache.prototype.has = mapCacheHas; -MapCache.prototype.set = mapCacheSet; - -module.exports = MapCache; diff --git a/packages/frontend-core/node_modules/lodash/_Promise.js b/packages/frontend-core/node_modules/lodash/_Promise.js deleted file mode 100644 index 247b9e1bac..0000000000 --- a/packages/frontend-core/node_modules/lodash/_Promise.js +++ /dev/null @@ -1,7 +0,0 @@ -var getNative = require('./_getNative'), - root = require('./_root'); - -/* Built-in method references that are verified to be native. */ -var Promise = getNative(root, 'Promise'); - -module.exports = Promise; diff --git a/packages/frontend-core/node_modules/lodash/_Set.js b/packages/frontend-core/node_modules/lodash/_Set.js deleted file mode 100644 index b3c8dcbf03..0000000000 --- a/packages/frontend-core/node_modules/lodash/_Set.js +++ /dev/null @@ -1,7 +0,0 @@ -var getNative = require('./_getNative'), - root = require('./_root'); - -/* Built-in method references that are verified to be native. */ -var Set = getNative(root, 'Set'); - -module.exports = Set; diff --git a/packages/frontend-core/node_modules/lodash/_SetCache.js b/packages/frontend-core/node_modules/lodash/_SetCache.js deleted file mode 100644 index 6468b0647f..0000000000 --- a/packages/frontend-core/node_modules/lodash/_SetCache.js +++ /dev/null @@ -1,27 +0,0 @@ -var MapCache = require('./_MapCache'), - setCacheAdd = require('./_setCacheAdd'), - setCacheHas = require('./_setCacheHas'); - -/** - * - * Creates an array cache object to store unique values. - * - * @private - * @constructor - * @param {Array} [values] The values to cache. - */ -function SetCache(values) { - var index = -1, - length = values == null ? 0 : values.length; - - this.__data__ = new MapCache; - while (++index < length) { - this.add(values[index]); - } -} - -// Add methods to `SetCache`. -SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; -SetCache.prototype.has = setCacheHas; - -module.exports = SetCache; diff --git a/packages/frontend-core/node_modules/lodash/_Stack.js b/packages/frontend-core/node_modules/lodash/_Stack.js deleted file mode 100644 index 80b2cf1b0c..0000000000 --- a/packages/frontend-core/node_modules/lodash/_Stack.js +++ /dev/null @@ -1,27 +0,0 @@ -var ListCache = require('./_ListCache'), - stackClear = require('./_stackClear'), - stackDelete = require('./_stackDelete'), - stackGet = require('./_stackGet'), - stackHas = require('./_stackHas'), - stackSet = require('./_stackSet'); - -/** - * Creates a stack cache object to store key-value pairs. - * - * @private - * @constructor - * @param {Array} [entries] The key-value pairs to cache. - */ -function Stack(entries) { - var data = this.__data__ = new ListCache(entries); - this.size = data.size; -} - -// Add methods to `Stack`. -Stack.prototype.clear = stackClear; -Stack.prototype['delete'] = stackDelete; -Stack.prototype.get = stackGet; -Stack.prototype.has = stackHas; -Stack.prototype.set = stackSet; - -module.exports = Stack; diff --git a/packages/frontend-core/node_modules/lodash/_Symbol.js b/packages/frontend-core/node_modules/lodash/_Symbol.js deleted file mode 100644 index a013f7c5b7..0000000000 --- a/packages/frontend-core/node_modules/lodash/_Symbol.js +++ /dev/null @@ -1,6 +0,0 @@ -var root = require('./_root'); - -/** Built-in value references. */ -var Symbol = root.Symbol; - -module.exports = Symbol; diff --git a/packages/frontend-core/node_modules/lodash/_Uint8Array.js b/packages/frontend-core/node_modules/lodash/_Uint8Array.js deleted file mode 100644 index 2fb30e1573..0000000000 --- a/packages/frontend-core/node_modules/lodash/_Uint8Array.js +++ /dev/null @@ -1,6 +0,0 @@ -var root = require('./_root'); - -/** Built-in value references. */ -var Uint8Array = root.Uint8Array; - -module.exports = Uint8Array; diff --git a/packages/frontend-core/node_modules/lodash/_WeakMap.js b/packages/frontend-core/node_modules/lodash/_WeakMap.js deleted file mode 100644 index 567f86c61e..0000000000 --- a/packages/frontend-core/node_modules/lodash/_WeakMap.js +++ /dev/null @@ -1,7 +0,0 @@ -var getNative = require('./_getNative'), - root = require('./_root'); - -/* Built-in method references that are verified to be native. */ -var WeakMap = getNative(root, 'WeakMap'); - -module.exports = WeakMap; diff --git a/packages/frontend-core/node_modules/lodash/_apply.js b/packages/frontend-core/node_modules/lodash/_apply.js deleted file mode 100644 index 36436dda50..0000000000 --- a/packages/frontend-core/node_modules/lodash/_apply.js +++ /dev/null @@ -1,21 +0,0 @@ -/** - * A faster alternative to `Function#apply`, this function invokes `func` - * with the `this` binding of `thisArg` and the arguments of `args`. - * - * @private - * @param {Function} func The function to invoke. - * @param {*} thisArg The `this` binding of `func`. - * @param {Array} args The arguments to invoke `func` with. - * @returns {*} Returns the result of `func`. - */ -function apply(func, thisArg, args) { - switch (args.length) { - case 0: return func.call(thisArg); - case 1: return func.call(thisArg, args[0]); - case 2: return func.call(thisArg, args[0], args[1]); - case 3: return func.call(thisArg, args[0], args[1], args[2]); - } - return func.apply(thisArg, args); -} - -module.exports = apply; diff --git a/packages/frontend-core/node_modules/lodash/_arrayAggregator.js b/packages/frontend-core/node_modules/lodash/_arrayAggregator.js deleted file mode 100644 index d96c3ca47c..0000000000 --- a/packages/frontend-core/node_modules/lodash/_arrayAggregator.js +++ /dev/null @@ -1,22 +0,0 @@ -/** - * A specialized version of `baseAggregator` for arrays. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} setter The function to set `accumulator` values. - * @param {Function} iteratee The iteratee to transform keys. - * @param {Object} accumulator The initial aggregated object. - * @returns {Function} Returns `accumulator`. - */ -function arrayAggregator(array, setter, iteratee, accumulator) { - var index = -1, - length = array == null ? 0 : array.length; - - while (++index < length) { - var value = array[index]; - setter(accumulator, value, iteratee(value), array); - } - return accumulator; -} - -module.exports = arrayAggregator; diff --git a/packages/frontend-core/node_modules/lodash/_arrayEach.js b/packages/frontend-core/node_modules/lodash/_arrayEach.js deleted file mode 100644 index 2c5f579688..0000000000 --- a/packages/frontend-core/node_modules/lodash/_arrayEach.js +++ /dev/null @@ -1,22 +0,0 @@ -/** - * A specialized version of `_.forEach` for arrays without support for - * iteratee shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns `array`. - */ -function arrayEach(array, iteratee) { - var index = -1, - length = array == null ? 0 : array.length; - - while (++index < length) { - if (iteratee(array[index], index, array) === false) { - break; - } - } - return array; -} - -module.exports = arrayEach; diff --git a/packages/frontend-core/node_modules/lodash/_arrayEachRight.js b/packages/frontend-core/node_modules/lodash/_arrayEachRight.js deleted file mode 100644 index 976ca5c29b..0000000000 --- a/packages/frontend-core/node_modules/lodash/_arrayEachRight.js +++ /dev/null @@ -1,21 +0,0 @@ -/** - * A specialized version of `_.forEachRight` for arrays without support for - * iteratee shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns `array`. - */ -function arrayEachRight(array, iteratee) { - var length = array == null ? 0 : array.length; - - while (length--) { - if (iteratee(array[length], length, array) === false) { - break; - } - } - return array; -} - -module.exports = arrayEachRight; diff --git a/packages/frontend-core/node_modules/lodash/_arrayEvery.js b/packages/frontend-core/node_modules/lodash/_arrayEvery.js deleted file mode 100644 index e26a918450..0000000000 --- a/packages/frontend-core/node_modules/lodash/_arrayEvery.js +++ /dev/null @@ -1,23 +0,0 @@ -/** - * A specialized version of `_.every` for arrays without support for - * iteratee shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {boolean} Returns `true` if all elements pass the predicate check, - * else `false`. - */ -function arrayEvery(array, predicate) { - var index = -1, - length = array == null ? 0 : array.length; - - while (++index < length) { - if (!predicate(array[index], index, array)) { - return false; - } - } - return true; -} - -module.exports = arrayEvery; diff --git a/packages/frontend-core/node_modules/lodash/_arrayFilter.js b/packages/frontend-core/node_modules/lodash/_arrayFilter.js deleted file mode 100644 index 75ea254459..0000000000 --- a/packages/frontend-core/node_modules/lodash/_arrayFilter.js +++ /dev/null @@ -1,25 +0,0 @@ -/** - * A specialized version of `_.filter` for arrays without support for - * iteratee shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {Array} Returns the new filtered array. - */ -function arrayFilter(array, predicate) { - var index = -1, - length = array == null ? 0 : array.length, - resIndex = 0, - result = []; - - while (++index < length) { - var value = array[index]; - if (predicate(value, index, array)) { - result[resIndex++] = value; - } - } - return result; -} - -module.exports = arrayFilter; diff --git a/packages/frontend-core/node_modules/lodash/_arrayIncludes.js b/packages/frontend-core/node_modules/lodash/_arrayIncludes.js deleted file mode 100644 index 3737a6d9eb..0000000000 --- a/packages/frontend-core/node_modules/lodash/_arrayIncludes.js +++ /dev/null @@ -1,17 +0,0 @@ -var baseIndexOf = require('./_baseIndexOf'); - -/** - * A specialized version of `_.includes` for arrays without support for - * specifying an index to search from. - * - * @private - * @param {Array} [array] The array to inspect. - * @param {*} target The value to search for. - * @returns {boolean} Returns `true` if `target` is found, else `false`. - */ -function arrayIncludes(array, value) { - var length = array == null ? 0 : array.length; - return !!length && baseIndexOf(array, value, 0) > -1; -} - -module.exports = arrayIncludes; diff --git a/packages/frontend-core/node_modules/lodash/_arrayIncludesWith.js b/packages/frontend-core/node_modules/lodash/_arrayIncludesWith.js deleted file mode 100644 index 235fd97580..0000000000 --- a/packages/frontend-core/node_modules/lodash/_arrayIncludesWith.js +++ /dev/null @@ -1,22 +0,0 @@ -/** - * This function is like `arrayIncludes` except that it accepts a comparator. - * - * @private - * @param {Array} [array] The array to inspect. - * @param {*} target The value to search for. - * @param {Function} comparator The comparator invoked per element. - * @returns {boolean} Returns `true` if `target` is found, else `false`. - */ -function arrayIncludesWith(array, value, comparator) { - var index = -1, - length = array == null ? 0 : array.length; - - while (++index < length) { - if (comparator(value, array[index])) { - return true; - } - } - return false; -} - -module.exports = arrayIncludesWith; diff --git a/packages/frontend-core/node_modules/lodash/_arrayLikeKeys.js b/packages/frontend-core/node_modules/lodash/_arrayLikeKeys.js deleted file mode 100644 index b2ec9ce786..0000000000 --- a/packages/frontend-core/node_modules/lodash/_arrayLikeKeys.js +++ /dev/null @@ -1,49 +0,0 @@ -var baseTimes = require('./_baseTimes'), - isArguments = require('./isArguments'), - isArray = require('./isArray'), - isBuffer = require('./isBuffer'), - isIndex = require('./_isIndex'), - isTypedArray = require('./isTypedArray'); - -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * Creates an array of the enumerable property names of the array-like `value`. - * - * @private - * @param {*} value The value to query. - * @param {boolean} inherited Specify returning inherited property names. - * @returns {Array} Returns the array of property names. - */ -function arrayLikeKeys(value, inherited) { - var isArr = isArray(value), - isArg = !isArr && isArguments(value), - isBuff = !isArr && !isArg && isBuffer(value), - isType = !isArr && !isArg && !isBuff && isTypedArray(value), - skipIndexes = isArr || isArg || isBuff || isType, - result = skipIndexes ? baseTimes(value.length, String) : [], - length = result.length; - - for (var key in value) { - if ((inherited || hasOwnProperty.call(value, key)) && - !(skipIndexes && ( - // Safari 9 has enumerable `arguments.length` in strict mode. - key == 'length' || - // Node.js 0.10 has enumerable non-index properties on buffers. - (isBuff && (key == 'offset' || key == 'parent')) || - // PhantomJS 2 has enumerable non-index properties on typed arrays. - (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) || - // Skip index properties. - isIndex(key, length) - ))) { - result.push(key); - } - } - return result; -} - -module.exports = arrayLikeKeys; diff --git a/packages/frontend-core/node_modules/lodash/_arrayMap.js b/packages/frontend-core/node_modules/lodash/_arrayMap.js deleted file mode 100644 index 22b22464e2..0000000000 --- a/packages/frontend-core/node_modules/lodash/_arrayMap.js +++ /dev/null @@ -1,21 +0,0 @@ -/** - * A specialized version of `_.map` for arrays without support for iteratee - * shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns the new mapped array. - */ -function arrayMap(array, iteratee) { - var index = -1, - length = array == null ? 0 : array.length, - result = Array(length); - - while (++index < length) { - result[index] = iteratee(array[index], index, array); - } - return result; -} - -module.exports = arrayMap; diff --git a/packages/frontend-core/node_modules/lodash/_arrayPush.js b/packages/frontend-core/node_modules/lodash/_arrayPush.js deleted file mode 100644 index 7d742b383e..0000000000 --- a/packages/frontend-core/node_modules/lodash/_arrayPush.js +++ /dev/null @@ -1,20 +0,0 @@ -/** - * Appends the elements of `values` to `array`. - * - * @private - * @param {Array} array The array to modify. - * @param {Array} values The values to append. - * @returns {Array} Returns `array`. - */ -function arrayPush(array, values) { - var index = -1, - length = values.length, - offset = array.length; - - while (++index < length) { - array[offset + index] = values[index]; - } - return array; -} - -module.exports = arrayPush; diff --git a/packages/frontend-core/node_modules/lodash/_arrayReduce.js b/packages/frontend-core/node_modules/lodash/_arrayReduce.js deleted file mode 100644 index de8b79b287..0000000000 --- a/packages/frontend-core/node_modules/lodash/_arrayReduce.js +++ /dev/null @@ -1,26 +0,0 @@ -/** - * A specialized version of `_.reduce` for arrays without support for - * iteratee shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {*} [accumulator] The initial value. - * @param {boolean} [initAccum] Specify using the first element of `array` as - * the initial value. - * @returns {*} Returns the accumulated value. - */ -function arrayReduce(array, iteratee, accumulator, initAccum) { - var index = -1, - length = array == null ? 0 : array.length; - - if (initAccum && length) { - accumulator = array[++index]; - } - while (++index < length) { - accumulator = iteratee(accumulator, array[index], index, array); - } - return accumulator; -} - -module.exports = arrayReduce; diff --git a/packages/frontend-core/node_modules/lodash/_arrayReduceRight.js b/packages/frontend-core/node_modules/lodash/_arrayReduceRight.js deleted file mode 100644 index 22d8976deb..0000000000 --- a/packages/frontend-core/node_modules/lodash/_arrayReduceRight.js +++ /dev/null @@ -1,24 +0,0 @@ -/** - * A specialized version of `_.reduceRight` for arrays without support for - * iteratee shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {*} [accumulator] The initial value. - * @param {boolean} [initAccum] Specify using the last element of `array` as - * the initial value. - * @returns {*} Returns the accumulated value. - */ -function arrayReduceRight(array, iteratee, accumulator, initAccum) { - var length = array == null ? 0 : array.length; - if (initAccum && length) { - accumulator = array[--length]; - } - while (length--) { - accumulator = iteratee(accumulator, array[length], length, array); - } - return accumulator; -} - -module.exports = arrayReduceRight; diff --git a/packages/frontend-core/node_modules/lodash/_arraySample.js b/packages/frontend-core/node_modules/lodash/_arraySample.js deleted file mode 100644 index fcab0105e8..0000000000 --- a/packages/frontend-core/node_modules/lodash/_arraySample.js +++ /dev/null @@ -1,15 +0,0 @@ -var baseRandom = require('./_baseRandom'); - -/** - * A specialized version of `_.sample` for arrays. - * - * @private - * @param {Array} array The array to sample. - * @returns {*} Returns the random element. - */ -function arraySample(array) { - var length = array.length; - return length ? array[baseRandom(0, length - 1)] : undefined; -} - -module.exports = arraySample; diff --git a/packages/frontend-core/node_modules/lodash/_arraySampleSize.js b/packages/frontend-core/node_modules/lodash/_arraySampleSize.js deleted file mode 100644 index 8c7e364f51..0000000000 --- a/packages/frontend-core/node_modules/lodash/_arraySampleSize.js +++ /dev/null @@ -1,17 +0,0 @@ -var baseClamp = require('./_baseClamp'), - copyArray = require('./_copyArray'), - shuffleSelf = require('./_shuffleSelf'); - -/** - * A specialized version of `_.sampleSize` for arrays. - * - * @private - * @param {Array} array The array to sample. - * @param {number} n The number of elements to sample. - * @returns {Array} Returns the random elements. - */ -function arraySampleSize(array, n) { - return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length)); -} - -module.exports = arraySampleSize; diff --git a/packages/frontend-core/node_modules/lodash/_arrayShuffle.js b/packages/frontend-core/node_modules/lodash/_arrayShuffle.js deleted file mode 100644 index 46313a39b7..0000000000 --- a/packages/frontend-core/node_modules/lodash/_arrayShuffle.js +++ /dev/null @@ -1,15 +0,0 @@ -var copyArray = require('./_copyArray'), - shuffleSelf = require('./_shuffleSelf'); - -/** - * A specialized version of `_.shuffle` for arrays. - * - * @private - * @param {Array} array The array to shuffle. - * @returns {Array} Returns the new shuffled array. - */ -function arrayShuffle(array) { - return shuffleSelf(copyArray(array)); -} - -module.exports = arrayShuffle; diff --git a/packages/frontend-core/node_modules/lodash/_arraySome.js b/packages/frontend-core/node_modules/lodash/_arraySome.js deleted file mode 100644 index 6fd02fd4ae..0000000000 --- a/packages/frontend-core/node_modules/lodash/_arraySome.js +++ /dev/null @@ -1,23 +0,0 @@ -/** - * A specialized version of `_.some` for arrays without support for iteratee - * shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {boolean} Returns `true` if any element passes the predicate check, - * else `false`. - */ -function arraySome(array, predicate) { - var index = -1, - length = array == null ? 0 : array.length; - - while (++index < length) { - if (predicate(array[index], index, array)) { - return true; - } - } - return false; -} - -module.exports = arraySome; diff --git a/packages/frontend-core/node_modules/lodash/_asciiSize.js b/packages/frontend-core/node_modules/lodash/_asciiSize.js deleted file mode 100644 index 11d29c33ad..0000000000 --- a/packages/frontend-core/node_modules/lodash/_asciiSize.js +++ /dev/null @@ -1,12 +0,0 @@ -var baseProperty = require('./_baseProperty'); - -/** - * Gets the size of an ASCII `string`. - * - * @private - * @param {string} string The string inspect. - * @returns {number} Returns the string size. - */ -var asciiSize = baseProperty('length'); - -module.exports = asciiSize; diff --git a/packages/frontend-core/node_modules/lodash/_asciiToArray.js b/packages/frontend-core/node_modules/lodash/_asciiToArray.js deleted file mode 100644 index 8e3dd5b47f..0000000000 --- a/packages/frontend-core/node_modules/lodash/_asciiToArray.js +++ /dev/null @@ -1,12 +0,0 @@ -/** - * Converts an ASCII `string` to an array. - * - * @private - * @param {string} string The string to convert. - * @returns {Array} Returns the converted array. - */ -function asciiToArray(string) { - return string.split(''); -} - -module.exports = asciiToArray; diff --git a/packages/frontend-core/node_modules/lodash/_asciiWords.js b/packages/frontend-core/node_modules/lodash/_asciiWords.js deleted file mode 100644 index d765f0f763..0000000000 --- a/packages/frontend-core/node_modules/lodash/_asciiWords.js +++ /dev/null @@ -1,15 +0,0 @@ -/** Used to match words composed of alphanumeric characters. */ -var reAsciiWord = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g; - -/** - * Splits an ASCII `string` into an array of its words. - * - * @private - * @param {string} The string to inspect. - * @returns {Array} Returns the words of `string`. - */ -function asciiWords(string) { - return string.match(reAsciiWord) || []; -} - -module.exports = asciiWords; diff --git a/packages/frontend-core/node_modules/lodash/_assignMergeValue.js b/packages/frontend-core/node_modules/lodash/_assignMergeValue.js deleted file mode 100644 index cb1185e992..0000000000 --- a/packages/frontend-core/node_modules/lodash/_assignMergeValue.js +++ /dev/null @@ -1,20 +0,0 @@ -var baseAssignValue = require('./_baseAssignValue'), - eq = require('./eq'); - -/** - * This function is like `assignValue` except that it doesn't assign - * `undefined` values. - * - * @private - * @param {Object} object The object to modify. - * @param {string} key The key of the property to assign. - * @param {*} value The value to assign. - */ -function assignMergeValue(object, key, value) { - if ((value !== undefined && !eq(object[key], value)) || - (value === undefined && !(key in object))) { - baseAssignValue(object, key, value); - } -} - -module.exports = assignMergeValue; diff --git a/packages/frontend-core/node_modules/lodash/_assignValue.js b/packages/frontend-core/node_modules/lodash/_assignValue.js deleted file mode 100644 index 40839575b5..0000000000 --- a/packages/frontend-core/node_modules/lodash/_assignValue.js +++ /dev/null @@ -1,28 +0,0 @@ -var baseAssignValue = require('./_baseAssignValue'), - eq = require('./eq'); - -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * Assigns `value` to `key` of `object` if the existing value is not equivalent - * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. - * - * @private - * @param {Object} object The object to modify. - * @param {string} key The key of the property to assign. - * @param {*} value The value to assign. - */ -function assignValue(object, key, value) { - var objValue = object[key]; - if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || - (value === undefined && !(key in object))) { - baseAssignValue(object, key, value); - } -} - -module.exports = assignValue; diff --git a/packages/frontend-core/node_modules/lodash/_assocIndexOf.js b/packages/frontend-core/node_modules/lodash/_assocIndexOf.js deleted file mode 100644 index 5b77a2bdd3..0000000000 --- a/packages/frontend-core/node_modules/lodash/_assocIndexOf.js +++ /dev/null @@ -1,21 +0,0 @@ -var eq = require('./eq'); - -/** - * Gets the index at which the `key` is found in `array` of key-value pairs. - * - * @private - * @param {Array} array The array to inspect. - * @param {*} key The key to search for. - * @returns {number} Returns the index of the matched value, else `-1`. - */ -function assocIndexOf(array, key) { - var length = array.length; - while (length--) { - if (eq(array[length][0], key)) { - return length; - } - } - return -1; -} - -module.exports = assocIndexOf; diff --git a/packages/frontend-core/node_modules/lodash/_baseAggregator.js b/packages/frontend-core/node_modules/lodash/_baseAggregator.js deleted file mode 100644 index 4bc9e91f41..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseAggregator.js +++ /dev/null @@ -1,21 +0,0 @@ -var baseEach = require('./_baseEach'); - -/** - * Aggregates elements of `collection` on `accumulator` with keys transformed - * by `iteratee` and values set by `setter`. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} setter The function to set `accumulator` values. - * @param {Function} iteratee The iteratee to transform keys. - * @param {Object} accumulator The initial aggregated object. - * @returns {Function} Returns `accumulator`. - */ -function baseAggregator(collection, setter, iteratee, accumulator) { - baseEach(collection, function(value, key, collection) { - setter(accumulator, value, iteratee(value), collection); - }); - return accumulator; -} - -module.exports = baseAggregator; diff --git a/packages/frontend-core/node_modules/lodash/_baseAssign.js b/packages/frontend-core/node_modules/lodash/_baseAssign.js deleted file mode 100644 index e5c4a1a5b0..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseAssign.js +++ /dev/null @@ -1,17 +0,0 @@ -var copyObject = require('./_copyObject'), - keys = require('./keys'); - -/** - * The base implementation of `_.assign` without support for multiple sources - * or `customizer` functions. - * - * @private - * @param {Object} object The destination object. - * @param {Object} source The source object. - * @returns {Object} Returns `object`. - */ -function baseAssign(object, source) { - return object && copyObject(source, keys(source), object); -} - -module.exports = baseAssign; diff --git a/packages/frontend-core/node_modules/lodash/_baseAssignIn.js b/packages/frontend-core/node_modules/lodash/_baseAssignIn.js deleted file mode 100644 index 6624f90067..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseAssignIn.js +++ /dev/null @@ -1,17 +0,0 @@ -var copyObject = require('./_copyObject'), - keysIn = require('./keysIn'); - -/** - * The base implementation of `_.assignIn` without support for multiple sources - * or `customizer` functions. - * - * @private - * @param {Object} object The destination object. - * @param {Object} source The source object. - * @returns {Object} Returns `object`. - */ -function baseAssignIn(object, source) { - return object && copyObject(source, keysIn(source), object); -} - -module.exports = baseAssignIn; diff --git a/packages/frontend-core/node_modules/lodash/_baseAssignValue.js b/packages/frontend-core/node_modules/lodash/_baseAssignValue.js deleted file mode 100644 index d6f66ef3a5..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseAssignValue.js +++ /dev/null @@ -1,25 +0,0 @@ -var defineProperty = require('./_defineProperty'); - -/** - * The base implementation of `assignValue` and `assignMergeValue` without - * value checks. - * - * @private - * @param {Object} object The object to modify. - * @param {string} key The key of the property to assign. - * @param {*} value The value to assign. - */ -function baseAssignValue(object, key, value) { - if (key == '__proto__' && defineProperty) { - defineProperty(object, key, { - 'configurable': true, - 'enumerable': true, - 'value': value, - 'writable': true - }); - } else { - object[key] = value; - } -} - -module.exports = baseAssignValue; diff --git a/packages/frontend-core/node_modules/lodash/_baseAt.js b/packages/frontend-core/node_modules/lodash/_baseAt.js deleted file mode 100644 index 90e4237a06..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseAt.js +++ /dev/null @@ -1,23 +0,0 @@ -var get = require('./get'); - -/** - * The base implementation of `_.at` without support for individual paths. - * - * @private - * @param {Object} object The object to iterate over. - * @param {string[]} paths The property paths to pick. - * @returns {Array} Returns the picked elements. - */ -function baseAt(object, paths) { - var index = -1, - length = paths.length, - result = Array(length), - skip = object == null; - - while (++index < length) { - result[index] = skip ? undefined : get(object, paths[index]); - } - return result; -} - -module.exports = baseAt; diff --git a/packages/frontend-core/node_modules/lodash/_baseClamp.js b/packages/frontend-core/node_modules/lodash/_baseClamp.js deleted file mode 100644 index a1c5692927..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseClamp.js +++ /dev/null @@ -1,22 +0,0 @@ -/** - * The base implementation of `_.clamp` which doesn't coerce arguments. - * - * @private - * @param {number} number The number to clamp. - * @param {number} [lower] The lower bound. - * @param {number} upper The upper bound. - * @returns {number} Returns the clamped number. - */ -function baseClamp(number, lower, upper) { - if (number === number) { - if (upper !== undefined) { - number = number <= upper ? number : upper; - } - if (lower !== undefined) { - number = number >= lower ? number : lower; - } - } - return number; -} - -module.exports = baseClamp; diff --git a/packages/frontend-core/node_modules/lodash/_baseClone.js b/packages/frontend-core/node_modules/lodash/_baseClone.js deleted file mode 100644 index 69f87054c5..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseClone.js +++ /dev/null @@ -1,166 +0,0 @@ -var Stack = require('./_Stack'), - arrayEach = require('./_arrayEach'), - assignValue = require('./_assignValue'), - baseAssign = require('./_baseAssign'), - baseAssignIn = require('./_baseAssignIn'), - cloneBuffer = require('./_cloneBuffer'), - copyArray = require('./_copyArray'), - copySymbols = require('./_copySymbols'), - copySymbolsIn = require('./_copySymbolsIn'), - getAllKeys = require('./_getAllKeys'), - getAllKeysIn = require('./_getAllKeysIn'), - getTag = require('./_getTag'), - initCloneArray = require('./_initCloneArray'), - initCloneByTag = require('./_initCloneByTag'), - initCloneObject = require('./_initCloneObject'), - isArray = require('./isArray'), - isBuffer = require('./isBuffer'), - isMap = require('./isMap'), - isObject = require('./isObject'), - isSet = require('./isSet'), - keys = require('./keys'), - keysIn = require('./keysIn'); - -/** Used to compose bitmasks for cloning. */ -var CLONE_DEEP_FLAG = 1, - CLONE_FLAT_FLAG = 2, - CLONE_SYMBOLS_FLAG = 4; - -/** `Object#toString` result references. */ -var argsTag = '[object Arguments]', - arrayTag = '[object Array]', - boolTag = '[object Boolean]', - dateTag = '[object Date]', - errorTag = '[object Error]', - funcTag = '[object Function]', - genTag = '[object GeneratorFunction]', - mapTag = '[object Map]', - numberTag = '[object Number]', - objectTag = '[object Object]', - regexpTag = '[object RegExp]', - setTag = '[object Set]', - stringTag = '[object String]', - symbolTag = '[object Symbol]', - weakMapTag = '[object WeakMap]'; - -var arrayBufferTag = '[object ArrayBuffer]', - dataViewTag = '[object DataView]', - float32Tag = '[object Float32Array]', - float64Tag = '[object Float64Array]', - int8Tag = '[object Int8Array]', - int16Tag = '[object Int16Array]', - int32Tag = '[object Int32Array]', - uint8Tag = '[object Uint8Array]', - uint8ClampedTag = '[object Uint8ClampedArray]', - uint16Tag = '[object Uint16Array]', - uint32Tag = '[object Uint32Array]'; - -/** Used to identify `toStringTag` values supported by `_.clone`. */ -var cloneableTags = {}; -cloneableTags[argsTag] = cloneableTags[arrayTag] = -cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] = -cloneableTags[boolTag] = cloneableTags[dateTag] = -cloneableTags[float32Tag] = cloneableTags[float64Tag] = -cloneableTags[int8Tag] = cloneableTags[int16Tag] = -cloneableTags[int32Tag] = cloneableTags[mapTag] = -cloneableTags[numberTag] = cloneableTags[objectTag] = -cloneableTags[regexpTag] = cloneableTags[setTag] = -cloneableTags[stringTag] = cloneableTags[symbolTag] = -cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = -cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true; -cloneableTags[errorTag] = cloneableTags[funcTag] = -cloneableTags[weakMapTag] = false; - -/** - * The base implementation of `_.clone` and `_.cloneDeep` which tracks - * traversed objects. - * - * @private - * @param {*} value The value to clone. - * @param {boolean} bitmask The bitmask flags. - * 1 - Deep clone - * 2 - Flatten inherited properties - * 4 - Clone symbols - * @param {Function} [customizer] The function to customize cloning. - * @param {string} [key] The key of `value`. - * @param {Object} [object] The parent object of `value`. - * @param {Object} [stack] Tracks traversed objects and their clone counterparts. - * @returns {*} Returns the cloned value. - */ -function baseClone(value, bitmask, customizer, key, object, stack) { - var result, - isDeep = bitmask & CLONE_DEEP_FLAG, - isFlat = bitmask & CLONE_FLAT_FLAG, - isFull = bitmask & CLONE_SYMBOLS_FLAG; - - if (customizer) { - result = object ? customizer(value, key, object, stack) : customizer(value); - } - if (result !== undefined) { - return result; - } - if (!isObject(value)) { - return value; - } - var isArr = isArray(value); - if (isArr) { - result = initCloneArray(value); - if (!isDeep) { - return copyArray(value, result); - } - } else { - var tag = getTag(value), - isFunc = tag == funcTag || tag == genTag; - - if (isBuffer(value)) { - return cloneBuffer(value, isDeep); - } - if (tag == objectTag || tag == argsTag || (isFunc && !object)) { - result = (isFlat || isFunc) ? {} : initCloneObject(value); - if (!isDeep) { - return isFlat - ? copySymbolsIn(value, baseAssignIn(result, value)) - : copySymbols(value, baseAssign(result, value)); - } - } else { - if (!cloneableTags[tag]) { - return object ? value : {}; - } - result = initCloneByTag(value, tag, isDeep); - } - } - // Check for circular references and return its corresponding clone. - stack || (stack = new Stack); - var stacked = stack.get(value); - if (stacked) { - return stacked; - } - stack.set(value, result); - - if (isSet(value)) { - value.forEach(function(subValue) { - result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack)); - }); - } else if (isMap(value)) { - value.forEach(function(subValue, key) { - result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack)); - }); - } - - var keysFunc = isFull - ? (isFlat ? getAllKeysIn : getAllKeys) - : (isFlat ? keysIn : keys); - - var props = isArr ? undefined : keysFunc(value); - arrayEach(props || value, function(subValue, key) { - if (props) { - key = subValue; - subValue = value[key]; - } - // Recursively populate clone (susceptible to call stack limits). - assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack)); - }); - return result; -} - -module.exports = baseClone; diff --git a/packages/frontend-core/node_modules/lodash/_baseConforms.js b/packages/frontend-core/node_modules/lodash/_baseConforms.js deleted file mode 100644 index 947e20d409..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseConforms.js +++ /dev/null @@ -1,18 +0,0 @@ -var baseConformsTo = require('./_baseConformsTo'), - keys = require('./keys'); - -/** - * The base implementation of `_.conforms` which doesn't clone `source`. - * - * @private - * @param {Object} source The object of property predicates to conform to. - * @returns {Function} Returns the new spec function. - */ -function baseConforms(source) { - var props = keys(source); - return function(object) { - return baseConformsTo(object, source, props); - }; -} - -module.exports = baseConforms; diff --git a/packages/frontend-core/node_modules/lodash/_baseConformsTo.js b/packages/frontend-core/node_modules/lodash/_baseConformsTo.js deleted file mode 100644 index e449cb84bd..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseConformsTo.js +++ /dev/null @@ -1,27 +0,0 @@ -/** - * The base implementation of `_.conformsTo` which accepts `props` to check. - * - * @private - * @param {Object} object The object to inspect. - * @param {Object} source The object of property predicates to conform to. - * @returns {boolean} Returns `true` if `object` conforms, else `false`. - */ -function baseConformsTo(object, source, props) { - var length = props.length; - if (object == null) { - return !length; - } - object = Object(object); - while (length--) { - var key = props[length], - predicate = source[key], - value = object[key]; - - if ((value === undefined && !(key in object)) || !predicate(value)) { - return false; - } - } - return true; -} - -module.exports = baseConformsTo; diff --git a/packages/frontend-core/node_modules/lodash/_baseCreate.js b/packages/frontend-core/node_modules/lodash/_baseCreate.js deleted file mode 100644 index ffa6a52acd..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseCreate.js +++ /dev/null @@ -1,30 +0,0 @@ -var isObject = require('./isObject'); - -/** Built-in value references. */ -var objectCreate = Object.create; - -/** - * The base implementation of `_.create` without support for assigning - * properties to the created object. - * - * @private - * @param {Object} proto The object to inherit from. - * @returns {Object} Returns the new object. - */ -var baseCreate = (function() { - function object() {} - return function(proto) { - if (!isObject(proto)) { - return {}; - } - if (objectCreate) { - return objectCreate(proto); - } - object.prototype = proto; - var result = new object; - object.prototype = undefined; - return result; - }; -}()); - -module.exports = baseCreate; diff --git a/packages/frontend-core/node_modules/lodash/_baseDelay.js b/packages/frontend-core/node_modules/lodash/_baseDelay.js deleted file mode 100644 index 1486d697e3..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseDelay.js +++ /dev/null @@ -1,21 +0,0 @@ -/** Error message constants. */ -var FUNC_ERROR_TEXT = 'Expected a function'; - -/** - * The base implementation of `_.delay` and `_.defer` which accepts `args` - * to provide to `func`. - * - * @private - * @param {Function} func The function to delay. - * @param {number} wait The number of milliseconds to delay invocation. - * @param {Array} args The arguments to provide to `func`. - * @returns {number|Object} Returns the timer id or timeout object. - */ -function baseDelay(func, wait, args) { - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - return setTimeout(function() { func.apply(undefined, args); }, wait); -} - -module.exports = baseDelay; diff --git a/packages/frontend-core/node_modules/lodash/_baseDifference.js b/packages/frontend-core/node_modules/lodash/_baseDifference.js deleted file mode 100644 index 343ac19f02..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseDifference.js +++ /dev/null @@ -1,67 +0,0 @@ -var SetCache = require('./_SetCache'), - arrayIncludes = require('./_arrayIncludes'), - arrayIncludesWith = require('./_arrayIncludesWith'), - arrayMap = require('./_arrayMap'), - baseUnary = require('./_baseUnary'), - cacheHas = require('./_cacheHas'); - -/** Used as the size to enable large array optimizations. */ -var LARGE_ARRAY_SIZE = 200; - -/** - * The base implementation of methods like `_.difference` without support - * for excluding multiple arrays or iteratee shorthands. - * - * @private - * @param {Array} array The array to inspect. - * @param {Array} values The values to exclude. - * @param {Function} [iteratee] The iteratee invoked per element. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new array of filtered values. - */ -function baseDifference(array, values, iteratee, comparator) { - var index = -1, - includes = arrayIncludes, - isCommon = true, - length = array.length, - result = [], - valuesLength = values.length; - - if (!length) { - return result; - } - if (iteratee) { - values = arrayMap(values, baseUnary(iteratee)); - } - if (comparator) { - includes = arrayIncludesWith; - isCommon = false; - } - else if (values.length >= LARGE_ARRAY_SIZE) { - includes = cacheHas; - isCommon = false; - values = new SetCache(values); - } - outer: - while (++index < length) { - var value = array[index], - computed = iteratee == null ? value : iteratee(value); - - value = (comparator || value !== 0) ? value : 0; - if (isCommon && computed === computed) { - var valuesIndex = valuesLength; - while (valuesIndex--) { - if (values[valuesIndex] === computed) { - continue outer; - } - } - result.push(value); - } - else if (!includes(values, computed, comparator)) { - result.push(value); - } - } - return result; -} - -module.exports = baseDifference; diff --git a/packages/frontend-core/node_modules/lodash/_baseEach.js b/packages/frontend-core/node_modules/lodash/_baseEach.js deleted file mode 100644 index 512c067682..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseEach.js +++ /dev/null @@ -1,14 +0,0 @@ -var baseForOwn = require('./_baseForOwn'), - createBaseEach = require('./_createBaseEach'); - -/** - * The base implementation of `_.forEach` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array|Object} Returns `collection`. - */ -var baseEach = createBaseEach(baseForOwn); - -module.exports = baseEach; diff --git a/packages/frontend-core/node_modules/lodash/_baseEachRight.js b/packages/frontend-core/node_modules/lodash/_baseEachRight.js deleted file mode 100644 index 0a8feeca44..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseEachRight.js +++ /dev/null @@ -1,14 +0,0 @@ -var baseForOwnRight = require('./_baseForOwnRight'), - createBaseEach = require('./_createBaseEach'); - -/** - * The base implementation of `_.forEachRight` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array|Object} Returns `collection`. - */ -var baseEachRight = createBaseEach(baseForOwnRight, true); - -module.exports = baseEachRight; diff --git a/packages/frontend-core/node_modules/lodash/_baseEvery.js b/packages/frontend-core/node_modules/lodash/_baseEvery.js deleted file mode 100644 index fa52f7bc7d..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseEvery.js +++ /dev/null @@ -1,21 +0,0 @@ -var baseEach = require('./_baseEach'); - -/** - * The base implementation of `_.every` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {boolean} Returns `true` if all elements pass the predicate check, - * else `false` - */ -function baseEvery(collection, predicate) { - var result = true; - baseEach(collection, function(value, index, collection) { - result = !!predicate(value, index, collection); - return result; - }); - return result; -} - -module.exports = baseEvery; diff --git a/packages/frontend-core/node_modules/lodash/_baseExtremum.js b/packages/frontend-core/node_modules/lodash/_baseExtremum.js deleted file mode 100644 index 9d6aa77edb..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseExtremum.js +++ /dev/null @@ -1,32 +0,0 @@ -var isSymbol = require('./isSymbol'); - -/** - * The base implementation of methods like `_.max` and `_.min` which accepts a - * `comparator` to determine the extremum value. - * - * @private - * @param {Array} array The array to iterate over. - * @param {Function} iteratee The iteratee invoked per iteration. - * @param {Function} comparator The comparator used to compare values. - * @returns {*} Returns the extremum value. - */ -function baseExtremum(array, iteratee, comparator) { - var index = -1, - length = array.length; - - while (++index < length) { - var value = array[index], - current = iteratee(value); - - if (current != null && (computed === undefined - ? (current === current && !isSymbol(current)) - : comparator(current, computed) - )) { - var computed = current, - result = value; - } - } - return result; -} - -module.exports = baseExtremum; diff --git a/packages/frontend-core/node_modules/lodash/_baseFill.js b/packages/frontend-core/node_modules/lodash/_baseFill.js deleted file mode 100644 index 46ef9c761a..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseFill.js +++ /dev/null @@ -1,32 +0,0 @@ -var toInteger = require('./toInteger'), - toLength = require('./toLength'); - -/** - * The base implementation of `_.fill` without an iteratee call guard. - * - * @private - * @param {Array} array The array to fill. - * @param {*} value The value to fill `array` with. - * @param {number} [start=0] The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns `array`. - */ -function baseFill(array, value, start, end) { - var length = array.length; - - start = toInteger(start); - if (start < 0) { - start = -start > length ? 0 : (length + start); - } - end = (end === undefined || end > length) ? length : toInteger(end); - if (end < 0) { - end += length; - } - end = start > end ? 0 : toLength(end); - while (start < end) { - array[start++] = value; - } - return array; -} - -module.exports = baseFill; diff --git a/packages/frontend-core/node_modules/lodash/_baseFilter.js b/packages/frontend-core/node_modules/lodash/_baseFilter.js deleted file mode 100644 index 467847736a..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseFilter.js +++ /dev/null @@ -1,21 +0,0 @@ -var baseEach = require('./_baseEach'); - -/** - * The base implementation of `_.filter` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {Array} Returns the new filtered array. - */ -function baseFilter(collection, predicate) { - var result = []; - baseEach(collection, function(value, index, collection) { - if (predicate(value, index, collection)) { - result.push(value); - } - }); - return result; -} - -module.exports = baseFilter; diff --git a/packages/frontend-core/node_modules/lodash/_baseFindIndex.js b/packages/frontend-core/node_modules/lodash/_baseFindIndex.js deleted file mode 100644 index e3f5d8aa2b..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseFindIndex.js +++ /dev/null @@ -1,24 +0,0 @@ -/** - * The base implementation of `_.findIndex` and `_.findLastIndex` without - * support for iteratee shorthands. - * - * @private - * @param {Array} array The array to inspect. - * @param {Function} predicate The function invoked per iteration. - * @param {number} fromIndex The index to search from. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {number} Returns the index of the matched value, else `-1`. - */ -function baseFindIndex(array, predicate, fromIndex, fromRight) { - var length = array.length, - index = fromIndex + (fromRight ? 1 : -1); - - while ((fromRight ? index-- : ++index < length)) { - if (predicate(array[index], index, array)) { - return index; - } - } - return -1; -} - -module.exports = baseFindIndex; diff --git a/packages/frontend-core/node_modules/lodash/_baseFindKey.js b/packages/frontend-core/node_modules/lodash/_baseFindKey.js deleted file mode 100644 index 2e430f3a21..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseFindKey.js +++ /dev/null @@ -1,23 +0,0 @@ -/** - * The base implementation of methods like `_.findKey` and `_.findLastKey`, - * without support for iteratee shorthands, which iterates over `collection` - * using `eachFunc`. - * - * @private - * @param {Array|Object} collection The collection to inspect. - * @param {Function} predicate The function invoked per iteration. - * @param {Function} eachFunc The function to iterate over `collection`. - * @returns {*} Returns the found element or its key, else `undefined`. - */ -function baseFindKey(collection, predicate, eachFunc) { - var result; - eachFunc(collection, function(value, key, collection) { - if (predicate(value, key, collection)) { - result = key; - return false; - } - }); - return result; -} - -module.exports = baseFindKey; diff --git a/packages/frontend-core/node_modules/lodash/_baseFlatten.js b/packages/frontend-core/node_modules/lodash/_baseFlatten.js deleted file mode 100644 index 4b1e009b15..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseFlatten.js +++ /dev/null @@ -1,38 +0,0 @@ -var arrayPush = require('./_arrayPush'), - isFlattenable = require('./_isFlattenable'); - -/** - * The base implementation of `_.flatten` with support for restricting flattening. - * - * @private - * @param {Array} array The array to flatten. - * @param {number} depth The maximum recursion depth. - * @param {boolean} [predicate=isFlattenable] The function invoked per iteration. - * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks. - * @param {Array} [result=[]] The initial result value. - * @returns {Array} Returns the new flattened array. - */ -function baseFlatten(array, depth, predicate, isStrict, result) { - var index = -1, - length = array.length; - - predicate || (predicate = isFlattenable); - result || (result = []); - - while (++index < length) { - var value = array[index]; - if (depth > 0 && predicate(value)) { - if (depth > 1) { - // Recursively flatten arrays (susceptible to call stack limits). - baseFlatten(value, depth - 1, predicate, isStrict, result); - } else { - arrayPush(result, value); - } - } else if (!isStrict) { - result[result.length] = value; - } - } - return result; -} - -module.exports = baseFlatten; diff --git a/packages/frontend-core/node_modules/lodash/_baseFor.js b/packages/frontend-core/node_modules/lodash/_baseFor.js deleted file mode 100644 index d946590f8a..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseFor.js +++ /dev/null @@ -1,16 +0,0 @@ -var createBaseFor = require('./_createBaseFor'); - -/** - * The base implementation of `baseForOwn` which iterates over `object` - * properties returned by `keysFunc` and invokes `iteratee` for each property. - * Iteratee functions may exit iteration early by explicitly returning `false`. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {Function} keysFunc The function to get the keys of `object`. - * @returns {Object} Returns `object`. - */ -var baseFor = createBaseFor(); - -module.exports = baseFor; diff --git a/packages/frontend-core/node_modules/lodash/_baseForOwn.js b/packages/frontend-core/node_modules/lodash/_baseForOwn.js deleted file mode 100644 index 503d523441..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseForOwn.js +++ /dev/null @@ -1,16 +0,0 @@ -var baseFor = require('./_baseFor'), - keys = require('./keys'); - -/** - * The base implementation of `_.forOwn` without support for iteratee shorthands. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Object} Returns `object`. - */ -function baseForOwn(object, iteratee) { - return object && baseFor(object, iteratee, keys); -} - -module.exports = baseForOwn; diff --git a/packages/frontend-core/node_modules/lodash/_baseForOwnRight.js b/packages/frontend-core/node_modules/lodash/_baseForOwnRight.js deleted file mode 100644 index a4b10e6c59..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseForOwnRight.js +++ /dev/null @@ -1,16 +0,0 @@ -var baseForRight = require('./_baseForRight'), - keys = require('./keys'); - -/** - * The base implementation of `_.forOwnRight` without support for iteratee shorthands. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Object} Returns `object`. - */ -function baseForOwnRight(object, iteratee) { - return object && baseForRight(object, iteratee, keys); -} - -module.exports = baseForOwnRight; diff --git a/packages/frontend-core/node_modules/lodash/_baseForRight.js b/packages/frontend-core/node_modules/lodash/_baseForRight.js deleted file mode 100644 index 32842cd817..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseForRight.js +++ /dev/null @@ -1,15 +0,0 @@ -var createBaseFor = require('./_createBaseFor'); - -/** - * This function is like `baseFor` except that it iterates over properties - * in the opposite order. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {Function} keysFunc The function to get the keys of `object`. - * @returns {Object} Returns `object`. - */ -var baseForRight = createBaseFor(true); - -module.exports = baseForRight; diff --git a/packages/frontend-core/node_modules/lodash/_baseFunctions.js b/packages/frontend-core/node_modules/lodash/_baseFunctions.js deleted file mode 100644 index d23bc9b475..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseFunctions.js +++ /dev/null @@ -1,19 +0,0 @@ -var arrayFilter = require('./_arrayFilter'), - isFunction = require('./isFunction'); - -/** - * The base implementation of `_.functions` which creates an array of - * `object` function property names filtered from `props`. - * - * @private - * @param {Object} object The object to inspect. - * @param {Array} props The property names to filter. - * @returns {Array} Returns the function names. - */ -function baseFunctions(object, props) { - return arrayFilter(props, function(key) { - return isFunction(object[key]); - }); -} - -module.exports = baseFunctions; diff --git a/packages/frontend-core/node_modules/lodash/_baseGet.js b/packages/frontend-core/node_modules/lodash/_baseGet.js deleted file mode 100644 index a194913d21..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseGet.js +++ /dev/null @@ -1,24 +0,0 @@ -var castPath = require('./_castPath'), - toKey = require('./_toKey'); - -/** - * The base implementation of `_.get` without support for default values. - * - * @private - * @param {Object} object The object to query. - * @param {Array|string} path The path of the property to get. - * @returns {*} Returns the resolved value. - */ -function baseGet(object, path) { - path = castPath(path, object); - - var index = 0, - length = path.length; - - while (object != null && index < length) { - object = object[toKey(path[index++])]; - } - return (index && index == length) ? object : undefined; -} - -module.exports = baseGet; diff --git a/packages/frontend-core/node_modules/lodash/_baseGetAllKeys.js b/packages/frontend-core/node_modules/lodash/_baseGetAllKeys.js deleted file mode 100644 index 8ad204ea41..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseGetAllKeys.js +++ /dev/null @@ -1,20 +0,0 @@ -var arrayPush = require('./_arrayPush'), - isArray = require('./isArray'); - -/** - * The base implementation of `getAllKeys` and `getAllKeysIn` which uses - * `keysFunc` and `symbolsFunc` to get the enumerable property names and - * symbols of `object`. - * - * @private - * @param {Object} object The object to query. - * @param {Function} keysFunc The function to get the keys of `object`. - * @param {Function} symbolsFunc The function to get the symbols of `object`. - * @returns {Array} Returns the array of property names and symbols. - */ -function baseGetAllKeys(object, keysFunc, symbolsFunc) { - var result = keysFunc(object); - return isArray(object) ? result : arrayPush(result, symbolsFunc(object)); -} - -module.exports = baseGetAllKeys; diff --git a/packages/frontend-core/node_modules/lodash/_baseGetTag.js b/packages/frontend-core/node_modules/lodash/_baseGetTag.js deleted file mode 100644 index b927ccc172..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseGetTag.js +++ /dev/null @@ -1,28 +0,0 @@ -var Symbol = require('./_Symbol'), - getRawTag = require('./_getRawTag'), - objectToString = require('./_objectToString'); - -/** `Object#toString` result references. */ -var nullTag = '[object Null]', - undefinedTag = '[object Undefined]'; - -/** Built-in value references. */ -var symToStringTag = Symbol ? Symbol.toStringTag : undefined; - -/** - * The base implementation of `getTag` without fallbacks for buggy environments. - * - * @private - * @param {*} value The value to query. - * @returns {string} Returns the `toStringTag`. - */ -function baseGetTag(value) { - if (value == null) { - return value === undefined ? undefinedTag : nullTag; - } - return (symToStringTag && symToStringTag in Object(value)) - ? getRawTag(value) - : objectToString(value); -} - -module.exports = baseGetTag; diff --git a/packages/frontend-core/node_modules/lodash/_baseGt.js b/packages/frontend-core/node_modules/lodash/_baseGt.js deleted file mode 100644 index 502d273ca8..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseGt.js +++ /dev/null @@ -1,14 +0,0 @@ -/** - * The base implementation of `_.gt` which doesn't coerce arguments. - * - * @private - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if `value` is greater than `other`, - * else `false`. - */ -function baseGt(value, other) { - return value > other; -} - -module.exports = baseGt; diff --git a/packages/frontend-core/node_modules/lodash/_baseHas.js b/packages/frontend-core/node_modules/lodash/_baseHas.js deleted file mode 100644 index 1b730321c2..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseHas.js +++ /dev/null @@ -1,19 +0,0 @@ -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * The base implementation of `_.has` without support for deep paths. - * - * @private - * @param {Object} [object] The object to query. - * @param {Array|string} key The key to check. - * @returns {boolean} Returns `true` if `key` exists, else `false`. - */ -function baseHas(object, key) { - return object != null && hasOwnProperty.call(object, key); -} - -module.exports = baseHas; diff --git a/packages/frontend-core/node_modules/lodash/_baseHasIn.js b/packages/frontend-core/node_modules/lodash/_baseHasIn.js deleted file mode 100644 index 2e0d04269f..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseHasIn.js +++ /dev/null @@ -1,13 +0,0 @@ -/** - * The base implementation of `_.hasIn` without support for deep paths. - * - * @private - * @param {Object} [object] The object to query. - * @param {Array|string} key The key to check. - * @returns {boolean} Returns `true` if `key` exists, else `false`. - */ -function baseHasIn(object, key) { - return object != null && key in Object(object); -} - -module.exports = baseHasIn; diff --git a/packages/frontend-core/node_modules/lodash/_baseInRange.js b/packages/frontend-core/node_modules/lodash/_baseInRange.js deleted file mode 100644 index ec95666187..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseInRange.js +++ /dev/null @@ -1,18 +0,0 @@ -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeMax = Math.max, - nativeMin = Math.min; - -/** - * The base implementation of `_.inRange` which doesn't coerce arguments. - * - * @private - * @param {number} number The number to check. - * @param {number} start The start of the range. - * @param {number} end The end of the range. - * @returns {boolean} Returns `true` if `number` is in the range, else `false`. - */ -function baseInRange(number, start, end) { - return number >= nativeMin(start, end) && number < nativeMax(start, end); -} - -module.exports = baseInRange; diff --git a/packages/frontend-core/node_modules/lodash/_baseIndexOf.js b/packages/frontend-core/node_modules/lodash/_baseIndexOf.js deleted file mode 100644 index 167e706e79..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseIndexOf.js +++ /dev/null @@ -1,20 +0,0 @@ -var baseFindIndex = require('./_baseFindIndex'), - baseIsNaN = require('./_baseIsNaN'), - strictIndexOf = require('./_strictIndexOf'); - -/** - * The base implementation of `_.indexOf` without `fromIndex` bounds checks. - * - * @private - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @param {number} fromIndex The index to search from. - * @returns {number} Returns the index of the matched value, else `-1`. - */ -function baseIndexOf(array, value, fromIndex) { - return value === value - ? strictIndexOf(array, value, fromIndex) - : baseFindIndex(array, baseIsNaN, fromIndex); -} - -module.exports = baseIndexOf; diff --git a/packages/frontend-core/node_modules/lodash/_baseIndexOfWith.js b/packages/frontend-core/node_modules/lodash/_baseIndexOfWith.js deleted file mode 100644 index f815fe0dda..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseIndexOfWith.js +++ /dev/null @@ -1,23 +0,0 @@ -/** - * This function is like `baseIndexOf` except that it accepts a comparator. - * - * @private - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @param {number} fromIndex The index to search from. - * @param {Function} comparator The comparator invoked per element. - * @returns {number} Returns the index of the matched value, else `-1`. - */ -function baseIndexOfWith(array, value, fromIndex, comparator) { - var index = fromIndex - 1, - length = array.length; - - while (++index < length) { - if (comparator(array[index], value)) { - return index; - } - } - return -1; -} - -module.exports = baseIndexOfWith; diff --git a/packages/frontend-core/node_modules/lodash/_baseIntersection.js b/packages/frontend-core/node_modules/lodash/_baseIntersection.js deleted file mode 100644 index c1d250c2aa..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseIntersection.js +++ /dev/null @@ -1,74 +0,0 @@ -var SetCache = require('./_SetCache'), - arrayIncludes = require('./_arrayIncludes'), - arrayIncludesWith = require('./_arrayIncludesWith'), - arrayMap = require('./_arrayMap'), - baseUnary = require('./_baseUnary'), - cacheHas = require('./_cacheHas'); - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeMin = Math.min; - -/** - * The base implementation of methods like `_.intersection`, without support - * for iteratee shorthands, that accepts an array of arrays to inspect. - * - * @private - * @param {Array} arrays The arrays to inspect. - * @param {Function} [iteratee] The iteratee invoked per element. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new array of shared values. - */ -function baseIntersection(arrays, iteratee, comparator) { - var includes = comparator ? arrayIncludesWith : arrayIncludes, - length = arrays[0].length, - othLength = arrays.length, - othIndex = othLength, - caches = Array(othLength), - maxLength = Infinity, - result = []; - - while (othIndex--) { - var array = arrays[othIndex]; - if (othIndex && iteratee) { - array = arrayMap(array, baseUnary(iteratee)); - } - maxLength = nativeMin(array.length, maxLength); - caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120)) - ? new SetCache(othIndex && array) - : undefined; - } - array = arrays[0]; - - var index = -1, - seen = caches[0]; - - outer: - while (++index < length && result.length < maxLength) { - var value = array[index], - computed = iteratee ? iteratee(value) : value; - - value = (comparator || value !== 0) ? value : 0; - if (!(seen - ? cacheHas(seen, computed) - : includes(result, computed, comparator) - )) { - othIndex = othLength; - while (--othIndex) { - var cache = caches[othIndex]; - if (!(cache - ? cacheHas(cache, computed) - : includes(arrays[othIndex], computed, comparator)) - ) { - continue outer; - } - } - if (seen) { - seen.push(computed); - } - result.push(value); - } - } - return result; -} - -module.exports = baseIntersection; diff --git a/packages/frontend-core/node_modules/lodash/_baseInverter.js b/packages/frontend-core/node_modules/lodash/_baseInverter.js deleted file mode 100644 index fbc337f01e..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseInverter.js +++ /dev/null @@ -1,21 +0,0 @@ -var baseForOwn = require('./_baseForOwn'); - -/** - * The base implementation of `_.invert` and `_.invertBy` which inverts - * `object` with values transformed by `iteratee` and set by `setter`. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} setter The function to set `accumulator` values. - * @param {Function} iteratee The iteratee to transform values. - * @param {Object} accumulator The initial inverted object. - * @returns {Function} Returns `accumulator`. - */ -function baseInverter(object, setter, iteratee, accumulator) { - baseForOwn(object, function(value, key, object) { - setter(accumulator, iteratee(value), key, object); - }); - return accumulator; -} - -module.exports = baseInverter; diff --git a/packages/frontend-core/node_modules/lodash/_baseInvoke.js b/packages/frontend-core/node_modules/lodash/_baseInvoke.js deleted file mode 100644 index 49bcf3c353..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseInvoke.js +++ /dev/null @@ -1,24 +0,0 @@ -var apply = require('./_apply'), - castPath = require('./_castPath'), - last = require('./last'), - parent = require('./_parent'), - toKey = require('./_toKey'); - -/** - * The base implementation of `_.invoke` without support for individual - * method arguments. - * - * @private - * @param {Object} object The object to query. - * @param {Array|string} path The path of the method to invoke. - * @param {Array} args The arguments to invoke the method with. - * @returns {*} Returns the result of the invoked method. - */ -function baseInvoke(object, path, args) { - path = castPath(path, object); - object = parent(object, path); - var func = object == null ? object : object[toKey(last(path))]; - return func == null ? undefined : apply(func, object, args); -} - -module.exports = baseInvoke; diff --git a/packages/frontend-core/node_modules/lodash/_baseIsArguments.js b/packages/frontend-core/node_modules/lodash/_baseIsArguments.js deleted file mode 100644 index b3562cca2c..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseIsArguments.js +++ /dev/null @@ -1,18 +0,0 @@ -var baseGetTag = require('./_baseGetTag'), - isObjectLike = require('./isObjectLike'); - -/** `Object#toString` result references. */ -var argsTag = '[object Arguments]'; - -/** - * The base implementation of `_.isArguments`. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an `arguments` object, - */ -function baseIsArguments(value) { - return isObjectLike(value) && baseGetTag(value) == argsTag; -} - -module.exports = baseIsArguments; diff --git a/packages/frontend-core/node_modules/lodash/_baseIsArrayBuffer.js b/packages/frontend-core/node_modules/lodash/_baseIsArrayBuffer.js deleted file mode 100644 index a2c4f30a82..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseIsArrayBuffer.js +++ /dev/null @@ -1,17 +0,0 @@ -var baseGetTag = require('./_baseGetTag'), - isObjectLike = require('./isObjectLike'); - -var arrayBufferTag = '[object ArrayBuffer]'; - -/** - * The base implementation of `_.isArrayBuffer` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`. - */ -function baseIsArrayBuffer(value) { - return isObjectLike(value) && baseGetTag(value) == arrayBufferTag; -} - -module.exports = baseIsArrayBuffer; diff --git a/packages/frontend-core/node_modules/lodash/_baseIsDate.js b/packages/frontend-core/node_modules/lodash/_baseIsDate.js deleted file mode 100644 index ba67c7857f..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseIsDate.js +++ /dev/null @@ -1,18 +0,0 @@ -var baseGetTag = require('./_baseGetTag'), - isObjectLike = require('./isObjectLike'); - -/** `Object#toString` result references. */ -var dateTag = '[object Date]'; - -/** - * The base implementation of `_.isDate` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a date object, else `false`. - */ -function baseIsDate(value) { - return isObjectLike(value) && baseGetTag(value) == dateTag; -} - -module.exports = baseIsDate; diff --git a/packages/frontend-core/node_modules/lodash/_baseIsEqual.js b/packages/frontend-core/node_modules/lodash/_baseIsEqual.js deleted file mode 100644 index 00a68a4f51..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseIsEqual.js +++ /dev/null @@ -1,28 +0,0 @@ -var baseIsEqualDeep = require('./_baseIsEqualDeep'), - isObjectLike = require('./isObjectLike'); - -/** - * The base implementation of `_.isEqual` which supports partial comparisons - * and tracks traversed objects. - * - * @private - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @param {boolean} bitmask The bitmask flags. - * 1 - Unordered comparison - * 2 - Partial comparison - * @param {Function} [customizer] The function to customize comparisons. - * @param {Object} [stack] Tracks traversed `value` and `other` objects. - * @returns {boolean} Returns `true` if the values are equivalent, else `false`. - */ -function baseIsEqual(value, other, bitmask, customizer, stack) { - if (value === other) { - return true; - } - if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) { - return value !== value && other !== other; - } - return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack); -} - -module.exports = baseIsEqual; diff --git a/packages/frontend-core/node_modules/lodash/_baseIsEqualDeep.js b/packages/frontend-core/node_modules/lodash/_baseIsEqualDeep.js deleted file mode 100644 index e3cfd6a8d0..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseIsEqualDeep.js +++ /dev/null @@ -1,83 +0,0 @@ -var Stack = require('./_Stack'), - equalArrays = require('./_equalArrays'), - equalByTag = require('./_equalByTag'), - equalObjects = require('./_equalObjects'), - getTag = require('./_getTag'), - isArray = require('./isArray'), - isBuffer = require('./isBuffer'), - isTypedArray = require('./isTypedArray'); - -/** Used to compose bitmasks for value comparisons. */ -var COMPARE_PARTIAL_FLAG = 1; - -/** `Object#toString` result references. */ -var argsTag = '[object Arguments]', - arrayTag = '[object Array]', - objectTag = '[object Object]'; - -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * A specialized version of `baseIsEqual` for arrays and objects which performs - * deep comparisons and tracks traversed objects enabling objects with circular - * references to be compared. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Object} [stack] Tracks traversed `object` and `other` objects. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */ -function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { - var objIsArr = isArray(object), - othIsArr = isArray(other), - objTag = objIsArr ? arrayTag : getTag(object), - othTag = othIsArr ? arrayTag : getTag(other); - - objTag = objTag == argsTag ? objectTag : objTag; - othTag = othTag == argsTag ? objectTag : othTag; - - var objIsObj = objTag == objectTag, - othIsObj = othTag == objectTag, - isSameTag = objTag == othTag; - - if (isSameTag && isBuffer(object)) { - if (!isBuffer(other)) { - return false; - } - objIsArr = true; - objIsObj = false; - } - if (isSameTag && !objIsObj) { - stack || (stack = new Stack); - return (objIsArr || isTypedArray(object)) - ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) - : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); - } - if (!(bitmask & COMPARE_PARTIAL_FLAG)) { - var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'), - othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__'); - - if (objIsWrapped || othIsWrapped) { - var objUnwrapped = objIsWrapped ? object.value() : object, - othUnwrapped = othIsWrapped ? other.value() : other; - - stack || (stack = new Stack); - return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); - } - } - if (!isSameTag) { - return false; - } - stack || (stack = new Stack); - return equalObjects(object, other, bitmask, customizer, equalFunc, stack); -} - -module.exports = baseIsEqualDeep; diff --git a/packages/frontend-core/node_modules/lodash/_baseIsMap.js b/packages/frontend-core/node_modules/lodash/_baseIsMap.js deleted file mode 100644 index 02a4021cab..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseIsMap.js +++ /dev/null @@ -1,18 +0,0 @@ -var getTag = require('./_getTag'), - isObjectLike = require('./isObjectLike'); - -/** `Object#toString` result references. */ -var mapTag = '[object Map]'; - -/** - * The base implementation of `_.isMap` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a map, else `false`. - */ -function baseIsMap(value) { - return isObjectLike(value) && getTag(value) == mapTag; -} - -module.exports = baseIsMap; diff --git a/packages/frontend-core/node_modules/lodash/_baseIsMatch.js b/packages/frontend-core/node_modules/lodash/_baseIsMatch.js deleted file mode 100644 index 72494bed40..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseIsMatch.js +++ /dev/null @@ -1,62 +0,0 @@ -var Stack = require('./_Stack'), - baseIsEqual = require('./_baseIsEqual'); - -/** Used to compose bitmasks for value comparisons. */ -var COMPARE_PARTIAL_FLAG = 1, - COMPARE_UNORDERED_FLAG = 2; - -/** - * The base implementation of `_.isMatch` without support for iteratee shorthands. - * - * @private - * @param {Object} object The object to inspect. - * @param {Object} source The object of property values to match. - * @param {Array} matchData The property names, values, and compare flags to match. - * @param {Function} [customizer] The function to customize comparisons. - * @returns {boolean} Returns `true` if `object` is a match, else `false`. - */ -function baseIsMatch(object, source, matchData, customizer) { - var index = matchData.length, - length = index, - noCustomizer = !customizer; - - if (object == null) { - return !length; - } - object = Object(object); - while (index--) { - var data = matchData[index]; - if ((noCustomizer && data[2]) - ? data[1] !== object[data[0]] - : !(data[0] in object) - ) { - return false; - } - } - while (++index < length) { - data = matchData[index]; - var key = data[0], - objValue = object[key], - srcValue = data[1]; - - if (noCustomizer && data[2]) { - if (objValue === undefined && !(key in object)) { - return false; - } - } else { - var stack = new Stack; - if (customizer) { - var result = customizer(objValue, srcValue, key, object, source, stack); - } - if (!(result === undefined - ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack) - : result - )) { - return false; - } - } - } - return true; -} - -module.exports = baseIsMatch; diff --git a/packages/frontend-core/node_modules/lodash/_baseIsNaN.js b/packages/frontend-core/node_modules/lodash/_baseIsNaN.js deleted file mode 100644 index 316f1eb1ef..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseIsNaN.js +++ /dev/null @@ -1,12 +0,0 @@ -/** - * The base implementation of `_.isNaN` without support for number objects. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. - */ -function baseIsNaN(value) { - return value !== value; -} - -module.exports = baseIsNaN; diff --git a/packages/frontend-core/node_modules/lodash/_baseIsNative.js b/packages/frontend-core/node_modules/lodash/_baseIsNative.js deleted file mode 100644 index 8702330495..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseIsNative.js +++ /dev/null @@ -1,47 +0,0 @@ -var isFunction = require('./isFunction'), - isMasked = require('./_isMasked'), - isObject = require('./isObject'), - toSource = require('./_toSource'); - -/** - * Used to match `RegExp` - * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). - */ -var reRegExpChar = /[\\^$.*+?()[\]{}|]/g; - -/** Used to detect host constructors (Safari). */ -var reIsHostCtor = /^\[object .+?Constructor\]$/; - -/** Used for built-in method references. */ -var funcProto = Function.prototype, - objectProto = Object.prototype; - -/** Used to resolve the decompiled source of functions. */ -var funcToString = funcProto.toString; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** Used to detect if a method is native. */ -var reIsNative = RegExp('^' + - funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&') - .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' -); - -/** - * The base implementation of `_.isNative` without bad shim checks. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a native function, - * else `false`. - */ -function baseIsNative(value) { - if (!isObject(value) || isMasked(value)) { - return false; - } - var pattern = isFunction(value) ? reIsNative : reIsHostCtor; - return pattern.test(toSource(value)); -} - -module.exports = baseIsNative; diff --git a/packages/frontend-core/node_modules/lodash/_baseIsRegExp.js b/packages/frontend-core/node_modules/lodash/_baseIsRegExp.js deleted file mode 100644 index 6cd7c1aee7..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseIsRegExp.js +++ /dev/null @@ -1,18 +0,0 @@ -var baseGetTag = require('./_baseGetTag'), - isObjectLike = require('./isObjectLike'); - -/** `Object#toString` result references. */ -var regexpTag = '[object RegExp]'; - -/** - * The base implementation of `_.isRegExp` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a regexp, else `false`. - */ -function baseIsRegExp(value) { - return isObjectLike(value) && baseGetTag(value) == regexpTag; -} - -module.exports = baseIsRegExp; diff --git a/packages/frontend-core/node_modules/lodash/_baseIsSet.js b/packages/frontend-core/node_modules/lodash/_baseIsSet.js deleted file mode 100644 index 6dee36716e..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseIsSet.js +++ /dev/null @@ -1,18 +0,0 @@ -var getTag = require('./_getTag'), - isObjectLike = require('./isObjectLike'); - -/** `Object#toString` result references. */ -var setTag = '[object Set]'; - -/** - * The base implementation of `_.isSet` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a set, else `false`. - */ -function baseIsSet(value) { - return isObjectLike(value) && getTag(value) == setTag; -} - -module.exports = baseIsSet; diff --git a/packages/frontend-core/node_modules/lodash/_baseIsTypedArray.js b/packages/frontend-core/node_modules/lodash/_baseIsTypedArray.js deleted file mode 100644 index 1edb32ff3f..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseIsTypedArray.js +++ /dev/null @@ -1,60 +0,0 @@ -var baseGetTag = require('./_baseGetTag'), - isLength = require('./isLength'), - isObjectLike = require('./isObjectLike'); - -/** `Object#toString` result references. */ -var argsTag = '[object Arguments]', - arrayTag = '[object Array]', - boolTag = '[object Boolean]', - dateTag = '[object Date]', - errorTag = '[object Error]', - funcTag = '[object Function]', - mapTag = '[object Map]', - numberTag = '[object Number]', - objectTag = '[object Object]', - regexpTag = '[object RegExp]', - setTag = '[object Set]', - stringTag = '[object String]', - weakMapTag = '[object WeakMap]'; - -var arrayBufferTag = '[object ArrayBuffer]', - dataViewTag = '[object DataView]', - float32Tag = '[object Float32Array]', - float64Tag = '[object Float64Array]', - int8Tag = '[object Int8Array]', - int16Tag = '[object Int16Array]', - int32Tag = '[object Int32Array]', - uint8Tag = '[object Uint8Array]', - uint8ClampedTag = '[object Uint8ClampedArray]', - uint16Tag = '[object Uint16Array]', - uint32Tag = '[object Uint32Array]'; - -/** Used to identify `toStringTag` values of typed arrays. */ -var typedArrayTags = {}; -typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = -typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = -typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = -typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = -typedArrayTags[uint32Tag] = true; -typedArrayTags[argsTag] = typedArrayTags[arrayTag] = -typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = -typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = -typedArrayTags[errorTag] = typedArrayTags[funcTag] = -typedArrayTags[mapTag] = typedArrayTags[numberTag] = -typedArrayTags[objectTag] = typedArrayTags[regexpTag] = -typedArrayTags[setTag] = typedArrayTags[stringTag] = -typedArrayTags[weakMapTag] = false; - -/** - * The base implementation of `_.isTypedArray` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. - */ -function baseIsTypedArray(value) { - return isObjectLike(value) && - isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; -} - -module.exports = baseIsTypedArray; diff --git a/packages/frontend-core/node_modules/lodash/_baseIteratee.js b/packages/frontend-core/node_modules/lodash/_baseIteratee.js deleted file mode 100644 index 995c257567..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseIteratee.js +++ /dev/null @@ -1,31 +0,0 @@ -var baseMatches = require('./_baseMatches'), - baseMatchesProperty = require('./_baseMatchesProperty'), - identity = require('./identity'), - isArray = require('./isArray'), - property = require('./property'); - -/** - * The base implementation of `_.iteratee`. - * - * @private - * @param {*} [value=_.identity] The value to convert to an iteratee. - * @returns {Function} Returns the iteratee. - */ -function baseIteratee(value) { - // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9. - // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details. - if (typeof value == 'function') { - return value; - } - if (value == null) { - return identity; - } - if (typeof value == 'object') { - return isArray(value) - ? baseMatchesProperty(value[0], value[1]) - : baseMatches(value); - } - return property(value); -} - -module.exports = baseIteratee; diff --git a/packages/frontend-core/node_modules/lodash/_baseKeys.js b/packages/frontend-core/node_modules/lodash/_baseKeys.js deleted file mode 100644 index 45e9e6f39f..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseKeys.js +++ /dev/null @@ -1,30 +0,0 @@ -var isPrototype = require('./_isPrototype'), - nativeKeys = require('./_nativeKeys'); - -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * The base implementation of `_.keys` which doesn't treat sparse arrays as dense. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - */ -function baseKeys(object) { - if (!isPrototype(object)) { - return nativeKeys(object); - } - var result = []; - for (var key in Object(object)) { - if (hasOwnProperty.call(object, key) && key != 'constructor') { - result.push(key); - } - } - return result; -} - -module.exports = baseKeys; diff --git a/packages/frontend-core/node_modules/lodash/_baseKeysIn.js b/packages/frontend-core/node_modules/lodash/_baseKeysIn.js deleted file mode 100644 index ea8a0a1742..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseKeysIn.js +++ /dev/null @@ -1,33 +0,0 @@ -var isObject = require('./isObject'), - isPrototype = require('./_isPrototype'), - nativeKeysIn = require('./_nativeKeysIn'); - -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - */ -function baseKeysIn(object) { - if (!isObject(object)) { - return nativeKeysIn(object); - } - var isProto = isPrototype(object), - result = []; - - for (var key in object) { - if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) { - result.push(key); - } - } - return result; -} - -module.exports = baseKeysIn; diff --git a/packages/frontend-core/node_modules/lodash/_baseLodash.js b/packages/frontend-core/node_modules/lodash/_baseLodash.js deleted file mode 100644 index f76c790e2e..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseLodash.js +++ /dev/null @@ -1,10 +0,0 @@ -/** - * The function whose prototype chain sequence wrappers inherit from. - * - * @private - */ -function baseLodash() { - // No operation performed. -} - -module.exports = baseLodash; diff --git a/packages/frontend-core/node_modules/lodash/_baseLt.js b/packages/frontend-core/node_modules/lodash/_baseLt.js deleted file mode 100644 index 8674d2946a..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseLt.js +++ /dev/null @@ -1,14 +0,0 @@ -/** - * The base implementation of `_.lt` which doesn't coerce arguments. - * - * @private - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if `value` is less than `other`, - * else `false`. - */ -function baseLt(value, other) { - return value < other; -} - -module.exports = baseLt; diff --git a/packages/frontend-core/node_modules/lodash/_baseMap.js b/packages/frontend-core/node_modules/lodash/_baseMap.js deleted file mode 100644 index 0bf5cead5c..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseMap.js +++ /dev/null @@ -1,22 +0,0 @@ -var baseEach = require('./_baseEach'), - isArrayLike = require('./isArrayLike'); - -/** - * The base implementation of `_.map` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns the new mapped array. - */ -function baseMap(collection, iteratee) { - var index = -1, - result = isArrayLike(collection) ? Array(collection.length) : []; - - baseEach(collection, function(value, key, collection) { - result[++index] = iteratee(value, key, collection); - }); - return result; -} - -module.exports = baseMap; diff --git a/packages/frontend-core/node_modules/lodash/_baseMatches.js b/packages/frontend-core/node_modules/lodash/_baseMatches.js deleted file mode 100644 index e56582ad88..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseMatches.js +++ /dev/null @@ -1,22 +0,0 @@ -var baseIsMatch = require('./_baseIsMatch'), - getMatchData = require('./_getMatchData'), - matchesStrictComparable = require('./_matchesStrictComparable'); - -/** - * The base implementation of `_.matches` which doesn't clone `source`. - * - * @private - * @param {Object} source The object of property values to match. - * @returns {Function} Returns the new spec function. - */ -function baseMatches(source) { - var matchData = getMatchData(source); - if (matchData.length == 1 && matchData[0][2]) { - return matchesStrictComparable(matchData[0][0], matchData[0][1]); - } - return function(object) { - return object === source || baseIsMatch(object, source, matchData); - }; -} - -module.exports = baseMatches; diff --git a/packages/frontend-core/node_modules/lodash/_baseMatchesProperty.js b/packages/frontend-core/node_modules/lodash/_baseMatchesProperty.js deleted file mode 100644 index 24afd893d2..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseMatchesProperty.js +++ /dev/null @@ -1,33 +0,0 @@ -var baseIsEqual = require('./_baseIsEqual'), - get = require('./get'), - hasIn = require('./hasIn'), - isKey = require('./_isKey'), - isStrictComparable = require('./_isStrictComparable'), - matchesStrictComparable = require('./_matchesStrictComparable'), - toKey = require('./_toKey'); - -/** Used to compose bitmasks for value comparisons. */ -var COMPARE_PARTIAL_FLAG = 1, - COMPARE_UNORDERED_FLAG = 2; - -/** - * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`. - * - * @private - * @param {string} path The path of the property to get. - * @param {*} srcValue The value to match. - * @returns {Function} Returns the new spec function. - */ -function baseMatchesProperty(path, srcValue) { - if (isKey(path) && isStrictComparable(srcValue)) { - return matchesStrictComparable(toKey(path), srcValue); - } - return function(object) { - var objValue = get(object, path); - return (objValue === undefined && objValue === srcValue) - ? hasIn(object, path) - : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG); - }; -} - -module.exports = baseMatchesProperty; diff --git a/packages/frontend-core/node_modules/lodash/_baseMean.js b/packages/frontend-core/node_modules/lodash/_baseMean.js deleted file mode 100644 index fa9e00a0a2..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseMean.js +++ /dev/null @@ -1,20 +0,0 @@ -var baseSum = require('./_baseSum'); - -/** Used as references for various `Number` constants. */ -var NAN = 0 / 0; - -/** - * The base implementation of `_.mean` and `_.meanBy` without support for - * iteratee shorthands. - * - * @private - * @param {Array} array The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {number} Returns the mean. - */ -function baseMean(array, iteratee) { - var length = array == null ? 0 : array.length; - return length ? (baseSum(array, iteratee) / length) : NAN; -} - -module.exports = baseMean; diff --git a/packages/frontend-core/node_modules/lodash/_baseMerge.js b/packages/frontend-core/node_modules/lodash/_baseMerge.js deleted file mode 100644 index c98b5eb0b6..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseMerge.js +++ /dev/null @@ -1,42 +0,0 @@ -var Stack = require('./_Stack'), - assignMergeValue = require('./_assignMergeValue'), - baseFor = require('./_baseFor'), - baseMergeDeep = require('./_baseMergeDeep'), - isObject = require('./isObject'), - keysIn = require('./keysIn'), - safeGet = require('./_safeGet'); - -/** - * The base implementation of `_.merge` without support for multiple sources. - * - * @private - * @param {Object} object The destination object. - * @param {Object} source The source object. - * @param {number} srcIndex The index of `source`. - * @param {Function} [customizer] The function to customize merged values. - * @param {Object} [stack] Tracks traversed source values and their merged - * counterparts. - */ -function baseMerge(object, source, srcIndex, customizer, stack) { - if (object === source) { - return; - } - baseFor(source, function(srcValue, key) { - stack || (stack = new Stack); - if (isObject(srcValue)) { - baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack); - } - else { - var newValue = customizer - ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack) - : undefined; - - if (newValue === undefined) { - newValue = srcValue; - } - assignMergeValue(object, key, newValue); - } - }, keysIn); -} - -module.exports = baseMerge; diff --git a/packages/frontend-core/node_modules/lodash/_baseMergeDeep.js b/packages/frontend-core/node_modules/lodash/_baseMergeDeep.js deleted file mode 100644 index 4679e8dce4..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseMergeDeep.js +++ /dev/null @@ -1,94 +0,0 @@ -var assignMergeValue = require('./_assignMergeValue'), - cloneBuffer = require('./_cloneBuffer'), - cloneTypedArray = require('./_cloneTypedArray'), - copyArray = require('./_copyArray'), - initCloneObject = require('./_initCloneObject'), - isArguments = require('./isArguments'), - isArray = require('./isArray'), - isArrayLikeObject = require('./isArrayLikeObject'), - isBuffer = require('./isBuffer'), - isFunction = require('./isFunction'), - isObject = require('./isObject'), - isPlainObject = require('./isPlainObject'), - isTypedArray = require('./isTypedArray'), - safeGet = require('./_safeGet'), - toPlainObject = require('./toPlainObject'); - -/** - * A specialized version of `baseMerge` for arrays and objects which performs - * deep merges and tracks traversed objects enabling objects with circular - * references to be merged. - * - * @private - * @param {Object} object The destination object. - * @param {Object} source The source object. - * @param {string} key The key of the value to merge. - * @param {number} srcIndex The index of `source`. - * @param {Function} mergeFunc The function to merge values. - * @param {Function} [customizer] The function to customize assigned values. - * @param {Object} [stack] Tracks traversed source values and their merged - * counterparts. - */ -function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) { - var objValue = safeGet(object, key), - srcValue = safeGet(source, key), - stacked = stack.get(srcValue); - - if (stacked) { - assignMergeValue(object, key, stacked); - return; - } - var newValue = customizer - ? customizer(objValue, srcValue, (key + ''), object, source, stack) - : undefined; - - var isCommon = newValue === undefined; - - if (isCommon) { - var isArr = isArray(srcValue), - isBuff = !isArr && isBuffer(srcValue), - isTyped = !isArr && !isBuff && isTypedArray(srcValue); - - newValue = srcValue; - if (isArr || isBuff || isTyped) { - if (isArray(objValue)) { - newValue = objValue; - } - else if (isArrayLikeObject(objValue)) { - newValue = copyArray(objValue); - } - else if (isBuff) { - isCommon = false; - newValue = cloneBuffer(srcValue, true); - } - else if (isTyped) { - isCommon = false; - newValue = cloneTypedArray(srcValue, true); - } - else { - newValue = []; - } - } - else if (isPlainObject(srcValue) || isArguments(srcValue)) { - newValue = objValue; - if (isArguments(objValue)) { - newValue = toPlainObject(objValue); - } - else if (!isObject(objValue) || isFunction(objValue)) { - newValue = initCloneObject(srcValue); - } - } - else { - isCommon = false; - } - } - if (isCommon) { - // Recursively merge objects and arrays (susceptible to call stack limits). - stack.set(srcValue, newValue); - mergeFunc(newValue, srcValue, srcIndex, customizer, stack); - stack['delete'](srcValue); - } - assignMergeValue(object, key, newValue); -} - -module.exports = baseMergeDeep; diff --git a/packages/frontend-core/node_modules/lodash/_baseNth.js b/packages/frontend-core/node_modules/lodash/_baseNth.js deleted file mode 100644 index 0403c2a368..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseNth.js +++ /dev/null @@ -1,20 +0,0 @@ -var isIndex = require('./_isIndex'); - -/** - * The base implementation of `_.nth` which doesn't coerce arguments. - * - * @private - * @param {Array} array The array to query. - * @param {number} n The index of the element to return. - * @returns {*} Returns the nth element of `array`. - */ -function baseNth(array, n) { - var length = array.length; - if (!length) { - return; - } - n += n < 0 ? length : 0; - return isIndex(n, length) ? array[n] : undefined; -} - -module.exports = baseNth; diff --git a/packages/frontend-core/node_modules/lodash/_baseOrderBy.js b/packages/frontend-core/node_modules/lodash/_baseOrderBy.js deleted file mode 100644 index 775a01741e..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseOrderBy.js +++ /dev/null @@ -1,49 +0,0 @@ -var arrayMap = require('./_arrayMap'), - baseGet = require('./_baseGet'), - baseIteratee = require('./_baseIteratee'), - baseMap = require('./_baseMap'), - baseSortBy = require('./_baseSortBy'), - baseUnary = require('./_baseUnary'), - compareMultiple = require('./_compareMultiple'), - identity = require('./identity'), - isArray = require('./isArray'); - -/** - * The base implementation of `_.orderBy` without param guards. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by. - * @param {string[]} orders The sort orders of `iteratees`. - * @returns {Array} Returns the new sorted array. - */ -function baseOrderBy(collection, iteratees, orders) { - if (iteratees.length) { - iteratees = arrayMap(iteratees, function(iteratee) { - if (isArray(iteratee)) { - return function(value) { - return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee); - } - } - return iteratee; - }); - } else { - iteratees = [identity]; - } - - var index = -1; - iteratees = arrayMap(iteratees, baseUnary(baseIteratee)); - - var result = baseMap(collection, function(value, key, collection) { - var criteria = arrayMap(iteratees, function(iteratee) { - return iteratee(value); - }); - return { 'criteria': criteria, 'index': ++index, 'value': value }; - }); - - return baseSortBy(result, function(object, other) { - return compareMultiple(object, other, orders); - }); -} - -module.exports = baseOrderBy; diff --git a/packages/frontend-core/node_modules/lodash/_basePick.js b/packages/frontend-core/node_modules/lodash/_basePick.js deleted file mode 100644 index 09b458a600..0000000000 --- a/packages/frontend-core/node_modules/lodash/_basePick.js +++ /dev/null @@ -1,19 +0,0 @@ -var basePickBy = require('./_basePickBy'), - hasIn = require('./hasIn'); - -/** - * The base implementation of `_.pick` without support for individual - * property identifiers. - * - * @private - * @param {Object} object The source object. - * @param {string[]} paths The property paths to pick. - * @returns {Object} Returns the new object. - */ -function basePick(object, paths) { - return basePickBy(object, paths, function(value, path) { - return hasIn(object, path); - }); -} - -module.exports = basePick; diff --git a/packages/frontend-core/node_modules/lodash/_basePickBy.js b/packages/frontend-core/node_modules/lodash/_basePickBy.js deleted file mode 100644 index 85be68c84f..0000000000 --- a/packages/frontend-core/node_modules/lodash/_basePickBy.js +++ /dev/null @@ -1,30 +0,0 @@ -var baseGet = require('./_baseGet'), - baseSet = require('./_baseSet'), - castPath = require('./_castPath'); - -/** - * The base implementation of `_.pickBy` without support for iteratee shorthands. - * - * @private - * @param {Object} object The source object. - * @param {string[]} paths The property paths to pick. - * @param {Function} predicate The function invoked per property. - * @returns {Object} Returns the new object. - */ -function basePickBy(object, paths, predicate) { - var index = -1, - length = paths.length, - result = {}; - - while (++index < length) { - var path = paths[index], - value = baseGet(object, path); - - if (predicate(value, path)) { - baseSet(result, castPath(path, object), value); - } - } - return result; -} - -module.exports = basePickBy; diff --git a/packages/frontend-core/node_modules/lodash/_baseProperty.js b/packages/frontend-core/node_modules/lodash/_baseProperty.js deleted file mode 100644 index 496281ec40..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseProperty.js +++ /dev/null @@ -1,14 +0,0 @@ -/** - * The base implementation of `_.property` without support for deep paths. - * - * @private - * @param {string} key The key of the property to get. - * @returns {Function} Returns the new accessor function. - */ -function baseProperty(key) { - return function(object) { - return object == null ? undefined : object[key]; - }; -} - -module.exports = baseProperty; diff --git a/packages/frontend-core/node_modules/lodash/_basePropertyDeep.js b/packages/frontend-core/node_modules/lodash/_basePropertyDeep.js deleted file mode 100644 index 1e5aae50c4..0000000000 --- a/packages/frontend-core/node_modules/lodash/_basePropertyDeep.js +++ /dev/null @@ -1,16 +0,0 @@ -var baseGet = require('./_baseGet'); - -/** - * A specialized version of `baseProperty` which supports deep paths. - * - * @private - * @param {Array|string} path The path of the property to get. - * @returns {Function} Returns the new accessor function. - */ -function basePropertyDeep(path) { - return function(object) { - return baseGet(object, path); - }; -} - -module.exports = basePropertyDeep; diff --git a/packages/frontend-core/node_modules/lodash/_basePropertyOf.js b/packages/frontend-core/node_modules/lodash/_basePropertyOf.js deleted file mode 100644 index 4617399908..0000000000 --- a/packages/frontend-core/node_modules/lodash/_basePropertyOf.js +++ /dev/null @@ -1,14 +0,0 @@ -/** - * The base implementation of `_.propertyOf` without support for deep paths. - * - * @private - * @param {Object} object The object to query. - * @returns {Function} Returns the new accessor function. - */ -function basePropertyOf(object) { - return function(key) { - return object == null ? undefined : object[key]; - }; -} - -module.exports = basePropertyOf; diff --git a/packages/frontend-core/node_modules/lodash/_basePullAll.js b/packages/frontend-core/node_modules/lodash/_basePullAll.js deleted file mode 100644 index 305720edea..0000000000 --- a/packages/frontend-core/node_modules/lodash/_basePullAll.js +++ /dev/null @@ -1,51 +0,0 @@ -var arrayMap = require('./_arrayMap'), - baseIndexOf = require('./_baseIndexOf'), - baseIndexOfWith = require('./_baseIndexOfWith'), - baseUnary = require('./_baseUnary'), - copyArray = require('./_copyArray'); - -/** Used for built-in method references. */ -var arrayProto = Array.prototype; - -/** Built-in value references. */ -var splice = arrayProto.splice; - -/** - * The base implementation of `_.pullAllBy` without support for iteratee - * shorthands. - * - * @private - * @param {Array} array The array to modify. - * @param {Array} values The values to remove. - * @param {Function} [iteratee] The iteratee invoked per element. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns `array`. - */ -function basePullAll(array, values, iteratee, comparator) { - var indexOf = comparator ? baseIndexOfWith : baseIndexOf, - index = -1, - length = values.length, - seen = array; - - if (array === values) { - values = copyArray(values); - } - if (iteratee) { - seen = arrayMap(array, baseUnary(iteratee)); - } - while (++index < length) { - var fromIndex = 0, - value = values[index], - computed = iteratee ? iteratee(value) : value; - - while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) { - if (seen !== array) { - splice.call(seen, fromIndex, 1); - } - splice.call(array, fromIndex, 1); - } - } - return array; -} - -module.exports = basePullAll; diff --git a/packages/frontend-core/node_modules/lodash/_basePullAt.js b/packages/frontend-core/node_modules/lodash/_basePullAt.js deleted file mode 100644 index c3e9e71023..0000000000 --- a/packages/frontend-core/node_modules/lodash/_basePullAt.js +++ /dev/null @@ -1,37 +0,0 @@ -var baseUnset = require('./_baseUnset'), - isIndex = require('./_isIndex'); - -/** Used for built-in method references. */ -var arrayProto = Array.prototype; - -/** Built-in value references. */ -var splice = arrayProto.splice; - -/** - * The base implementation of `_.pullAt` without support for individual - * indexes or capturing the removed elements. - * - * @private - * @param {Array} array The array to modify. - * @param {number[]} indexes The indexes of elements to remove. - * @returns {Array} Returns `array`. - */ -function basePullAt(array, indexes) { - var length = array ? indexes.length : 0, - lastIndex = length - 1; - - while (length--) { - var index = indexes[length]; - if (length == lastIndex || index !== previous) { - var previous = index; - if (isIndex(index)) { - splice.call(array, index, 1); - } else { - baseUnset(array, index); - } - } - } - return array; -} - -module.exports = basePullAt; diff --git a/packages/frontend-core/node_modules/lodash/_baseRandom.js b/packages/frontend-core/node_modules/lodash/_baseRandom.js deleted file mode 100644 index 94f76a7663..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseRandom.js +++ /dev/null @@ -1,18 +0,0 @@ -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeFloor = Math.floor, - nativeRandom = Math.random; - -/** - * The base implementation of `_.random` without support for returning - * floating-point numbers. - * - * @private - * @param {number} lower The lower bound. - * @param {number} upper The upper bound. - * @returns {number} Returns the random number. - */ -function baseRandom(lower, upper) { - return lower + nativeFloor(nativeRandom() * (upper - lower + 1)); -} - -module.exports = baseRandom; diff --git a/packages/frontend-core/node_modules/lodash/_baseRange.js b/packages/frontend-core/node_modules/lodash/_baseRange.js deleted file mode 100644 index 0fb8e419fb..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseRange.js +++ /dev/null @@ -1,28 +0,0 @@ -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeCeil = Math.ceil, - nativeMax = Math.max; - -/** - * The base implementation of `_.range` and `_.rangeRight` which doesn't - * coerce arguments. - * - * @private - * @param {number} start The start of the range. - * @param {number} end The end of the range. - * @param {number} step The value to increment or decrement by. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Array} Returns the range of numbers. - */ -function baseRange(start, end, step, fromRight) { - var index = -1, - length = nativeMax(nativeCeil((end - start) / (step || 1)), 0), - result = Array(length); - - while (length--) { - result[fromRight ? length : ++index] = start; - start += step; - } - return result; -} - -module.exports = baseRange; diff --git a/packages/frontend-core/node_modules/lodash/_baseReduce.js b/packages/frontend-core/node_modules/lodash/_baseReduce.js deleted file mode 100644 index 5a1f8b57f1..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseReduce.js +++ /dev/null @@ -1,23 +0,0 @@ -/** - * The base implementation of `_.reduce` and `_.reduceRight`, without support - * for iteratee shorthands, which iterates over `collection` using `eachFunc`. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {*} accumulator The initial value. - * @param {boolean} initAccum Specify using the first or last element of - * `collection` as the initial value. - * @param {Function} eachFunc The function to iterate over `collection`. - * @returns {*} Returns the accumulated value. - */ -function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) { - eachFunc(collection, function(value, index, collection) { - accumulator = initAccum - ? (initAccum = false, value) - : iteratee(accumulator, value, index, collection); - }); - return accumulator; -} - -module.exports = baseReduce; diff --git a/packages/frontend-core/node_modules/lodash/_baseRepeat.js b/packages/frontend-core/node_modules/lodash/_baseRepeat.js deleted file mode 100644 index ee44c31ab0..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseRepeat.js +++ /dev/null @@ -1,35 +0,0 @@ -/** Used as references for various `Number` constants. */ -var MAX_SAFE_INTEGER = 9007199254740991; - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeFloor = Math.floor; - -/** - * The base implementation of `_.repeat` which doesn't coerce arguments. - * - * @private - * @param {string} string The string to repeat. - * @param {number} n The number of times to repeat the string. - * @returns {string} Returns the repeated string. - */ -function baseRepeat(string, n) { - var result = ''; - if (!string || n < 1 || n > MAX_SAFE_INTEGER) { - return result; - } - // Leverage the exponentiation by squaring algorithm for a faster repeat. - // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details. - do { - if (n % 2) { - result += string; - } - n = nativeFloor(n / 2); - if (n) { - string += string; - } - } while (n); - - return result; -} - -module.exports = baseRepeat; diff --git a/packages/frontend-core/node_modules/lodash/_baseRest.js b/packages/frontend-core/node_modules/lodash/_baseRest.js deleted file mode 100644 index d0dc4bdd1f..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseRest.js +++ /dev/null @@ -1,17 +0,0 @@ -var identity = require('./identity'), - overRest = require('./_overRest'), - setToString = require('./_setToString'); - -/** - * The base implementation of `_.rest` which doesn't validate or coerce arguments. - * - * @private - * @param {Function} func The function to apply a rest parameter to. - * @param {number} [start=func.length-1] The start position of the rest parameter. - * @returns {Function} Returns the new function. - */ -function baseRest(func, start) { - return setToString(overRest(func, start, identity), func + ''); -} - -module.exports = baseRest; diff --git a/packages/frontend-core/node_modules/lodash/_baseSample.js b/packages/frontend-core/node_modules/lodash/_baseSample.js deleted file mode 100644 index 58582b9112..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseSample.js +++ /dev/null @@ -1,15 +0,0 @@ -var arraySample = require('./_arraySample'), - values = require('./values'); - -/** - * The base implementation of `_.sample`. - * - * @private - * @param {Array|Object} collection The collection to sample. - * @returns {*} Returns the random element. - */ -function baseSample(collection) { - return arraySample(values(collection)); -} - -module.exports = baseSample; diff --git a/packages/frontend-core/node_modules/lodash/_baseSampleSize.js b/packages/frontend-core/node_modules/lodash/_baseSampleSize.js deleted file mode 100644 index 5c90ec5181..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseSampleSize.js +++ /dev/null @@ -1,18 +0,0 @@ -var baseClamp = require('./_baseClamp'), - shuffleSelf = require('./_shuffleSelf'), - values = require('./values'); - -/** - * The base implementation of `_.sampleSize` without param guards. - * - * @private - * @param {Array|Object} collection The collection to sample. - * @param {number} n The number of elements to sample. - * @returns {Array} Returns the random elements. - */ -function baseSampleSize(collection, n) { - var array = values(collection); - return shuffleSelf(array, baseClamp(n, 0, array.length)); -} - -module.exports = baseSampleSize; diff --git a/packages/frontend-core/node_modules/lodash/_baseSet.js b/packages/frontend-core/node_modules/lodash/_baseSet.js deleted file mode 100644 index 99f4fbf9c3..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseSet.js +++ /dev/null @@ -1,51 +0,0 @@ -var assignValue = require('./_assignValue'), - castPath = require('./_castPath'), - isIndex = require('./_isIndex'), - isObject = require('./isObject'), - toKey = require('./_toKey'); - -/** - * The base implementation of `_.set`. - * - * @private - * @param {Object} object The object to modify. - * @param {Array|string} path The path of the property to set. - * @param {*} value The value to set. - * @param {Function} [customizer] The function to customize path creation. - * @returns {Object} Returns `object`. - */ -function baseSet(object, path, value, customizer) { - if (!isObject(object)) { - return object; - } - path = castPath(path, object); - - var index = -1, - length = path.length, - lastIndex = length - 1, - nested = object; - - while (nested != null && ++index < length) { - var key = toKey(path[index]), - newValue = value; - - if (key === '__proto__' || key === 'constructor' || key === 'prototype') { - return object; - } - - if (index != lastIndex) { - var objValue = nested[key]; - newValue = customizer ? customizer(objValue, key, nested) : undefined; - if (newValue === undefined) { - newValue = isObject(objValue) - ? objValue - : (isIndex(path[index + 1]) ? [] : {}); - } - } - assignValue(nested, key, newValue); - nested = nested[key]; - } - return object; -} - -module.exports = baseSet; diff --git a/packages/frontend-core/node_modules/lodash/_baseSetData.js b/packages/frontend-core/node_modules/lodash/_baseSetData.js deleted file mode 100644 index c409947ddb..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseSetData.js +++ /dev/null @@ -1,17 +0,0 @@ -var identity = require('./identity'), - metaMap = require('./_metaMap'); - -/** - * The base implementation of `setData` without support for hot loop shorting. - * - * @private - * @param {Function} func The function to associate metadata with. - * @param {*} data The metadata. - * @returns {Function} Returns `func`. - */ -var baseSetData = !metaMap ? identity : function(func, data) { - metaMap.set(func, data); - return func; -}; - -module.exports = baseSetData; diff --git a/packages/frontend-core/node_modules/lodash/_baseSetToString.js b/packages/frontend-core/node_modules/lodash/_baseSetToString.js deleted file mode 100644 index 89eaca38df..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseSetToString.js +++ /dev/null @@ -1,22 +0,0 @@ -var constant = require('./constant'), - defineProperty = require('./_defineProperty'), - identity = require('./identity'); - -/** - * The base implementation of `setToString` without support for hot loop shorting. - * - * @private - * @param {Function} func The function to modify. - * @param {Function} string The `toString` result. - * @returns {Function} Returns `func`. - */ -var baseSetToString = !defineProperty ? identity : function(func, string) { - return defineProperty(func, 'toString', { - 'configurable': true, - 'enumerable': false, - 'value': constant(string), - 'writable': true - }); -}; - -module.exports = baseSetToString; diff --git a/packages/frontend-core/node_modules/lodash/_baseShuffle.js b/packages/frontend-core/node_modules/lodash/_baseShuffle.js deleted file mode 100644 index 023077ac4e..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseShuffle.js +++ /dev/null @@ -1,15 +0,0 @@ -var shuffleSelf = require('./_shuffleSelf'), - values = require('./values'); - -/** - * The base implementation of `_.shuffle`. - * - * @private - * @param {Array|Object} collection The collection to shuffle. - * @returns {Array} Returns the new shuffled array. - */ -function baseShuffle(collection) { - return shuffleSelf(values(collection)); -} - -module.exports = baseShuffle; diff --git a/packages/frontend-core/node_modules/lodash/_baseSlice.js b/packages/frontend-core/node_modules/lodash/_baseSlice.js deleted file mode 100644 index 786f6c99e9..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseSlice.js +++ /dev/null @@ -1,31 +0,0 @@ -/** - * The base implementation of `_.slice` without an iteratee call guard. - * - * @private - * @param {Array} array The array to slice. - * @param {number} [start=0] The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns the slice of `array`. - */ -function baseSlice(array, start, end) { - var index = -1, - length = array.length; - - if (start < 0) { - start = -start > length ? 0 : (length + start); - } - end = end > length ? length : end; - if (end < 0) { - end += length; - } - length = start > end ? 0 : ((end - start) >>> 0); - start >>>= 0; - - var result = Array(length); - while (++index < length) { - result[index] = array[index + start]; - } - return result; -} - -module.exports = baseSlice; diff --git a/packages/frontend-core/node_modules/lodash/_baseSome.js b/packages/frontend-core/node_modules/lodash/_baseSome.js deleted file mode 100644 index 58f3f447a3..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseSome.js +++ /dev/null @@ -1,22 +0,0 @@ -var baseEach = require('./_baseEach'); - -/** - * The base implementation of `_.some` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {boolean} Returns `true` if any element passes the predicate check, - * else `false`. - */ -function baseSome(collection, predicate) { - var result; - - baseEach(collection, function(value, index, collection) { - result = predicate(value, index, collection); - return !result; - }); - return !!result; -} - -module.exports = baseSome; diff --git a/packages/frontend-core/node_modules/lodash/_baseSortBy.js b/packages/frontend-core/node_modules/lodash/_baseSortBy.js deleted file mode 100644 index a25c92eda6..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseSortBy.js +++ /dev/null @@ -1,21 +0,0 @@ -/** - * The base implementation of `_.sortBy` which uses `comparer` to define the - * sort order of `array` and replaces criteria objects with their corresponding - * values. - * - * @private - * @param {Array} array The array to sort. - * @param {Function} comparer The function to define sort order. - * @returns {Array} Returns `array`. - */ -function baseSortBy(array, comparer) { - var length = array.length; - - array.sort(comparer); - while (length--) { - array[length] = array[length].value; - } - return array; -} - -module.exports = baseSortBy; diff --git a/packages/frontend-core/node_modules/lodash/_baseSortedIndex.js b/packages/frontend-core/node_modules/lodash/_baseSortedIndex.js deleted file mode 100644 index 638c366c77..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseSortedIndex.js +++ /dev/null @@ -1,42 +0,0 @@ -var baseSortedIndexBy = require('./_baseSortedIndexBy'), - identity = require('./identity'), - isSymbol = require('./isSymbol'); - -/** Used as references for the maximum length and index of an array. */ -var MAX_ARRAY_LENGTH = 4294967295, - HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1; - -/** - * The base implementation of `_.sortedIndex` and `_.sortedLastIndex` which - * performs a binary search of `array` to determine the index at which `value` - * should be inserted into `array` in order to maintain its sort order. - * - * @private - * @param {Array} array The sorted array to inspect. - * @param {*} value The value to evaluate. - * @param {boolean} [retHighest] Specify returning the highest qualified index. - * @returns {number} Returns the index at which `value` should be inserted - * into `array`. - */ -function baseSortedIndex(array, value, retHighest) { - var low = 0, - high = array == null ? low : array.length; - - if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) { - while (low < high) { - var mid = (low + high) >>> 1, - computed = array[mid]; - - if (computed !== null && !isSymbol(computed) && - (retHighest ? (computed <= value) : (computed < value))) { - low = mid + 1; - } else { - high = mid; - } - } - return high; - } - return baseSortedIndexBy(array, value, identity, retHighest); -} - -module.exports = baseSortedIndex; diff --git a/packages/frontend-core/node_modules/lodash/_baseSortedIndexBy.js b/packages/frontend-core/node_modules/lodash/_baseSortedIndexBy.js deleted file mode 100644 index c247b377ff..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseSortedIndexBy.js +++ /dev/null @@ -1,67 +0,0 @@ -var isSymbol = require('./isSymbol'); - -/** Used as references for the maximum length and index of an array. */ -var MAX_ARRAY_LENGTH = 4294967295, - MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1; - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeFloor = Math.floor, - nativeMin = Math.min; - -/** - * The base implementation of `_.sortedIndexBy` and `_.sortedLastIndexBy` - * which invokes `iteratee` for `value` and each element of `array` to compute - * their sort ranking. The iteratee is invoked with one argument; (value). - * - * @private - * @param {Array} array The sorted array to inspect. - * @param {*} value The value to evaluate. - * @param {Function} iteratee The iteratee invoked per element. - * @param {boolean} [retHighest] Specify returning the highest qualified index. - * @returns {number} Returns the index at which `value` should be inserted - * into `array`. - */ -function baseSortedIndexBy(array, value, iteratee, retHighest) { - var low = 0, - high = array == null ? 0 : array.length; - if (high === 0) { - return 0; - } - - value = iteratee(value); - var valIsNaN = value !== value, - valIsNull = value === null, - valIsSymbol = isSymbol(value), - valIsUndefined = value === undefined; - - while (low < high) { - var mid = nativeFloor((low + high) / 2), - computed = iteratee(array[mid]), - othIsDefined = computed !== undefined, - othIsNull = computed === null, - othIsReflexive = computed === computed, - othIsSymbol = isSymbol(computed); - - if (valIsNaN) { - var setLow = retHighest || othIsReflexive; - } else if (valIsUndefined) { - setLow = othIsReflexive && (retHighest || othIsDefined); - } else if (valIsNull) { - setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull); - } else if (valIsSymbol) { - setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol); - } else if (othIsNull || othIsSymbol) { - setLow = false; - } else { - setLow = retHighest ? (computed <= value) : (computed < value); - } - if (setLow) { - low = mid + 1; - } else { - high = mid; - } - } - return nativeMin(high, MAX_ARRAY_INDEX); -} - -module.exports = baseSortedIndexBy; diff --git a/packages/frontend-core/node_modules/lodash/_baseSortedUniq.js b/packages/frontend-core/node_modules/lodash/_baseSortedUniq.js deleted file mode 100644 index 802159a3db..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseSortedUniq.js +++ /dev/null @@ -1,30 +0,0 @@ -var eq = require('./eq'); - -/** - * The base implementation of `_.sortedUniq` and `_.sortedUniqBy` without - * support for iteratee shorthands. - * - * @private - * @param {Array} array The array to inspect. - * @param {Function} [iteratee] The iteratee invoked per element. - * @returns {Array} Returns the new duplicate free array. - */ -function baseSortedUniq(array, iteratee) { - var index = -1, - length = array.length, - resIndex = 0, - result = []; - - while (++index < length) { - var value = array[index], - computed = iteratee ? iteratee(value) : value; - - if (!index || !eq(computed, seen)) { - var seen = computed; - result[resIndex++] = value === 0 ? 0 : value; - } - } - return result; -} - -module.exports = baseSortedUniq; diff --git a/packages/frontend-core/node_modules/lodash/_baseSum.js b/packages/frontend-core/node_modules/lodash/_baseSum.js deleted file mode 100644 index a9e84c13c9..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseSum.js +++ /dev/null @@ -1,24 +0,0 @@ -/** - * The base implementation of `_.sum` and `_.sumBy` without support for - * iteratee shorthands. - * - * @private - * @param {Array} array The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {number} Returns the sum. - */ -function baseSum(array, iteratee) { - var result, - index = -1, - length = array.length; - - while (++index < length) { - var current = iteratee(array[index]); - if (current !== undefined) { - result = result === undefined ? current : (result + current); - } - } - return result; -} - -module.exports = baseSum; diff --git a/packages/frontend-core/node_modules/lodash/_baseTimes.js b/packages/frontend-core/node_modules/lodash/_baseTimes.js deleted file mode 100644 index 0603fc37ea..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseTimes.js +++ /dev/null @@ -1,20 +0,0 @@ -/** - * The base implementation of `_.times` without support for iteratee shorthands - * or max array length checks. - * - * @private - * @param {number} n The number of times to invoke `iteratee`. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns the array of results. - */ -function baseTimes(n, iteratee) { - var index = -1, - result = Array(n); - - while (++index < n) { - result[index] = iteratee(index); - } - return result; -} - -module.exports = baseTimes; diff --git a/packages/frontend-core/node_modules/lodash/_baseToNumber.js b/packages/frontend-core/node_modules/lodash/_baseToNumber.js deleted file mode 100644 index 04859f391f..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseToNumber.js +++ /dev/null @@ -1,24 +0,0 @@ -var isSymbol = require('./isSymbol'); - -/** Used as references for various `Number` constants. */ -var NAN = 0 / 0; - -/** - * The base implementation of `_.toNumber` which doesn't ensure correct - * conversions of binary, hexadecimal, or octal string values. - * - * @private - * @param {*} value The value to process. - * @returns {number} Returns the number. - */ -function baseToNumber(value) { - if (typeof value == 'number') { - return value; - } - if (isSymbol(value)) { - return NAN; - } - return +value; -} - -module.exports = baseToNumber; diff --git a/packages/frontend-core/node_modules/lodash/_baseToPairs.js b/packages/frontend-core/node_modules/lodash/_baseToPairs.js deleted file mode 100644 index bff199128f..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseToPairs.js +++ /dev/null @@ -1,18 +0,0 @@ -var arrayMap = require('./_arrayMap'); - -/** - * The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array - * of key-value pairs for `object` corresponding to the property names of `props`. - * - * @private - * @param {Object} object The object to query. - * @param {Array} props The property names to get values for. - * @returns {Object} Returns the key-value pairs. - */ -function baseToPairs(object, props) { - return arrayMap(props, function(key) { - return [key, object[key]]; - }); -} - -module.exports = baseToPairs; diff --git a/packages/frontend-core/node_modules/lodash/_baseToString.js b/packages/frontend-core/node_modules/lodash/_baseToString.js deleted file mode 100644 index ada6ad298c..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseToString.js +++ /dev/null @@ -1,37 +0,0 @@ -var Symbol = require('./_Symbol'), - arrayMap = require('./_arrayMap'), - isArray = require('./isArray'), - isSymbol = require('./isSymbol'); - -/** Used as references for various `Number` constants. */ -var INFINITY = 1 / 0; - -/** Used to convert symbols to primitives and strings. */ -var symbolProto = Symbol ? Symbol.prototype : undefined, - symbolToString = symbolProto ? symbolProto.toString : undefined; - -/** - * The base implementation of `_.toString` which doesn't convert nullish - * values to empty strings. - * - * @private - * @param {*} value The value to process. - * @returns {string} Returns the string. - */ -function baseToString(value) { - // Exit early for strings to avoid a performance hit in some environments. - if (typeof value == 'string') { - return value; - } - if (isArray(value)) { - // Recursively convert values (susceptible to call stack limits). - return arrayMap(value, baseToString) + ''; - } - if (isSymbol(value)) { - return symbolToString ? symbolToString.call(value) : ''; - } - var result = (value + ''); - return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; -} - -module.exports = baseToString; diff --git a/packages/frontend-core/node_modules/lodash/_baseTrim.js b/packages/frontend-core/node_modules/lodash/_baseTrim.js deleted file mode 100644 index 3e2797d990..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseTrim.js +++ /dev/null @@ -1,19 +0,0 @@ -var trimmedEndIndex = require('./_trimmedEndIndex'); - -/** Used to match leading whitespace. */ -var reTrimStart = /^\s+/; - -/** - * The base implementation of `_.trim`. - * - * @private - * @param {string} string The string to trim. - * @returns {string} Returns the trimmed string. - */ -function baseTrim(string) { - return string - ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '') - : string; -} - -module.exports = baseTrim; diff --git a/packages/frontend-core/node_modules/lodash/_baseUnary.js b/packages/frontend-core/node_modules/lodash/_baseUnary.js deleted file mode 100644 index 98639e92f6..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseUnary.js +++ /dev/null @@ -1,14 +0,0 @@ -/** - * The base implementation of `_.unary` without support for storing metadata. - * - * @private - * @param {Function} func The function to cap arguments for. - * @returns {Function} Returns the new capped function. - */ -function baseUnary(func) { - return function(value) { - return func(value); - }; -} - -module.exports = baseUnary; diff --git a/packages/frontend-core/node_modules/lodash/_baseUniq.js b/packages/frontend-core/node_modules/lodash/_baseUniq.js deleted file mode 100644 index aea459dc71..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseUniq.js +++ /dev/null @@ -1,72 +0,0 @@ -var SetCache = require('./_SetCache'), - arrayIncludes = require('./_arrayIncludes'), - arrayIncludesWith = require('./_arrayIncludesWith'), - cacheHas = require('./_cacheHas'), - createSet = require('./_createSet'), - setToArray = require('./_setToArray'); - -/** Used as the size to enable large array optimizations. */ -var LARGE_ARRAY_SIZE = 200; - -/** - * The base implementation of `_.uniqBy` without support for iteratee shorthands. - * - * @private - * @param {Array} array The array to inspect. - * @param {Function} [iteratee] The iteratee invoked per element. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new duplicate free array. - */ -function baseUniq(array, iteratee, comparator) { - var index = -1, - includes = arrayIncludes, - length = array.length, - isCommon = true, - result = [], - seen = result; - - if (comparator) { - isCommon = false; - includes = arrayIncludesWith; - } - else if (length >= LARGE_ARRAY_SIZE) { - var set = iteratee ? null : createSet(array); - if (set) { - return setToArray(set); - } - isCommon = false; - includes = cacheHas; - seen = new SetCache; - } - else { - seen = iteratee ? [] : result; - } - outer: - while (++index < length) { - var value = array[index], - computed = iteratee ? iteratee(value) : value; - - value = (comparator || value !== 0) ? value : 0; - if (isCommon && computed === computed) { - var seenIndex = seen.length; - while (seenIndex--) { - if (seen[seenIndex] === computed) { - continue outer; - } - } - if (iteratee) { - seen.push(computed); - } - result.push(value); - } - else if (!includes(seen, computed, comparator)) { - if (seen !== result) { - seen.push(computed); - } - result.push(value); - } - } - return result; -} - -module.exports = baseUniq; diff --git a/packages/frontend-core/node_modules/lodash/_baseUnset.js b/packages/frontend-core/node_modules/lodash/_baseUnset.js deleted file mode 100644 index eefc6e37d3..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseUnset.js +++ /dev/null @@ -1,20 +0,0 @@ -var castPath = require('./_castPath'), - last = require('./last'), - parent = require('./_parent'), - toKey = require('./_toKey'); - -/** - * The base implementation of `_.unset`. - * - * @private - * @param {Object} object The object to modify. - * @param {Array|string} path The property path to unset. - * @returns {boolean} Returns `true` if the property is deleted, else `false`. - */ -function baseUnset(object, path) { - path = castPath(path, object); - object = parent(object, path); - return object == null || delete object[toKey(last(path))]; -} - -module.exports = baseUnset; diff --git a/packages/frontend-core/node_modules/lodash/_baseUpdate.js b/packages/frontend-core/node_modules/lodash/_baseUpdate.js deleted file mode 100644 index 92a623777c..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseUpdate.js +++ /dev/null @@ -1,18 +0,0 @@ -var baseGet = require('./_baseGet'), - baseSet = require('./_baseSet'); - -/** - * The base implementation of `_.update`. - * - * @private - * @param {Object} object The object to modify. - * @param {Array|string} path The path of the property to update. - * @param {Function} updater The function to produce the updated value. - * @param {Function} [customizer] The function to customize path creation. - * @returns {Object} Returns `object`. - */ -function baseUpdate(object, path, updater, customizer) { - return baseSet(object, path, updater(baseGet(object, path)), customizer); -} - -module.exports = baseUpdate; diff --git a/packages/frontend-core/node_modules/lodash/_baseValues.js b/packages/frontend-core/node_modules/lodash/_baseValues.js deleted file mode 100644 index b95faadcfe..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseValues.js +++ /dev/null @@ -1,19 +0,0 @@ -var arrayMap = require('./_arrayMap'); - -/** - * The base implementation of `_.values` and `_.valuesIn` which creates an - * array of `object` property values corresponding to the property names - * of `props`. - * - * @private - * @param {Object} object The object to query. - * @param {Array} props The property names to get values for. - * @returns {Object} Returns the array of property values. - */ -function baseValues(object, props) { - return arrayMap(props, function(key) { - return object[key]; - }); -} - -module.exports = baseValues; diff --git a/packages/frontend-core/node_modules/lodash/_baseWhile.js b/packages/frontend-core/node_modules/lodash/_baseWhile.js deleted file mode 100644 index 07eac61b98..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseWhile.js +++ /dev/null @@ -1,26 +0,0 @@ -var baseSlice = require('./_baseSlice'); - -/** - * The base implementation of methods like `_.dropWhile` and `_.takeWhile` - * without support for iteratee shorthands. - * - * @private - * @param {Array} array The array to query. - * @param {Function} predicate The function invoked per iteration. - * @param {boolean} [isDrop] Specify dropping elements instead of taking them. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Array} Returns the slice of `array`. - */ -function baseWhile(array, predicate, isDrop, fromRight) { - var length = array.length, - index = fromRight ? length : -1; - - while ((fromRight ? index-- : ++index < length) && - predicate(array[index], index, array)) {} - - return isDrop - ? baseSlice(array, (fromRight ? 0 : index), (fromRight ? index + 1 : length)) - : baseSlice(array, (fromRight ? index + 1 : 0), (fromRight ? length : index)); -} - -module.exports = baseWhile; diff --git a/packages/frontend-core/node_modules/lodash/_baseWrapperValue.js b/packages/frontend-core/node_modules/lodash/_baseWrapperValue.js deleted file mode 100644 index 443e0df5e0..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseWrapperValue.js +++ /dev/null @@ -1,25 +0,0 @@ -var LazyWrapper = require('./_LazyWrapper'), - arrayPush = require('./_arrayPush'), - arrayReduce = require('./_arrayReduce'); - -/** - * The base implementation of `wrapperValue` which returns the result of - * performing a sequence of actions on the unwrapped `value`, where each - * successive action is supplied the return value of the previous. - * - * @private - * @param {*} value The unwrapped value. - * @param {Array} actions Actions to perform to resolve the unwrapped value. - * @returns {*} Returns the resolved value. - */ -function baseWrapperValue(value, actions) { - var result = value; - if (result instanceof LazyWrapper) { - result = result.value(); - } - return arrayReduce(actions, function(result, action) { - return action.func.apply(action.thisArg, arrayPush([result], action.args)); - }, result); -} - -module.exports = baseWrapperValue; diff --git a/packages/frontend-core/node_modules/lodash/_baseXor.js b/packages/frontend-core/node_modules/lodash/_baseXor.js deleted file mode 100644 index 8e69338bf9..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseXor.js +++ /dev/null @@ -1,36 +0,0 @@ -var baseDifference = require('./_baseDifference'), - baseFlatten = require('./_baseFlatten'), - baseUniq = require('./_baseUniq'); - -/** - * The base implementation of methods like `_.xor`, without support for - * iteratee shorthands, that accepts an array of arrays to inspect. - * - * @private - * @param {Array} arrays The arrays to inspect. - * @param {Function} [iteratee] The iteratee invoked per element. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new array of values. - */ -function baseXor(arrays, iteratee, comparator) { - var length = arrays.length; - if (length < 2) { - return length ? baseUniq(arrays[0]) : []; - } - var index = -1, - result = Array(length); - - while (++index < length) { - var array = arrays[index], - othIndex = -1; - - while (++othIndex < length) { - if (othIndex != index) { - result[index] = baseDifference(result[index] || array, arrays[othIndex], iteratee, comparator); - } - } - } - return baseUniq(baseFlatten(result, 1), iteratee, comparator); -} - -module.exports = baseXor; diff --git a/packages/frontend-core/node_modules/lodash/_baseZipObject.js b/packages/frontend-core/node_modules/lodash/_baseZipObject.js deleted file mode 100644 index 401f85be20..0000000000 --- a/packages/frontend-core/node_modules/lodash/_baseZipObject.js +++ /dev/null @@ -1,23 +0,0 @@ -/** - * This base implementation of `_.zipObject` which assigns values using `assignFunc`. - * - * @private - * @param {Array} props The property identifiers. - * @param {Array} values The property values. - * @param {Function} assignFunc The function to assign values. - * @returns {Object} Returns the new object. - */ -function baseZipObject(props, values, assignFunc) { - var index = -1, - length = props.length, - valsLength = values.length, - result = {}; - - while (++index < length) { - var value = index < valsLength ? values[index] : undefined; - assignFunc(result, props[index], value); - } - return result; -} - -module.exports = baseZipObject; diff --git a/packages/frontend-core/node_modules/lodash/_cacheHas.js b/packages/frontend-core/node_modules/lodash/_cacheHas.js deleted file mode 100644 index 2dec892689..0000000000 --- a/packages/frontend-core/node_modules/lodash/_cacheHas.js +++ /dev/null @@ -1,13 +0,0 @@ -/** - * Checks if a `cache` value for `key` exists. - * - * @private - * @param {Object} cache The cache to query. - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ -function cacheHas(cache, key) { - return cache.has(key); -} - -module.exports = cacheHas; diff --git a/packages/frontend-core/node_modules/lodash/_castArrayLikeObject.js b/packages/frontend-core/node_modules/lodash/_castArrayLikeObject.js deleted file mode 100644 index 92c75fa1a9..0000000000 --- a/packages/frontend-core/node_modules/lodash/_castArrayLikeObject.js +++ /dev/null @@ -1,14 +0,0 @@ -var isArrayLikeObject = require('./isArrayLikeObject'); - -/** - * Casts `value` to an empty array if it's not an array like object. - * - * @private - * @param {*} value The value to inspect. - * @returns {Array|Object} Returns the cast array-like object. - */ -function castArrayLikeObject(value) { - return isArrayLikeObject(value) ? value : []; -} - -module.exports = castArrayLikeObject; diff --git a/packages/frontend-core/node_modules/lodash/_castFunction.js b/packages/frontend-core/node_modules/lodash/_castFunction.js deleted file mode 100644 index 98c91ae637..0000000000 --- a/packages/frontend-core/node_modules/lodash/_castFunction.js +++ /dev/null @@ -1,14 +0,0 @@ -var identity = require('./identity'); - -/** - * Casts `value` to `identity` if it's not a function. - * - * @private - * @param {*} value The value to inspect. - * @returns {Function} Returns cast function. - */ -function castFunction(value) { - return typeof value == 'function' ? value : identity; -} - -module.exports = castFunction; diff --git a/packages/frontend-core/node_modules/lodash/_castPath.js b/packages/frontend-core/node_modules/lodash/_castPath.js deleted file mode 100644 index 017e4c1b45..0000000000 --- a/packages/frontend-core/node_modules/lodash/_castPath.js +++ /dev/null @@ -1,21 +0,0 @@ -var isArray = require('./isArray'), - isKey = require('./_isKey'), - stringToPath = require('./_stringToPath'), - toString = require('./toString'); - -/** - * Casts `value` to a path array if it's not one. - * - * @private - * @param {*} value The value to inspect. - * @param {Object} [object] The object to query keys on. - * @returns {Array} Returns the cast property path array. - */ -function castPath(value, object) { - if (isArray(value)) { - return value; - } - return isKey(value, object) ? [value] : stringToPath(toString(value)); -} - -module.exports = castPath; diff --git a/packages/frontend-core/node_modules/lodash/_castRest.js b/packages/frontend-core/node_modules/lodash/_castRest.js deleted file mode 100644 index 213c66f19f..0000000000 --- a/packages/frontend-core/node_modules/lodash/_castRest.js +++ /dev/null @@ -1,14 +0,0 @@ -var baseRest = require('./_baseRest'); - -/** - * A `baseRest` alias which can be replaced with `identity` by module - * replacement plugins. - * - * @private - * @type {Function} - * @param {Function} func The function to apply a rest parameter to. - * @returns {Function} Returns the new function. - */ -var castRest = baseRest; - -module.exports = castRest; diff --git a/packages/frontend-core/node_modules/lodash/_castSlice.js b/packages/frontend-core/node_modules/lodash/_castSlice.js deleted file mode 100644 index 071faeba52..0000000000 --- a/packages/frontend-core/node_modules/lodash/_castSlice.js +++ /dev/null @@ -1,18 +0,0 @@ -var baseSlice = require('./_baseSlice'); - -/** - * Casts `array` to a slice if it's needed. - * - * @private - * @param {Array} array The array to inspect. - * @param {number} start The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns the cast slice. - */ -function castSlice(array, start, end) { - var length = array.length; - end = end === undefined ? length : end; - return (!start && end >= length) ? array : baseSlice(array, start, end); -} - -module.exports = castSlice; diff --git a/packages/frontend-core/node_modules/lodash/_charsEndIndex.js b/packages/frontend-core/node_modules/lodash/_charsEndIndex.js deleted file mode 100644 index 07908ff3aa..0000000000 --- a/packages/frontend-core/node_modules/lodash/_charsEndIndex.js +++ /dev/null @@ -1,19 +0,0 @@ -var baseIndexOf = require('./_baseIndexOf'); - -/** - * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol - * that is not found in the character symbols. - * - * @private - * @param {Array} strSymbols The string symbols to inspect. - * @param {Array} chrSymbols The character symbols to find. - * @returns {number} Returns the index of the last unmatched string symbol. - */ -function charsEndIndex(strSymbols, chrSymbols) { - var index = strSymbols.length; - - while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {} - return index; -} - -module.exports = charsEndIndex; diff --git a/packages/frontend-core/node_modules/lodash/_charsStartIndex.js b/packages/frontend-core/node_modules/lodash/_charsStartIndex.js deleted file mode 100644 index b17afd2547..0000000000 --- a/packages/frontend-core/node_modules/lodash/_charsStartIndex.js +++ /dev/null @@ -1,20 +0,0 @@ -var baseIndexOf = require('./_baseIndexOf'); - -/** - * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol - * that is not found in the character symbols. - * - * @private - * @param {Array} strSymbols The string symbols to inspect. - * @param {Array} chrSymbols The character symbols to find. - * @returns {number} Returns the index of the first unmatched string symbol. - */ -function charsStartIndex(strSymbols, chrSymbols) { - var index = -1, - length = strSymbols.length; - - while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {} - return index; -} - -module.exports = charsStartIndex; diff --git a/packages/frontend-core/node_modules/lodash/_cloneArrayBuffer.js b/packages/frontend-core/node_modules/lodash/_cloneArrayBuffer.js deleted file mode 100644 index c3d8f6e39a..0000000000 --- a/packages/frontend-core/node_modules/lodash/_cloneArrayBuffer.js +++ /dev/null @@ -1,16 +0,0 @@ -var Uint8Array = require('./_Uint8Array'); - -/** - * Creates a clone of `arrayBuffer`. - * - * @private - * @param {ArrayBuffer} arrayBuffer The array buffer to clone. - * @returns {ArrayBuffer} Returns the cloned array buffer. - */ -function cloneArrayBuffer(arrayBuffer) { - var result = new arrayBuffer.constructor(arrayBuffer.byteLength); - new Uint8Array(result).set(new Uint8Array(arrayBuffer)); - return result; -} - -module.exports = cloneArrayBuffer; diff --git a/packages/frontend-core/node_modules/lodash/_cloneBuffer.js b/packages/frontend-core/node_modules/lodash/_cloneBuffer.js deleted file mode 100644 index 27c48109b4..0000000000 --- a/packages/frontend-core/node_modules/lodash/_cloneBuffer.js +++ /dev/null @@ -1,35 +0,0 @@ -var root = require('./_root'); - -/** Detect free variable `exports`. */ -var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; - -/** Detect free variable `module`. */ -var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; - -/** Detect the popular CommonJS extension `module.exports`. */ -var moduleExports = freeModule && freeModule.exports === freeExports; - -/** Built-in value references. */ -var Buffer = moduleExports ? root.Buffer : undefined, - allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined; - -/** - * Creates a clone of `buffer`. - * - * @private - * @param {Buffer} buffer The buffer to clone. - * @param {boolean} [isDeep] Specify a deep clone. - * @returns {Buffer} Returns the cloned buffer. - */ -function cloneBuffer(buffer, isDeep) { - if (isDeep) { - return buffer.slice(); - } - var length = buffer.length, - result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length); - - buffer.copy(result); - return result; -} - -module.exports = cloneBuffer; diff --git a/packages/frontend-core/node_modules/lodash/_cloneDataView.js b/packages/frontend-core/node_modules/lodash/_cloneDataView.js deleted file mode 100644 index 9c9b7b054d..0000000000 --- a/packages/frontend-core/node_modules/lodash/_cloneDataView.js +++ /dev/null @@ -1,16 +0,0 @@ -var cloneArrayBuffer = require('./_cloneArrayBuffer'); - -/** - * Creates a clone of `dataView`. - * - * @private - * @param {Object} dataView The data view to clone. - * @param {boolean} [isDeep] Specify a deep clone. - * @returns {Object} Returns the cloned data view. - */ -function cloneDataView(dataView, isDeep) { - var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer; - return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength); -} - -module.exports = cloneDataView; diff --git a/packages/frontend-core/node_modules/lodash/_cloneRegExp.js b/packages/frontend-core/node_modules/lodash/_cloneRegExp.js deleted file mode 100644 index 64a30dfb4a..0000000000 --- a/packages/frontend-core/node_modules/lodash/_cloneRegExp.js +++ /dev/null @@ -1,17 +0,0 @@ -/** Used to match `RegExp` flags from their coerced string values. */ -var reFlags = /\w*$/; - -/** - * Creates a clone of `regexp`. - * - * @private - * @param {Object} regexp The regexp to clone. - * @returns {Object} Returns the cloned regexp. - */ -function cloneRegExp(regexp) { - var result = new regexp.constructor(regexp.source, reFlags.exec(regexp)); - result.lastIndex = regexp.lastIndex; - return result; -} - -module.exports = cloneRegExp; diff --git a/packages/frontend-core/node_modules/lodash/_cloneSymbol.js b/packages/frontend-core/node_modules/lodash/_cloneSymbol.js deleted file mode 100644 index bede39f50a..0000000000 --- a/packages/frontend-core/node_modules/lodash/_cloneSymbol.js +++ /dev/null @@ -1,18 +0,0 @@ -var Symbol = require('./_Symbol'); - -/** Used to convert symbols to primitives and strings. */ -var symbolProto = Symbol ? Symbol.prototype : undefined, - symbolValueOf = symbolProto ? symbolProto.valueOf : undefined; - -/** - * Creates a clone of the `symbol` object. - * - * @private - * @param {Object} symbol The symbol object to clone. - * @returns {Object} Returns the cloned symbol object. - */ -function cloneSymbol(symbol) { - return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {}; -} - -module.exports = cloneSymbol; diff --git a/packages/frontend-core/node_modules/lodash/_cloneTypedArray.js b/packages/frontend-core/node_modules/lodash/_cloneTypedArray.js deleted file mode 100644 index 7aad84d4fe..0000000000 --- a/packages/frontend-core/node_modules/lodash/_cloneTypedArray.js +++ /dev/null @@ -1,16 +0,0 @@ -var cloneArrayBuffer = require('./_cloneArrayBuffer'); - -/** - * Creates a clone of `typedArray`. - * - * @private - * @param {Object} typedArray The typed array to clone. - * @param {boolean} [isDeep] Specify a deep clone. - * @returns {Object} Returns the cloned typed array. - */ -function cloneTypedArray(typedArray, isDeep) { - var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer; - return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length); -} - -module.exports = cloneTypedArray; diff --git a/packages/frontend-core/node_modules/lodash/_compareAscending.js b/packages/frontend-core/node_modules/lodash/_compareAscending.js deleted file mode 100644 index 8dc2791088..0000000000 --- a/packages/frontend-core/node_modules/lodash/_compareAscending.js +++ /dev/null @@ -1,41 +0,0 @@ -var isSymbol = require('./isSymbol'); - -/** - * Compares values to sort them in ascending order. - * - * @private - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {number} Returns the sort order indicator for `value`. - */ -function compareAscending(value, other) { - if (value !== other) { - var valIsDefined = value !== undefined, - valIsNull = value === null, - valIsReflexive = value === value, - valIsSymbol = isSymbol(value); - - var othIsDefined = other !== undefined, - othIsNull = other === null, - othIsReflexive = other === other, - othIsSymbol = isSymbol(other); - - if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) || - (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) || - (valIsNull && othIsDefined && othIsReflexive) || - (!valIsDefined && othIsReflexive) || - !valIsReflexive) { - return 1; - } - if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) || - (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) || - (othIsNull && valIsDefined && valIsReflexive) || - (!othIsDefined && valIsReflexive) || - !othIsReflexive) { - return -1; - } - } - return 0; -} - -module.exports = compareAscending; diff --git a/packages/frontend-core/node_modules/lodash/_compareMultiple.js b/packages/frontend-core/node_modules/lodash/_compareMultiple.js deleted file mode 100644 index ad61f0fbca..0000000000 --- a/packages/frontend-core/node_modules/lodash/_compareMultiple.js +++ /dev/null @@ -1,44 +0,0 @@ -var compareAscending = require('./_compareAscending'); - -/** - * Used by `_.orderBy` to compare multiple properties of a value to another - * and stable sort them. - * - * If `orders` is unspecified, all values are sorted in ascending order. Otherwise, - * specify an order of "desc" for descending or "asc" for ascending sort order - * of corresponding values. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {boolean[]|string[]} orders The order to sort by for each property. - * @returns {number} Returns the sort order indicator for `object`. - */ -function compareMultiple(object, other, orders) { - var index = -1, - objCriteria = object.criteria, - othCriteria = other.criteria, - length = objCriteria.length, - ordersLength = orders.length; - - while (++index < length) { - var result = compareAscending(objCriteria[index], othCriteria[index]); - if (result) { - if (index >= ordersLength) { - return result; - } - var order = orders[index]; - return result * (order == 'desc' ? -1 : 1); - } - } - // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications - // that causes it, under certain circumstances, to provide the same value for - // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247 - // for more details. - // - // This also ensures a stable sort in V8 and other engines. - // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details. - return object.index - other.index; -} - -module.exports = compareMultiple; diff --git a/packages/frontend-core/node_modules/lodash/_composeArgs.js b/packages/frontend-core/node_modules/lodash/_composeArgs.js deleted file mode 100644 index 1ce40f4f93..0000000000 --- a/packages/frontend-core/node_modules/lodash/_composeArgs.js +++ /dev/null @@ -1,39 +0,0 @@ -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeMax = Math.max; - -/** - * Creates an array that is the composition of partially applied arguments, - * placeholders, and provided arguments into a single array of arguments. - * - * @private - * @param {Array} args The provided arguments. - * @param {Array} partials The arguments to prepend to those provided. - * @param {Array} holders The `partials` placeholder indexes. - * @params {boolean} [isCurried] Specify composing for a curried function. - * @returns {Array} Returns the new array of composed arguments. - */ -function composeArgs(args, partials, holders, isCurried) { - var argsIndex = -1, - argsLength = args.length, - holdersLength = holders.length, - leftIndex = -1, - leftLength = partials.length, - rangeLength = nativeMax(argsLength - holdersLength, 0), - result = Array(leftLength + rangeLength), - isUncurried = !isCurried; - - while (++leftIndex < leftLength) { - result[leftIndex] = partials[leftIndex]; - } - while (++argsIndex < holdersLength) { - if (isUncurried || argsIndex < argsLength) { - result[holders[argsIndex]] = args[argsIndex]; - } - } - while (rangeLength--) { - result[leftIndex++] = args[argsIndex++]; - } - return result; -} - -module.exports = composeArgs; diff --git a/packages/frontend-core/node_modules/lodash/_composeArgsRight.js b/packages/frontend-core/node_modules/lodash/_composeArgsRight.js deleted file mode 100644 index 8dc588d0a9..0000000000 --- a/packages/frontend-core/node_modules/lodash/_composeArgsRight.js +++ /dev/null @@ -1,41 +0,0 @@ -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeMax = Math.max; - -/** - * This function is like `composeArgs` except that the arguments composition - * is tailored for `_.partialRight`. - * - * @private - * @param {Array} args The provided arguments. - * @param {Array} partials The arguments to append to those provided. - * @param {Array} holders The `partials` placeholder indexes. - * @params {boolean} [isCurried] Specify composing for a curried function. - * @returns {Array} Returns the new array of composed arguments. - */ -function composeArgsRight(args, partials, holders, isCurried) { - var argsIndex = -1, - argsLength = args.length, - holdersIndex = -1, - holdersLength = holders.length, - rightIndex = -1, - rightLength = partials.length, - rangeLength = nativeMax(argsLength - holdersLength, 0), - result = Array(rangeLength + rightLength), - isUncurried = !isCurried; - - while (++argsIndex < rangeLength) { - result[argsIndex] = args[argsIndex]; - } - var offset = argsIndex; - while (++rightIndex < rightLength) { - result[offset + rightIndex] = partials[rightIndex]; - } - while (++holdersIndex < holdersLength) { - if (isUncurried || argsIndex < argsLength) { - result[offset + holders[holdersIndex]] = args[argsIndex++]; - } - } - return result; -} - -module.exports = composeArgsRight; diff --git a/packages/frontend-core/node_modules/lodash/_copyArray.js b/packages/frontend-core/node_modules/lodash/_copyArray.js deleted file mode 100644 index cd94d5d09a..0000000000 --- a/packages/frontend-core/node_modules/lodash/_copyArray.js +++ /dev/null @@ -1,20 +0,0 @@ -/** - * Copies the values of `source` to `array`. - * - * @private - * @param {Array} source The array to copy values from. - * @param {Array} [array=[]] The array to copy values to. - * @returns {Array} Returns `array`. - */ -function copyArray(source, array) { - var index = -1, - length = source.length; - - array || (array = Array(length)); - while (++index < length) { - array[index] = source[index]; - } - return array; -} - -module.exports = copyArray; diff --git a/packages/frontend-core/node_modules/lodash/_copyObject.js b/packages/frontend-core/node_modules/lodash/_copyObject.js deleted file mode 100644 index 2f2a5c23b7..0000000000 --- a/packages/frontend-core/node_modules/lodash/_copyObject.js +++ /dev/null @@ -1,40 +0,0 @@ -var assignValue = require('./_assignValue'), - baseAssignValue = require('./_baseAssignValue'); - -/** - * Copies properties of `source` to `object`. - * - * @private - * @param {Object} source The object to copy properties from. - * @param {Array} props The property identifiers to copy. - * @param {Object} [object={}] The object to copy properties to. - * @param {Function} [customizer] The function to customize copied values. - * @returns {Object} Returns `object`. - */ -function copyObject(source, props, object, customizer) { - var isNew = !object; - object || (object = {}); - - var index = -1, - length = props.length; - - while (++index < length) { - var key = props[index]; - - var newValue = customizer - ? customizer(object[key], source[key], key, object, source) - : undefined; - - if (newValue === undefined) { - newValue = source[key]; - } - if (isNew) { - baseAssignValue(object, key, newValue); - } else { - assignValue(object, key, newValue); - } - } - return object; -} - -module.exports = copyObject; diff --git a/packages/frontend-core/node_modules/lodash/_copySymbols.js b/packages/frontend-core/node_modules/lodash/_copySymbols.js deleted file mode 100644 index c35944ab5e..0000000000 --- a/packages/frontend-core/node_modules/lodash/_copySymbols.js +++ /dev/null @@ -1,16 +0,0 @@ -var copyObject = require('./_copyObject'), - getSymbols = require('./_getSymbols'); - -/** - * Copies own symbols of `source` to `object`. - * - * @private - * @param {Object} source The object to copy symbols from. - * @param {Object} [object={}] The object to copy symbols to. - * @returns {Object} Returns `object`. - */ -function copySymbols(source, object) { - return copyObject(source, getSymbols(source), object); -} - -module.exports = copySymbols; diff --git a/packages/frontend-core/node_modules/lodash/_copySymbolsIn.js b/packages/frontend-core/node_modules/lodash/_copySymbolsIn.js deleted file mode 100644 index fdf20a73c2..0000000000 --- a/packages/frontend-core/node_modules/lodash/_copySymbolsIn.js +++ /dev/null @@ -1,16 +0,0 @@ -var copyObject = require('./_copyObject'), - getSymbolsIn = require('./_getSymbolsIn'); - -/** - * Copies own and inherited symbols of `source` to `object`. - * - * @private - * @param {Object} source The object to copy symbols from. - * @param {Object} [object={}] The object to copy symbols to. - * @returns {Object} Returns `object`. - */ -function copySymbolsIn(source, object) { - return copyObject(source, getSymbolsIn(source), object); -} - -module.exports = copySymbolsIn; diff --git a/packages/frontend-core/node_modules/lodash/_coreJsData.js b/packages/frontend-core/node_modules/lodash/_coreJsData.js deleted file mode 100644 index f8e5b4e349..0000000000 --- a/packages/frontend-core/node_modules/lodash/_coreJsData.js +++ /dev/null @@ -1,6 +0,0 @@ -var root = require('./_root'); - -/** Used to detect overreaching core-js shims. */ -var coreJsData = root['__core-js_shared__']; - -module.exports = coreJsData; diff --git a/packages/frontend-core/node_modules/lodash/_countHolders.js b/packages/frontend-core/node_modules/lodash/_countHolders.js deleted file mode 100644 index 718fcdaa8d..0000000000 --- a/packages/frontend-core/node_modules/lodash/_countHolders.js +++ /dev/null @@ -1,21 +0,0 @@ -/** - * Gets the number of `placeholder` occurrences in `array`. - * - * @private - * @param {Array} array The array to inspect. - * @param {*} placeholder The placeholder to search for. - * @returns {number} Returns the placeholder count. - */ -function countHolders(array, placeholder) { - var length = array.length, - result = 0; - - while (length--) { - if (array[length] === placeholder) { - ++result; - } - } - return result; -} - -module.exports = countHolders; diff --git a/packages/frontend-core/node_modules/lodash/_createAggregator.js b/packages/frontend-core/node_modules/lodash/_createAggregator.js deleted file mode 100644 index 0be42c41cd..0000000000 --- a/packages/frontend-core/node_modules/lodash/_createAggregator.js +++ /dev/null @@ -1,23 +0,0 @@ -var arrayAggregator = require('./_arrayAggregator'), - baseAggregator = require('./_baseAggregator'), - baseIteratee = require('./_baseIteratee'), - isArray = require('./isArray'); - -/** - * Creates a function like `_.groupBy`. - * - * @private - * @param {Function} setter The function to set accumulator values. - * @param {Function} [initializer] The accumulator object initializer. - * @returns {Function} Returns the new aggregator function. - */ -function createAggregator(setter, initializer) { - return function(collection, iteratee) { - var func = isArray(collection) ? arrayAggregator : baseAggregator, - accumulator = initializer ? initializer() : {}; - - return func(collection, setter, baseIteratee(iteratee, 2), accumulator); - }; -} - -module.exports = createAggregator; diff --git a/packages/frontend-core/node_modules/lodash/_createAssigner.js b/packages/frontend-core/node_modules/lodash/_createAssigner.js deleted file mode 100644 index 1f904c51bd..0000000000 --- a/packages/frontend-core/node_modules/lodash/_createAssigner.js +++ /dev/null @@ -1,37 +0,0 @@ -var baseRest = require('./_baseRest'), - isIterateeCall = require('./_isIterateeCall'); - -/** - * Creates a function like `_.assign`. - * - * @private - * @param {Function} assigner The function to assign values. - * @returns {Function} Returns the new assigner function. - */ -function createAssigner(assigner) { - return baseRest(function(object, sources) { - var index = -1, - length = sources.length, - customizer = length > 1 ? sources[length - 1] : undefined, - guard = length > 2 ? sources[2] : undefined; - - customizer = (assigner.length > 3 && typeof customizer == 'function') - ? (length--, customizer) - : undefined; - - if (guard && isIterateeCall(sources[0], sources[1], guard)) { - customizer = length < 3 ? undefined : customizer; - length = 1; - } - object = Object(object); - while (++index < length) { - var source = sources[index]; - if (source) { - assigner(object, source, index, customizer); - } - } - return object; - }); -} - -module.exports = createAssigner; diff --git a/packages/frontend-core/node_modules/lodash/_createBaseEach.js b/packages/frontend-core/node_modules/lodash/_createBaseEach.js deleted file mode 100644 index d24fdd1bbc..0000000000 --- a/packages/frontend-core/node_modules/lodash/_createBaseEach.js +++ /dev/null @@ -1,32 +0,0 @@ -var isArrayLike = require('./isArrayLike'); - -/** - * Creates a `baseEach` or `baseEachRight` function. - * - * @private - * @param {Function} eachFunc The function to iterate over a collection. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new base function. - */ -function createBaseEach(eachFunc, fromRight) { - return function(collection, iteratee) { - if (collection == null) { - return collection; - } - if (!isArrayLike(collection)) { - return eachFunc(collection, iteratee); - } - var length = collection.length, - index = fromRight ? length : -1, - iterable = Object(collection); - - while ((fromRight ? index-- : ++index < length)) { - if (iteratee(iterable[index], index, iterable) === false) { - break; - } - } - return collection; - }; -} - -module.exports = createBaseEach; diff --git a/packages/frontend-core/node_modules/lodash/_createBaseFor.js b/packages/frontend-core/node_modules/lodash/_createBaseFor.js deleted file mode 100644 index 94cbf297aa..0000000000 --- a/packages/frontend-core/node_modules/lodash/_createBaseFor.js +++ /dev/null @@ -1,25 +0,0 @@ -/** - * Creates a base function for methods like `_.forIn` and `_.forOwn`. - * - * @private - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new base function. - */ -function createBaseFor(fromRight) { - return function(object, iteratee, keysFunc) { - var index = -1, - iterable = Object(object), - props = keysFunc(object), - length = props.length; - - while (length--) { - var key = props[fromRight ? length : ++index]; - if (iteratee(iterable[key], key, iterable) === false) { - break; - } - } - return object; - }; -} - -module.exports = createBaseFor; diff --git a/packages/frontend-core/node_modules/lodash/_createBind.js b/packages/frontend-core/node_modules/lodash/_createBind.js deleted file mode 100644 index 07cb99f4db..0000000000 --- a/packages/frontend-core/node_modules/lodash/_createBind.js +++ /dev/null @@ -1,28 +0,0 @@ -var createCtor = require('./_createCtor'), - root = require('./_root'); - -/** Used to compose bitmasks for function metadata. */ -var WRAP_BIND_FLAG = 1; - -/** - * Creates a function that wraps `func` to invoke it with the optional `this` - * binding of `thisArg`. - * - * @private - * @param {Function} func The function to wrap. - * @param {number} bitmask The bitmask flags. See `createWrap` for more details. - * @param {*} [thisArg] The `this` binding of `func`. - * @returns {Function} Returns the new wrapped function. - */ -function createBind(func, bitmask, thisArg) { - var isBind = bitmask & WRAP_BIND_FLAG, - Ctor = createCtor(func); - - function wrapper() { - var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; - return fn.apply(isBind ? thisArg : this, arguments); - } - return wrapper; -} - -module.exports = createBind; diff --git a/packages/frontend-core/node_modules/lodash/_createCaseFirst.js b/packages/frontend-core/node_modules/lodash/_createCaseFirst.js deleted file mode 100644 index fe8ea48303..0000000000 --- a/packages/frontend-core/node_modules/lodash/_createCaseFirst.js +++ /dev/null @@ -1,33 +0,0 @@ -var castSlice = require('./_castSlice'), - hasUnicode = require('./_hasUnicode'), - stringToArray = require('./_stringToArray'), - toString = require('./toString'); - -/** - * Creates a function like `_.lowerFirst`. - * - * @private - * @param {string} methodName The name of the `String` case method to use. - * @returns {Function} Returns the new case function. - */ -function createCaseFirst(methodName) { - return function(string) { - string = toString(string); - - var strSymbols = hasUnicode(string) - ? stringToArray(string) - : undefined; - - var chr = strSymbols - ? strSymbols[0] - : string.charAt(0); - - var trailing = strSymbols - ? castSlice(strSymbols, 1).join('') - : string.slice(1); - - return chr[methodName]() + trailing; - }; -} - -module.exports = createCaseFirst; diff --git a/packages/frontend-core/node_modules/lodash/_createCompounder.js b/packages/frontend-core/node_modules/lodash/_createCompounder.js deleted file mode 100644 index 8d4cee2cd3..0000000000 --- a/packages/frontend-core/node_modules/lodash/_createCompounder.js +++ /dev/null @@ -1,24 +0,0 @@ -var arrayReduce = require('./_arrayReduce'), - deburr = require('./deburr'), - words = require('./words'); - -/** Used to compose unicode capture groups. */ -var rsApos = "['\u2019]"; - -/** Used to match apostrophes. */ -var reApos = RegExp(rsApos, 'g'); - -/** - * Creates a function like `_.camelCase`. - * - * @private - * @param {Function} callback The function to combine each word. - * @returns {Function} Returns the new compounder function. - */ -function createCompounder(callback) { - return function(string) { - return arrayReduce(words(deburr(string).replace(reApos, '')), callback, ''); - }; -} - -module.exports = createCompounder; diff --git a/packages/frontend-core/node_modules/lodash/_createCtor.js b/packages/frontend-core/node_modules/lodash/_createCtor.js deleted file mode 100644 index 9047aa5fac..0000000000 --- a/packages/frontend-core/node_modules/lodash/_createCtor.js +++ /dev/null @@ -1,37 +0,0 @@ -var baseCreate = require('./_baseCreate'), - isObject = require('./isObject'); - -/** - * Creates a function that produces an instance of `Ctor` regardless of - * whether it was invoked as part of a `new` expression or by `call` or `apply`. - * - * @private - * @param {Function} Ctor The constructor to wrap. - * @returns {Function} Returns the new wrapped function. - */ -function createCtor(Ctor) { - return function() { - // Use a `switch` statement to work with class constructors. See - // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist - // for more details. - var args = arguments; - switch (args.length) { - case 0: return new Ctor; - case 1: return new Ctor(args[0]); - case 2: return new Ctor(args[0], args[1]); - case 3: return new Ctor(args[0], args[1], args[2]); - case 4: return new Ctor(args[0], args[1], args[2], args[3]); - case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]); - case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]); - case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]); - } - var thisBinding = baseCreate(Ctor.prototype), - result = Ctor.apply(thisBinding, args); - - // Mimic the constructor's `return` behavior. - // See https://es5.github.io/#x13.2.2 for more details. - return isObject(result) ? result : thisBinding; - }; -} - -module.exports = createCtor; diff --git a/packages/frontend-core/node_modules/lodash/_createCurry.js b/packages/frontend-core/node_modules/lodash/_createCurry.js deleted file mode 100644 index f06c2cdd85..0000000000 --- a/packages/frontend-core/node_modules/lodash/_createCurry.js +++ /dev/null @@ -1,46 +0,0 @@ -var apply = require('./_apply'), - createCtor = require('./_createCtor'), - createHybrid = require('./_createHybrid'), - createRecurry = require('./_createRecurry'), - getHolder = require('./_getHolder'), - replaceHolders = require('./_replaceHolders'), - root = require('./_root'); - -/** - * Creates a function that wraps `func` to enable currying. - * - * @private - * @param {Function} func The function to wrap. - * @param {number} bitmask The bitmask flags. See `createWrap` for more details. - * @param {number} arity The arity of `func`. - * @returns {Function} Returns the new wrapped function. - */ -function createCurry(func, bitmask, arity) { - var Ctor = createCtor(func); - - function wrapper() { - var length = arguments.length, - args = Array(length), - index = length, - placeholder = getHolder(wrapper); - - while (index--) { - args[index] = arguments[index]; - } - var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder) - ? [] - : replaceHolders(args, placeholder); - - length -= holders.length; - if (length < arity) { - return createRecurry( - func, bitmask, createHybrid, wrapper.placeholder, undefined, - args, holders, undefined, undefined, arity - length); - } - var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; - return apply(fn, this, args); - } - return wrapper; -} - -module.exports = createCurry; diff --git a/packages/frontend-core/node_modules/lodash/_createFind.js b/packages/frontend-core/node_modules/lodash/_createFind.js deleted file mode 100644 index 8859ff89f4..0000000000 --- a/packages/frontend-core/node_modules/lodash/_createFind.js +++ /dev/null @@ -1,25 +0,0 @@ -var baseIteratee = require('./_baseIteratee'), - isArrayLike = require('./isArrayLike'), - keys = require('./keys'); - -/** - * Creates a `_.find` or `_.findLast` function. - * - * @private - * @param {Function} findIndexFunc The function to find the collection index. - * @returns {Function} Returns the new find function. - */ -function createFind(findIndexFunc) { - return function(collection, predicate, fromIndex) { - var iterable = Object(collection); - if (!isArrayLike(collection)) { - var iteratee = baseIteratee(predicate, 3); - collection = keys(collection); - predicate = function(key) { return iteratee(iterable[key], key, iterable); }; - } - var index = findIndexFunc(collection, predicate, fromIndex); - return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined; - }; -} - -module.exports = createFind; diff --git a/packages/frontend-core/node_modules/lodash/_createFlow.js b/packages/frontend-core/node_modules/lodash/_createFlow.js deleted file mode 100644 index baaddbf5e8..0000000000 --- a/packages/frontend-core/node_modules/lodash/_createFlow.js +++ /dev/null @@ -1,78 +0,0 @@ -var LodashWrapper = require('./_LodashWrapper'), - flatRest = require('./_flatRest'), - getData = require('./_getData'), - getFuncName = require('./_getFuncName'), - isArray = require('./isArray'), - isLaziable = require('./_isLaziable'); - -/** Error message constants. */ -var FUNC_ERROR_TEXT = 'Expected a function'; - -/** Used to compose bitmasks for function metadata. */ -var WRAP_CURRY_FLAG = 8, - WRAP_PARTIAL_FLAG = 32, - WRAP_ARY_FLAG = 128, - WRAP_REARG_FLAG = 256; - -/** - * Creates a `_.flow` or `_.flowRight` function. - * - * @private - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new flow function. - */ -function createFlow(fromRight) { - return flatRest(function(funcs) { - var length = funcs.length, - index = length, - prereq = LodashWrapper.prototype.thru; - - if (fromRight) { - funcs.reverse(); - } - while (index--) { - var func = funcs[index]; - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - if (prereq && !wrapper && getFuncName(func) == 'wrapper') { - var wrapper = new LodashWrapper([], true); - } - } - index = wrapper ? index : length; - while (++index < length) { - func = funcs[index]; - - var funcName = getFuncName(func), - data = funcName == 'wrapper' ? getData(func) : undefined; - - if (data && isLaziable(data[0]) && - data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) && - !data[4].length && data[9] == 1 - ) { - wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]); - } else { - wrapper = (func.length == 1 && isLaziable(func)) - ? wrapper[funcName]() - : wrapper.thru(func); - } - } - return function() { - var args = arguments, - value = args[0]; - - if (wrapper && args.length == 1 && isArray(value)) { - return wrapper.plant(value).value(); - } - var index = 0, - result = length ? funcs[index].apply(this, args) : value; - - while (++index < length) { - result = funcs[index].call(this, result); - } - return result; - }; - }); -} - -module.exports = createFlow; diff --git a/packages/frontend-core/node_modules/lodash/_createHybrid.js b/packages/frontend-core/node_modules/lodash/_createHybrid.js deleted file mode 100644 index b671bd11f6..0000000000 --- a/packages/frontend-core/node_modules/lodash/_createHybrid.js +++ /dev/null @@ -1,92 +0,0 @@ -var composeArgs = require('./_composeArgs'), - composeArgsRight = require('./_composeArgsRight'), - countHolders = require('./_countHolders'), - createCtor = require('./_createCtor'), - createRecurry = require('./_createRecurry'), - getHolder = require('./_getHolder'), - reorder = require('./_reorder'), - replaceHolders = require('./_replaceHolders'), - root = require('./_root'); - -/** Used to compose bitmasks for function metadata. */ -var WRAP_BIND_FLAG = 1, - WRAP_BIND_KEY_FLAG = 2, - WRAP_CURRY_FLAG = 8, - WRAP_CURRY_RIGHT_FLAG = 16, - WRAP_ARY_FLAG = 128, - WRAP_FLIP_FLAG = 512; - -/** - * Creates a function that wraps `func` to invoke it with optional `this` - * binding of `thisArg`, partial application, and currying. - * - * @private - * @param {Function|string} func The function or method name to wrap. - * @param {number} bitmask The bitmask flags. See `createWrap` for more details. - * @param {*} [thisArg] The `this` binding of `func`. - * @param {Array} [partials] The arguments to prepend to those provided to - * the new function. - * @param {Array} [holders] The `partials` placeholder indexes. - * @param {Array} [partialsRight] The arguments to append to those provided - * to the new function. - * @param {Array} [holdersRight] The `partialsRight` placeholder indexes. - * @param {Array} [argPos] The argument positions of the new function. - * @param {number} [ary] The arity cap of `func`. - * @param {number} [arity] The arity of `func`. - * @returns {Function} Returns the new wrapped function. - */ -function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) { - var isAry = bitmask & WRAP_ARY_FLAG, - isBind = bitmask & WRAP_BIND_FLAG, - isBindKey = bitmask & WRAP_BIND_KEY_FLAG, - isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG), - isFlip = bitmask & WRAP_FLIP_FLAG, - Ctor = isBindKey ? undefined : createCtor(func); - - function wrapper() { - var length = arguments.length, - args = Array(length), - index = length; - - while (index--) { - args[index] = arguments[index]; - } - if (isCurried) { - var placeholder = getHolder(wrapper), - holdersCount = countHolders(args, placeholder); - } - if (partials) { - args = composeArgs(args, partials, holders, isCurried); - } - if (partialsRight) { - args = composeArgsRight(args, partialsRight, holdersRight, isCurried); - } - length -= holdersCount; - if (isCurried && length < arity) { - var newHolders = replaceHolders(args, placeholder); - return createRecurry( - func, bitmask, createHybrid, wrapper.placeholder, thisArg, - args, newHolders, argPos, ary, arity - length - ); - } - var thisBinding = isBind ? thisArg : this, - fn = isBindKey ? thisBinding[func] : func; - - length = args.length; - if (argPos) { - args = reorder(args, argPos); - } else if (isFlip && length > 1) { - args.reverse(); - } - if (isAry && ary < length) { - args.length = ary; - } - if (this && this !== root && this instanceof wrapper) { - fn = Ctor || createCtor(fn); - } - return fn.apply(thisBinding, args); - } - return wrapper; -} - -module.exports = createHybrid; diff --git a/packages/frontend-core/node_modules/lodash/_createInverter.js b/packages/frontend-core/node_modules/lodash/_createInverter.js deleted file mode 100644 index 6c0c56299b..0000000000 --- a/packages/frontend-core/node_modules/lodash/_createInverter.js +++ /dev/null @@ -1,17 +0,0 @@ -var baseInverter = require('./_baseInverter'); - -/** - * Creates a function like `_.invertBy`. - * - * @private - * @param {Function} setter The function to set accumulator values. - * @param {Function} toIteratee The function to resolve iteratees. - * @returns {Function} Returns the new inverter function. - */ -function createInverter(setter, toIteratee) { - return function(object, iteratee) { - return baseInverter(object, setter, toIteratee(iteratee), {}); - }; -} - -module.exports = createInverter; diff --git a/packages/frontend-core/node_modules/lodash/_createMathOperation.js b/packages/frontend-core/node_modules/lodash/_createMathOperation.js deleted file mode 100644 index f1e238ac0a..0000000000 --- a/packages/frontend-core/node_modules/lodash/_createMathOperation.js +++ /dev/null @@ -1,38 +0,0 @@ -var baseToNumber = require('./_baseToNumber'), - baseToString = require('./_baseToString'); - -/** - * Creates a function that performs a mathematical operation on two values. - * - * @private - * @param {Function} operator The function to perform the operation. - * @param {number} [defaultValue] The value used for `undefined` arguments. - * @returns {Function} Returns the new mathematical operation function. - */ -function createMathOperation(operator, defaultValue) { - return function(value, other) { - var result; - if (value === undefined && other === undefined) { - return defaultValue; - } - if (value !== undefined) { - result = value; - } - if (other !== undefined) { - if (result === undefined) { - return other; - } - if (typeof value == 'string' || typeof other == 'string') { - value = baseToString(value); - other = baseToString(other); - } else { - value = baseToNumber(value); - other = baseToNumber(other); - } - result = operator(value, other); - } - return result; - }; -} - -module.exports = createMathOperation; diff --git a/packages/frontend-core/node_modules/lodash/_createOver.js b/packages/frontend-core/node_modules/lodash/_createOver.js deleted file mode 100644 index 3b9455161b..0000000000 --- a/packages/frontend-core/node_modules/lodash/_createOver.js +++ /dev/null @@ -1,27 +0,0 @@ -var apply = require('./_apply'), - arrayMap = require('./_arrayMap'), - baseIteratee = require('./_baseIteratee'), - baseRest = require('./_baseRest'), - baseUnary = require('./_baseUnary'), - flatRest = require('./_flatRest'); - -/** - * Creates a function like `_.over`. - * - * @private - * @param {Function} arrayFunc The function to iterate over iteratees. - * @returns {Function} Returns the new over function. - */ -function createOver(arrayFunc) { - return flatRest(function(iteratees) { - iteratees = arrayMap(iteratees, baseUnary(baseIteratee)); - return baseRest(function(args) { - var thisArg = this; - return arrayFunc(iteratees, function(iteratee) { - return apply(iteratee, thisArg, args); - }); - }); - }); -} - -module.exports = createOver; diff --git a/packages/frontend-core/node_modules/lodash/_createPadding.js b/packages/frontend-core/node_modules/lodash/_createPadding.js deleted file mode 100644 index 2124612b81..0000000000 --- a/packages/frontend-core/node_modules/lodash/_createPadding.js +++ /dev/null @@ -1,33 +0,0 @@ -var baseRepeat = require('./_baseRepeat'), - baseToString = require('./_baseToString'), - castSlice = require('./_castSlice'), - hasUnicode = require('./_hasUnicode'), - stringSize = require('./_stringSize'), - stringToArray = require('./_stringToArray'); - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeCeil = Math.ceil; - -/** - * Creates the padding for `string` based on `length`. The `chars` string - * is truncated if the number of characters exceeds `length`. - * - * @private - * @param {number} length The padding length. - * @param {string} [chars=' '] The string used as padding. - * @returns {string} Returns the padding for `string`. - */ -function createPadding(length, chars) { - chars = chars === undefined ? ' ' : baseToString(chars); - - var charsLength = chars.length; - if (charsLength < 2) { - return charsLength ? baseRepeat(chars, length) : chars; - } - var result = baseRepeat(chars, nativeCeil(length / stringSize(chars))); - return hasUnicode(chars) - ? castSlice(stringToArray(result), 0, length).join('') - : result.slice(0, length); -} - -module.exports = createPadding; diff --git a/packages/frontend-core/node_modules/lodash/_createPartial.js b/packages/frontend-core/node_modules/lodash/_createPartial.js deleted file mode 100644 index e16c248b5e..0000000000 --- a/packages/frontend-core/node_modules/lodash/_createPartial.js +++ /dev/null @@ -1,43 +0,0 @@ -var apply = require('./_apply'), - createCtor = require('./_createCtor'), - root = require('./_root'); - -/** Used to compose bitmasks for function metadata. */ -var WRAP_BIND_FLAG = 1; - -/** - * Creates a function that wraps `func` to invoke it with the `this` binding - * of `thisArg` and `partials` prepended to the arguments it receives. - * - * @private - * @param {Function} func The function to wrap. - * @param {number} bitmask The bitmask flags. See `createWrap` for more details. - * @param {*} thisArg The `this` binding of `func`. - * @param {Array} partials The arguments to prepend to those provided to - * the new function. - * @returns {Function} Returns the new wrapped function. - */ -function createPartial(func, bitmask, thisArg, partials) { - var isBind = bitmask & WRAP_BIND_FLAG, - Ctor = createCtor(func); - - function wrapper() { - var argsIndex = -1, - argsLength = arguments.length, - leftIndex = -1, - leftLength = partials.length, - args = Array(leftLength + argsLength), - fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; - - while (++leftIndex < leftLength) { - args[leftIndex] = partials[leftIndex]; - } - while (argsLength--) { - args[leftIndex++] = arguments[++argsIndex]; - } - return apply(fn, isBind ? thisArg : this, args); - } - return wrapper; -} - -module.exports = createPartial; diff --git a/packages/frontend-core/node_modules/lodash/_createRange.js b/packages/frontend-core/node_modules/lodash/_createRange.js deleted file mode 100644 index 9f52c77932..0000000000 --- a/packages/frontend-core/node_modules/lodash/_createRange.js +++ /dev/null @@ -1,30 +0,0 @@ -var baseRange = require('./_baseRange'), - isIterateeCall = require('./_isIterateeCall'), - toFinite = require('./toFinite'); - -/** - * Creates a `_.range` or `_.rangeRight` function. - * - * @private - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new range function. - */ -function createRange(fromRight) { - return function(start, end, step) { - if (step && typeof step != 'number' && isIterateeCall(start, end, step)) { - end = step = undefined; - } - // Ensure the sign of `-0` is preserved. - start = toFinite(start); - if (end === undefined) { - end = start; - start = 0; - } else { - end = toFinite(end); - } - step = step === undefined ? (start < end ? 1 : -1) : toFinite(step); - return baseRange(start, end, step, fromRight); - }; -} - -module.exports = createRange; diff --git a/packages/frontend-core/node_modules/lodash/_createRecurry.js b/packages/frontend-core/node_modules/lodash/_createRecurry.js deleted file mode 100644 index eb29fb24c0..0000000000 --- a/packages/frontend-core/node_modules/lodash/_createRecurry.js +++ /dev/null @@ -1,56 +0,0 @@ -var isLaziable = require('./_isLaziable'), - setData = require('./_setData'), - setWrapToString = require('./_setWrapToString'); - -/** Used to compose bitmasks for function metadata. */ -var WRAP_BIND_FLAG = 1, - WRAP_BIND_KEY_FLAG = 2, - WRAP_CURRY_BOUND_FLAG = 4, - WRAP_CURRY_FLAG = 8, - WRAP_PARTIAL_FLAG = 32, - WRAP_PARTIAL_RIGHT_FLAG = 64; - -/** - * Creates a function that wraps `func` to continue currying. - * - * @private - * @param {Function} func The function to wrap. - * @param {number} bitmask The bitmask flags. See `createWrap` for more details. - * @param {Function} wrapFunc The function to create the `func` wrapper. - * @param {*} placeholder The placeholder value. - * @param {*} [thisArg] The `this` binding of `func`. - * @param {Array} [partials] The arguments to prepend to those provided to - * the new function. - * @param {Array} [holders] The `partials` placeholder indexes. - * @param {Array} [argPos] The argument positions of the new function. - * @param {number} [ary] The arity cap of `func`. - * @param {number} [arity] The arity of `func`. - * @returns {Function} Returns the new wrapped function. - */ -function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) { - var isCurry = bitmask & WRAP_CURRY_FLAG, - newHolders = isCurry ? holders : undefined, - newHoldersRight = isCurry ? undefined : holders, - newPartials = isCurry ? partials : undefined, - newPartialsRight = isCurry ? undefined : partials; - - bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG); - bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG); - - if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) { - bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG); - } - var newData = [ - func, bitmask, thisArg, newPartials, newHolders, newPartialsRight, - newHoldersRight, argPos, ary, arity - ]; - - var result = wrapFunc.apply(undefined, newData); - if (isLaziable(func)) { - setData(result, newData); - } - result.placeholder = placeholder; - return setWrapToString(result, func, bitmask); -} - -module.exports = createRecurry; diff --git a/packages/frontend-core/node_modules/lodash/_createRelationalOperation.js b/packages/frontend-core/node_modules/lodash/_createRelationalOperation.js deleted file mode 100644 index a17c6b5e72..0000000000 --- a/packages/frontend-core/node_modules/lodash/_createRelationalOperation.js +++ /dev/null @@ -1,20 +0,0 @@ -var toNumber = require('./toNumber'); - -/** - * Creates a function that performs a relational operation on two values. - * - * @private - * @param {Function} operator The function to perform the operation. - * @returns {Function} Returns the new relational operation function. - */ -function createRelationalOperation(operator) { - return function(value, other) { - if (!(typeof value == 'string' && typeof other == 'string')) { - value = toNumber(value); - other = toNumber(other); - } - return operator(value, other); - }; -} - -module.exports = createRelationalOperation; diff --git a/packages/frontend-core/node_modules/lodash/_createRound.js b/packages/frontend-core/node_modules/lodash/_createRound.js deleted file mode 100644 index 88be5df396..0000000000 --- a/packages/frontend-core/node_modules/lodash/_createRound.js +++ /dev/null @@ -1,35 +0,0 @@ -var root = require('./_root'), - toInteger = require('./toInteger'), - toNumber = require('./toNumber'), - toString = require('./toString'); - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeIsFinite = root.isFinite, - nativeMin = Math.min; - -/** - * Creates a function like `_.round`. - * - * @private - * @param {string} methodName The name of the `Math` method to use when rounding. - * @returns {Function} Returns the new round function. - */ -function createRound(methodName) { - var func = Math[methodName]; - return function(number, precision) { - number = toNumber(number); - precision = precision == null ? 0 : nativeMin(toInteger(precision), 292); - if (precision && nativeIsFinite(number)) { - // Shift with exponential notation to avoid floating-point issues. - // See [MDN](https://mdn.io/round#Examples) for more details. - var pair = (toString(number) + 'e').split('e'), - value = func(pair[0] + 'e' + (+pair[1] + precision)); - - pair = (toString(value) + 'e').split('e'); - return +(pair[0] + 'e' + (+pair[1] - precision)); - } - return func(number); - }; -} - -module.exports = createRound; diff --git a/packages/frontend-core/node_modules/lodash/_createSet.js b/packages/frontend-core/node_modules/lodash/_createSet.js deleted file mode 100644 index 0f644eeae6..0000000000 --- a/packages/frontend-core/node_modules/lodash/_createSet.js +++ /dev/null @@ -1,19 +0,0 @@ -var Set = require('./_Set'), - noop = require('./noop'), - setToArray = require('./_setToArray'); - -/** Used as references for various `Number` constants. */ -var INFINITY = 1 / 0; - -/** - * Creates a set object of `values`. - * - * @private - * @param {Array} values The values to add to the set. - * @returns {Object} Returns the new set. - */ -var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) { - return new Set(values); -}; - -module.exports = createSet; diff --git a/packages/frontend-core/node_modules/lodash/_createToPairs.js b/packages/frontend-core/node_modules/lodash/_createToPairs.js deleted file mode 100644 index 568417afda..0000000000 --- a/packages/frontend-core/node_modules/lodash/_createToPairs.js +++ /dev/null @@ -1,30 +0,0 @@ -var baseToPairs = require('./_baseToPairs'), - getTag = require('./_getTag'), - mapToArray = require('./_mapToArray'), - setToPairs = require('./_setToPairs'); - -/** `Object#toString` result references. */ -var mapTag = '[object Map]', - setTag = '[object Set]'; - -/** - * Creates a `_.toPairs` or `_.toPairsIn` function. - * - * @private - * @param {Function} keysFunc The function to get the keys of a given object. - * @returns {Function} Returns the new pairs function. - */ -function createToPairs(keysFunc) { - return function(object) { - var tag = getTag(object); - if (tag == mapTag) { - return mapToArray(object); - } - if (tag == setTag) { - return setToPairs(object); - } - return baseToPairs(object, keysFunc(object)); - }; -} - -module.exports = createToPairs; diff --git a/packages/frontend-core/node_modules/lodash/_createWrap.js b/packages/frontend-core/node_modules/lodash/_createWrap.js deleted file mode 100644 index 33f0633e40..0000000000 --- a/packages/frontend-core/node_modules/lodash/_createWrap.js +++ /dev/null @@ -1,106 +0,0 @@ -var baseSetData = require('./_baseSetData'), - createBind = require('./_createBind'), - createCurry = require('./_createCurry'), - createHybrid = require('./_createHybrid'), - createPartial = require('./_createPartial'), - getData = require('./_getData'), - mergeData = require('./_mergeData'), - setData = require('./_setData'), - setWrapToString = require('./_setWrapToString'), - toInteger = require('./toInteger'); - -/** Error message constants. */ -var FUNC_ERROR_TEXT = 'Expected a function'; - -/** Used to compose bitmasks for function metadata. */ -var WRAP_BIND_FLAG = 1, - WRAP_BIND_KEY_FLAG = 2, - WRAP_CURRY_FLAG = 8, - WRAP_CURRY_RIGHT_FLAG = 16, - WRAP_PARTIAL_FLAG = 32, - WRAP_PARTIAL_RIGHT_FLAG = 64; - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeMax = Math.max; - -/** - * Creates a function that either curries or invokes `func` with optional - * `this` binding and partially applied arguments. - * - * @private - * @param {Function|string} func The function or method name to wrap. - * @param {number} bitmask The bitmask flags. - * 1 - `_.bind` - * 2 - `_.bindKey` - * 4 - `_.curry` or `_.curryRight` of a bound function - * 8 - `_.curry` - * 16 - `_.curryRight` - * 32 - `_.partial` - * 64 - `_.partialRight` - * 128 - `_.rearg` - * 256 - `_.ary` - * 512 - `_.flip` - * @param {*} [thisArg] The `this` binding of `func`. - * @param {Array} [partials] The arguments to be partially applied. - * @param {Array} [holders] The `partials` placeholder indexes. - * @param {Array} [argPos] The argument positions of the new function. - * @param {number} [ary] The arity cap of `func`. - * @param {number} [arity] The arity of `func`. - * @returns {Function} Returns the new wrapped function. - */ -function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) { - var isBindKey = bitmask & WRAP_BIND_KEY_FLAG; - if (!isBindKey && typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - var length = partials ? partials.length : 0; - if (!length) { - bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG); - partials = holders = undefined; - } - ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0); - arity = arity === undefined ? arity : toInteger(arity); - length -= holders ? holders.length : 0; - - if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) { - var partialsRight = partials, - holdersRight = holders; - - partials = holders = undefined; - } - var data = isBindKey ? undefined : getData(func); - - var newData = [ - func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, - argPos, ary, arity - ]; - - if (data) { - mergeData(newData, data); - } - func = newData[0]; - bitmask = newData[1]; - thisArg = newData[2]; - partials = newData[3]; - holders = newData[4]; - arity = newData[9] = newData[9] === undefined - ? (isBindKey ? 0 : func.length) - : nativeMax(newData[9] - length, 0); - - if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) { - bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG); - } - if (!bitmask || bitmask == WRAP_BIND_FLAG) { - var result = createBind(func, bitmask, thisArg); - } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) { - result = createCurry(func, bitmask, arity); - } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) { - result = createPartial(func, bitmask, thisArg, partials); - } else { - result = createHybrid.apply(undefined, newData); - } - var setter = data ? baseSetData : setData; - return setWrapToString(setter(result, newData), func, bitmask); -} - -module.exports = createWrap; diff --git a/packages/frontend-core/node_modules/lodash/_customDefaultsAssignIn.js b/packages/frontend-core/node_modules/lodash/_customDefaultsAssignIn.js deleted file mode 100644 index 1f49e6fc4f..0000000000 --- a/packages/frontend-core/node_modules/lodash/_customDefaultsAssignIn.js +++ /dev/null @@ -1,29 +0,0 @@ -var eq = require('./eq'); - -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * Used by `_.defaults` to customize its `_.assignIn` use to assign properties - * of source objects to the destination object for all destination properties - * that resolve to `undefined`. - * - * @private - * @param {*} objValue The destination value. - * @param {*} srcValue The source value. - * @param {string} key The key of the property to assign. - * @param {Object} object The parent object of `objValue`. - * @returns {*} Returns the value to assign. - */ -function customDefaultsAssignIn(objValue, srcValue, key, object) { - if (objValue === undefined || - (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) { - return srcValue; - } - return objValue; -} - -module.exports = customDefaultsAssignIn; diff --git a/packages/frontend-core/node_modules/lodash/_customDefaultsMerge.js b/packages/frontend-core/node_modules/lodash/_customDefaultsMerge.js deleted file mode 100644 index 4cab31751b..0000000000 --- a/packages/frontend-core/node_modules/lodash/_customDefaultsMerge.js +++ /dev/null @@ -1,28 +0,0 @@ -var baseMerge = require('./_baseMerge'), - isObject = require('./isObject'); - -/** - * Used by `_.defaultsDeep` to customize its `_.merge` use to merge source - * objects into destination objects that are passed thru. - * - * @private - * @param {*} objValue The destination value. - * @param {*} srcValue The source value. - * @param {string} key The key of the property to merge. - * @param {Object} object The parent object of `objValue`. - * @param {Object} source The parent object of `srcValue`. - * @param {Object} [stack] Tracks traversed source values and their merged - * counterparts. - * @returns {*} Returns the value to assign. - */ -function customDefaultsMerge(objValue, srcValue, key, object, source, stack) { - if (isObject(objValue) && isObject(srcValue)) { - // Recursively merge objects and arrays (susceptible to call stack limits). - stack.set(srcValue, objValue); - baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack); - stack['delete'](srcValue); - } - return objValue; -} - -module.exports = customDefaultsMerge; diff --git a/packages/frontend-core/node_modules/lodash/_customOmitClone.js b/packages/frontend-core/node_modules/lodash/_customOmitClone.js deleted file mode 100644 index 968db2ef3e..0000000000 --- a/packages/frontend-core/node_modules/lodash/_customOmitClone.js +++ /dev/null @@ -1,16 +0,0 @@ -var isPlainObject = require('./isPlainObject'); - -/** - * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain - * objects. - * - * @private - * @param {*} value The value to inspect. - * @param {string} key The key of the property to inspect. - * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`. - */ -function customOmitClone(value) { - return isPlainObject(value) ? undefined : value; -} - -module.exports = customOmitClone; diff --git a/packages/frontend-core/node_modules/lodash/_deburrLetter.js b/packages/frontend-core/node_modules/lodash/_deburrLetter.js deleted file mode 100644 index 3e531edcf3..0000000000 --- a/packages/frontend-core/node_modules/lodash/_deburrLetter.js +++ /dev/null @@ -1,71 +0,0 @@ -var basePropertyOf = require('./_basePropertyOf'); - -/** Used to map Latin Unicode letters to basic Latin letters. */ -var deburredLetters = { - // Latin-1 Supplement block. - '\xc0': 'A', '\xc1': 'A', '\xc2': 'A', '\xc3': 'A', '\xc4': 'A', '\xc5': 'A', - '\xe0': 'a', '\xe1': 'a', '\xe2': 'a', '\xe3': 'a', '\xe4': 'a', '\xe5': 'a', - '\xc7': 'C', '\xe7': 'c', - '\xd0': 'D', '\xf0': 'd', - '\xc8': 'E', '\xc9': 'E', '\xca': 'E', '\xcb': 'E', - '\xe8': 'e', '\xe9': 'e', '\xea': 'e', '\xeb': 'e', - '\xcc': 'I', '\xcd': 'I', '\xce': 'I', '\xcf': 'I', - '\xec': 'i', '\xed': 'i', '\xee': 'i', '\xef': 'i', - '\xd1': 'N', '\xf1': 'n', - '\xd2': 'O', '\xd3': 'O', '\xd4': 'O', '\xd5': 'O', '\xd6': 'O', '\xd8': 'O', - '\xf2': 'o', '\xf3': 'o', '\xf4': 'o', '\xf5': 'o', '\xf6': 'o', '\xf8': 'o', - '\xd9': 'U', '\xda': 'U', '\xdb': 'U', '\xdc': 'U', - '\xf9': 'u', '\xfa': 'u', '\xfb': 'u', '\xfc': 'u', - '\xdd': 'Y', '\xfd': 'y', '\xff': 'y', - '\xc6': 'Ae', '\xe6': 'ae', - '\xde': 'Th', '\xfe': 'th', - '\xdf': 'ss', - // Latin Extended-A block. - '\u0100': 'A', '\u0102': 'A', '\u0104': 'A', - '\u0101': 'a', '\u0103': 'a', '\u0105': 'a', - '\u0106': 'C', '\u0108': 'C', '\u010a': 'C', '\u010c': 'C', - '\u0107': 'c', '\u0109': 'c', '\u010b': 'c', '\u010d': 'c', - '\u010e': 'D', '\u0110': 'D', '\u010f': 'd', '\u0111': 'd', - '\u0112': 'E', '\u0114': 'E', '\u0116': 'E', '\u0118': 'E', '\u011a': 'E', - '\u0113': 'e', '\u0115': 'e', '\u0117': 'e', '\u0119': 'e', '\u011b': 'e', - '\u011c': 'G', '\u011e': 'G', '\u0120': 'G', '\u0122': 'G', - '\u011d': 'g', '\u011f': 'g', '\u0121': 'g', '\u0123': 'g', - '\u0124': 'H', '\u0126': 'H', '\u0125': 'h', '\u0127': 'h', - '\u0128': 'I', '\u012a': 'I', '\u012c': 'I', '\u012e': 'I', '\u0130': 'I', - '\u0129': 'i', '\u012b': 'i', '\u012d': 'i', '\u012f': 'i', '\u0131': 'i', - '\u0134': 'J', '\u0135': 'j', - '\u0136': 'K', '\u0137': 'k', '\u0138': 'k', - '\u0139': 'L', '\u013b': 'L', '\u013d': 'L', '\u013f': 'L', '\u0141': 'L', - '\u013a': 'l', '\u013c': 'l', '\u013e': 'l', '\u0140': 'l', '\u0142': 'l', - '\u0143': 'N', '\u0145': 'N', '\u0147': 'N', '\u014a': 'N', - '\u0144': 'n', '\u0146': 'n', '\u0148': 'n', '\u014b': 'n', - '\u014c': 'O', '\u014e': 'O', '\u0150': 'O', - '\u014d': 'o', '\u014f': 'o', '\u0151': 'o', - '\u0154': 'R', '\u0156': 'R', '\u0158': 'R', - '\u0155': 'r', '\u0157': 'r', '\u0159': 'r', - '\u015a': 'S', '\u015c': 'S', '\u015e': 'S', '\u0160': 'S', - '\u015b': 's', '\u015d': 's', '\u015f': 's', '\u0161': 's', - '\u0162': 'T', '\u0164': 'T', '\u0166': 'T', - '\u0163': 't', '\u0165': 't', '\u0167': 't', - '\u0168': 'U', '\u016a': 'U', '\u016c': 'U', '\u016e': 'U', '\u0170': 'U', '\u0172': 'U', - '\u0169': 'u', '\u016b': 'u', '\u016d': 'u', '\u016f': 'u', '\u0171': 'u', '\u0173': 'u', - '\u0174': 'W', '\u0175': 'w', - '\u0176': 'Y', '\u0177': 'y', '\u0178': 'Y', - '\u0179': 'Z', '\u017b': 'Z', '\u017d': 'Z', - '\u017a': 'z', '\u017c': 'z', '\u017e': 'z', - '\u0132': 'IJ', '\u0133': 'ij', - '\u0152': 'Oe', '\u0153': 'oe', - '\u0149': "'n", '\u017f': 's' -}; - -/** - * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A - * letters to basic Latin letters. - * - * @private - * @param {string} letter The matched letter to deburr. - * @returns {string} Returns the deburred letter. - */ -var deburrLetter = basePropertyOf(deburredLetters); - -module.exports = deburrLetter; diff --git a/packages/frontend-core/node_modules/lodash/_defineProperty.js b/packages/frontend-core/node_modules/lodash/_defineProperty.js deleted file mode 100644 index b6116d92ab..0000000000 --- a/packages/frontend-core/node_modules/lodash/_defineProperty.js +++ /dev/null @@ -1,11 +0,0 @@ -var getNative = require('./_getNative'); - -var defineProperty = (function() { - try { - var func = getNative(Object, 'defineProperty'); - func({}, '', {}); - return func; - } catch (e) {} -}()); - -module.exports = defineProperty; diff --git a/packages/frontend-core/node_modules/lodash/_equalArrays.js b/packages/frontend-core/node_modules/lodash/_equalArrays.js deleted file mode 100644 index 824228c78c..0000000000 --- a/packages/frontend-core/node_modules/lodash/_equalArrays.js +++ /dev/null @@ -1,84 +0,0 @@ -var SetCache = require('./_SetCache'), - arraySome = require('./_arraySome'), - cacheHas = require('./_cacheHas'); - -/** Used to compose bitmasks for value comparisons. */ -var COMPARE_PARTIAL_FLAG = 1, - COMPARE_UNORDERED_FLAG = 2; - -/** - * A specialized version of `baseIsEqualDeep` for arrays with support for - * partial deep comparisons. - * - * @private - * @param {Array} array The array to compare. - * @param {Array} other The other array to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Object} stack Tracks traversed `array` and `other` objects. - * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. - */ -function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { - var isPartial = bitmask & COMPARE_PARTIAL_FLAG, - arrLength = array.length, - othLength = other.length; - - if (arrLength != othLength && !(isPartial && othLength > arrLength)) { - return false; - } - // Check that cyclic values are equal. - var arrStacked = stack.get(array); - var othStacked = stack.get(other); - if (arrStacked && othStacked) { - return arrStacked == other && othStacked == array; - } - var index = -1, - result = true, - seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined; - - stack.set(array, other); - stack.set(other, array); - - // Ignore non-index properties. - while (++index < arrLength) { - var arrValue = array[index], - othValue = other[index]; - - if (customizer) { - var compared = isPartial - ? customizer(othValue, arrValue, index, other, array, stack) - : customizer(arrValue, othValue, index, array, other, stack); - } - if (compared !== undefined) { - if (compared) { - continue; - } - result = false; - break; - } - // Recursively compare arrays (susceptible to call stack limits). - if (seen) { - if (!arraySome(other, function(othValue, othIndex) { - if (!cacheHas(seen, othIndex) && - (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { - return seen.push(othIndex); - } - })) { - result = false; - break; - } - } else if (!( - arrValue === othValue || - equalFunc(arrValue, othValue, bitmask, customizer, stack) - )) { - result = false; - break; - } - } - stack['delete'](array); - stack['delete'](other); - return result; -} - -module.exports = equalArrays; diff --git a/packages/frontend-core/node_modules/lodash/_equalByTag.js b/packages/frontend-core/node_modules/lodash/_equalByTag.js deleted file mode 100644 index 71919e8673..0000000000 --- a/packages/frontend-core/node_modules/lodash/_equalByTag.js +++ /dev/null @@ -1,112 +0,0 @@ -var Symbol = require('./_Symbol'), - Uint8Array = require('./_Uint8Array'), - eq = require('./eq'), - equalArrays = require('./_equalArrays'), - mapToArray = require('./_mapToArray'), - setToArray = require('./_setToArray'); - -/** Used to compose bitmasks for value comparisons. */ -var COMPARE_PARTIAL_FLAG = 1, - COMPARE_UNORDERED_FLAG = 2; - -/** `Object#toString` result references. */ -var boolTag = '[object Boolean]', - dateTag = '[object Date]', - errorTag = '[object Error]', - mapTag = '[object Map]', - numberTag = '[object Number]', - regexpTag = '[object RegExp]', - setTag = '[object Set]', - stringTag = '[object String]', - symbolTag = '[object Symbol]'; - -var arrayBufferTag = '[object ArrayBuffer]', - dataViewTag = '[object DataView]'; - -/** Used to convert symbols to primitives and strings. */ -var symbolProto = Symbol ? Symbol.prototype : undefined, - symbolValueOf = symbolProto ? symbolProto.valueOf : undefined; - -/** - * A specialized version of `baseIsEqualDeep` for comparing objects of - * the same `toStringTag`. - * - * **Note:** This function only supports comparing values with tags of - * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {string} tag The `toStringTag` of the objects to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Object} stack Tracks traversed `object` and `other` objects. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */ -function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { - switch (tag) { - case dataViewTag: - if ((object.byteLength != other.byteLength) || - (object.byteOffset != other.byteOffset)) { - return false; - } - object = object.buffer; - other = other.buffer; - - case arrayBufferTag: - if ((object.byteLength != other.byteLength) || - !equalFunc(new Uint8Array(object), new Uint8Array(other))) { - return false; - } - return true; - - case boolTag: - case dateTag: - case numberTag: - // Coerce booleans to `1` or `0` and dates to milliseconds. - // Invalid dates are coerced to `NaN`. - return eq(+object, +other); - - case errorTag: - return object.name == other.name && object.message == other.message; - - case regexpTag: - case stringTag: - // Coerce regexes to strings and treat strings, primitives and objects, - // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring - // for more details. - return object == (other + ''); - - case mapTag: - var convert = mapToArray; - - case setTag: - var isPartial = bitmask & COMPARE_PARTIAL_FLAG; - convert || (convert = setToArray); - - if (object.size != other.size && !isPartial) { - return false; - } - // Assume cyclic values are equal. - var stacked = stack.get(object); - if (stacked) { - return stacked == other; - } - bitmask |= COMPARE_UNORDERED_FLAG; - - // Recursively compare objects (susceptible to call stack limits). - stack.set(object, other); - var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack); - stack['delete'](object); - return result; - - case symbolTag: - if (symbolValueOf) { - return symbolValueOf.call(object) == symbolValueOf.call(other); - } - } - return false; -} - -module.exports = equalByTag; diff --git a/packages/frontend-core/node_modules/lodash/_equalObjects.js b/packages/frontend-core/node_modules/lodash/_equalObjects.js deleted file mode 100644 index cdaacd2dfd..0000000000 --- a/packages/frontend-core/node_modules/lodash/_equalObjects.js +++ /dev/null @@ -1,90 +0,0 @@ -var getAllKeys = require('./_getAllKeys'); - -/** Used to compose bitmasks for value comparisons. */ -var COMPARE_PARTIAL_FLAG = 1; - -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * A specialized version of `baseIsEqualDeep` for objects with support for - * partial deep comparisons. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Object} stack Tracks traversed `object` and `other` objects. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */ -function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { - var isPartial = bitmask & COMPARE_PARTIAL_FLAG, - objProps = getAllKeys(object), - objLength = objProps.length, - othProps = getAllKeys(other), - othLength = othProps.length; - - if (objLength != othLength && !isPartial) { - return false; - } - var index = objLength; - while (index--) { - var key = objProps[index]; - if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) { - return false; - } - } - // Check that cyclic values are equal. - var objStacked = stack.get(object); - var othStacked = stack.get(other); - if (objStacked && othStacked) { - return objStacked == other && othStacked == object; - } - var result = true; - stack.set(object, other); - stack.set(other, object); - - var skipCtor = isPartial; - while (++index < objLength) { - key = objProps[index]; - var objValue = object[key], - othValue = other[key]; - - if (customizer) { - var compared = isPartial - ? customizer(othValue, objValue, key, other, object, stack) - : customizer(objValue, othValue, key, object, other, stack); - } - // Recursively compare objects (susceptible to call stack limits). - if (!(compared === undefined - ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack)) - : compared - )) { - result = false; - break; - } - skipCtor || (skipCtor = key == 'constructor'); - } - if (result && !skipCtor) { - var objCtor = object.constructor, - othCtor = other.constructor; - - // Non `Object` object instances with different constructors are not equal. - if (objCtor != othCtor && - ('constructor' in object && 'constructor' in other) && - !(typeof objCtor == 'function' && objCtor instanceof objCtor && - typeof othCtor == 'function' && othCtor instanceof othCtor)) { - result = false; - } - } - stack['delete'](object); - stack['delete'](other); - return result; -} - -module.exports = equalObjects; diff --git a/packages/frontend-core/node_modules/lodash/_escapeHtmlChar.js b/packages/frontend-core/node_modules/lodash/_escapeHtmlChar.js deleted file mode 100644 index 7ca68ee625..0000000000 --- a/packages/frontend-core/node_modules/lodash/_escapeHtmlChar.js +++ /dev/null @@ -1,21 +0,0 @@ -var basePropertyOf = require('./_basePropertyOf'); - -/** Used to map characters to HTML entities. */ -var htmlEscapes = { - '&': '&', - '<': '<', - '>': '>', - '"': '"', - "'": ''' -}; - -/** - * Used by `_.escape` to convert characters to HTML entities. - * - * @private - * @param {string} chr The matched character to escape. - * @returns {string} Returns the escaped character. - */ -var escapeHtmlChar = basePropertyOf(htmlEscapes); - -module.exports = escapeHtmlChar; diff --git a/packages/frontend-core/node_modules/lodash/_escapeStringChar.js b/packages/frontend-core/node_modules/lodash/_escapeStringChar.js deleted file mode 100644 index 44eca96ca8..0000000000 --- a/packages/frontend-core/node_modules/lodash/_escapeStringChar.js +++ /dev/null @@ -1,22 +0,0 @@ -/** Used to escape characters for inclusion in compiled string literals. */ -var stringEscapes = { - '\\': '\\', - "'": "'", - '\n': 'n', - '\r': 'r', - '\u2028': 'u2028', - '\u2029': 'u2029' -}; - -/** - * Used by `_.template` to escape characters for inclusion in compiled string literals. - * - * @private - * @param {string} chr The matched character to escape. - * @returns {string} Returns the escaped character. - */ -function escapeStringChar(chr) { - return '\\' + stringEscapes[chr]; -} - -module.exports = escapeStringChar; diff --git a/packages/frontend-core/node_modules/lodash/_flatRest.js b/packages/frontend-core/node_modules/lodash/_flatRest.js deleted file mode 100644 index 94ab6cca77..0000000000 --- a/packages/frontend-core/node_modules/lodash/_flatRest.js +++ /dev/null @@ -1,16 +0,0 @@ -var flatten = require('./flatten'), - overRest = require('./_overRest'), - setToString = require('./_setToString'); - -/** - * A specialized version of `baseRest` which flattens the rest array. - * - * @private - * @param {Function} func The function to apply a rest parameter to. - * @returns {Function} Returns the new function. - */ -function flatRest(func) { - return setToString(overRest(func, undefined, flatten), func + ''); -} - -module.exports = flatRest; diff --git a/packages/frontend-core/node_modules/lodash/_freeGlobal.js b/packages/frontend-core/node_modules/lodash/_freeGlobal.js deleted file mode 100644 index bbec998fc8..0000000000 --- a/packages/frontend-core/node_modules/lodash/_freeGlobal.js +++ /dev/null @@ -1,4 +0,0 @@ -/** Detect free variable `global` from Node.js. */ -var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; - -module.exports = freeGlobal; diff --git a/packages/frontend-core/node_modules/lodash/_getAllKeys.js b/packages/frontend-core/node_modules/lodash/_getAllKeys.js deleted file mode 100644 index a9ce6995a6..0000000000 --- a/packages/frontend-core/node_modules/lodash/_getAllKeys.js +++ /dev/null @@ -1,16 +0,0 @@ -var baseGetAllKeys = require('./_baseGetAllKeys'), - getSymbols = require('./_getSymbols'), - keys = require('./keys'); - -/** - * Creates an array of own enumerable property names and symbols of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names and symbols. - */ -function getAllKeys(object) { - return baseGetAllKeys(object, keys, getSymbols); -} - -module.exports = getAllKeys; diff --git a/packages/frontend-core/node_modules/lodash/_getAllKeysIn.js b/packages/frontend-core/node_modules/lodash/_getAllKeysIn.js deleted file mode 100644 index 1b4667841d..0000000000 --- a/packages/frontend-core/node_modules/lodash/_getAllKeysIn.js +++ /dev/null @@ -1,17 +0,0 @@ -var baseGetAllKeys = require('./_baseGetAllKeys'), - getSymbolsIn = require('./_getSymbolsIn'), - keysIn = require('./keysIn'); - -/** - * Creates an array of own and inherited enumerable property names and - * symbols of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names and symbols. - */ -function getAllKeysIn(object) { - return baseGetAllKeys(object, keysIn, getSymbolsIn); -} - -module.exports = getAllKeysIn; diff --git a/packages/frontend-core/node_modules/lodash/_getData.js b/packages/frontend-core/node_modules/lodash/_getData.js deleted file mode 100644 index a1fe7b7790..0000000000 --- a/packages/frontend-core/node_modules/lodash/_getData.js +++ /dev/null @@ -1,15 +0,0 @@ -var metaMap = require('./_metaMap'), - noop = require('./noop'); - -/** - * Gets metadata for `func`. - * - * @private - * @param {Function} func The function to query. - * @returns {*} Returns the metadata for `func`. - */ -var getData = !metaMap ? noop : function(func) { - return metaMap.get(func); -}; - -module.exports = getData; diff --git a/packages/frontend-core/node_modules/lodash/_getFuncName.js b/packages/frontend-core/node_modules/lodash/_getFuncName.js deleted file mode 100644 index 21e15b3377..0000000000 --- a/packages/frontend-core/node_modules/lodash/_getFuncName.js +++ /dev/null @@ -1,31 +0,0 @@ -var realNames = require('./_realNames'); - -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * Gets the name of `func`. - * - * @private - * @param {Function} func The function to query. - * @returns {string} Returns the function name. - */ -function getFuncName(func) { - var result = (func.name + ''), - array = realNames[result], - length = hasOwnProperty.call(realNames, result) ? array.length : 0; - - while (length--) { - var data = array[length], - otherFunc = data.func; - if (otherFunc == null || otherFunc == func) { - return data.name; - } - } - return result; -} - -module.exports = getFuncName; diff --git a/packages/frontend-core/node_modules/lodash/_getHolder.js b/packages/frontend-core/node_modules/lodash/_getHolder.js deleted file mode 100644 index 65e94b5c24..0000000000 --- a/packages/frontend-core/node_modules/lodash/_getHolder.js +++ /dev/null @@ -1,13 +0,0 @@ -/** - * Gets the argument placeholder value for `func`. - * - * @private - * @param {Function} func The function to inspect. - * @returns {*} Returns the placeholder value. - */ -function getHolder(func) { - var object = func; - return object.placeholder; -} - -module.exports = getHolder; diff --git a/packages/frontend-core/node_modules/lodash/_getMapData.js b/packages/frontend-core/node_modules/lodash/_getMapData.js deleted file mode 100644 index 17f63032e1..0000000000 --- a/packages/frontend-core/node_modules/lodash/_getMapData.js +++ /dev/null @@ -1,18 +0,0 @@ -var isKeyable = require('./_isKeyable'); - -/** - * Gets the data for `map`. - * - * @private - * @param {Object} map The map to query. - * @param {string} key The reference key. - * @returns {*} Returns the map data. - */ -function getMapData(map, key) { - var data = map.__data__; - return isKeyable(key) - ? data[typeof key == 'string' ? 'string' : 'hash'] - : data.map; -} - -module.exports = getMapData; diff --git a/packages/frontend-core/node_modules/lodash/_getMatchData.js b/packages/frontend-core/node_modules/lodash/_getMatchData.js deleted file mode 100644 index 2cc70f917f..0000000000 --- a/packages/frontend-core/node_modules/lodash/_getMatchData.js +++ /dev/null @@ -1,24 +0,0 @@ -var isStrictComparable = require('./_isStrictComparable'), - keys = require('./keys'); - -/** - * Gets the property names, values, and compare flags of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the match data of `object`. - */ -function getMatchData(object) { - var result = keys(object), - length = result.length; - - while (length--) { - var key = result[length], - value = object[key]; - - result[length] = [key, value, isStrictComparable(value)]; - } - return result; -} - -module.exports = getMatchData; diff --git a/packages/frontend-core/node_modules/lodash/_getNative.js b/packages/frontend-core/node_modules/lodash/_getNative.js deleted file mode 100644 index 97a622b83a..0000000000 --- a/packages/frontend-core/node_modules/lodash/_getNative.js +++ /dev/null @@ -1,17 +0,0 @@ -var baseIsNative = require('./_baseIsNative'), - getValue = require('./_getValue'); - -/** - * Gets the native function at `key` of `object`. - * - * @private - * @param {Object} object The object to query. - * @param {string} key The key of the method to get. - * @returns {*} Returns the function if it's native, else `undefined`. - */ -function getNative(object, key) { - var value = getValue(object, key); - return baseIsNative(value) ? value : undefined; -} - -module.exports = getNative; diff --git a/packages/frontend-core/node_modules/lodash/_getPrototype.js b/packages/frontend-core/node_modules/lodash/_getPrototype.js deleted file mode 100644 index e808612129..0000000000 --- a/packages/frontend-core/node_modules/lodash/_getPrototype.js +++ /dev/null @@ -1,6 +0,0 @@ -var overArg = require('./_overArg'); - -/** Built-in value references. */ -var getPrototype = overArg(Object.getPrototypeOf, Object); - -module.exports = getPrototype; diff --git a/packages/frontend-core/node_modules/lodash/_getRawTag.js b/packages/frontend-core/node_modules/lodash/_getRawTag.js deleted file mode 100644 index 49a95c9c65..0000000000 --- a/packages/frontend-core/node_modules/lodash/_getRawTag.js +++ /dev/null @@ -1,46 +0,0 @@ -var Symbol = require('./_Symbol'); - -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * Used to resolve the - * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) - * of values. - */ -var nativeObjectToString = objectProto.toString; - -/** Built-in value references. */ -var symToStringTag = Symbol ? Symbol.toStringTag : undefined; - -/** - * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. - * - * @private - * @param {*} value The value to query. - * @returns {string} Returns the raw `toStringTag`. - */ -function getRawTag(value) { - var isOwn = hasOwnProperty.call(value, symToStringTag), - tag = value[symToStringTag]; - - try { - value[symToStringTag] = undefined; - var unmasked = true; - } catch (e) {} - - var result = nativeObjectToString.call(value); - if (unmasked) { - if (isOwn) { - value[symToStringTag] = tag; - } else { - delete value[symToStringTag]; - } - } - return result; -} - -module.exports = getRawTag; diff --git a/packages/frontend-core/node_modules/lodash/_getSymbols.js b/packages/frontend-core/node_modules/lodash/_getSymbols.js deleted file mode 100644 index 7d6eafebb3..0000000000 --- a/packages/frontend-core/node_modules/lodash/_getSymbols.js +++ /dev/null @@ -1,30 +0,0 @@ -var arrayFilter = require('./_arrayFilter'), - stubArray = require('./stubArray'); - -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** Built-in value references. */ -var propertyIsEnumerable = objectProto.propertyIsEnumerable; - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeGetSymbols = Object.getOwnPropertySymbols; - -/** - * Creates an array of the own enumerable symbols of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of symbols. - */ -var getSymbols = !nativeGetSymbols ? stubArray : function(object) { - if (object == null) { - return []; - } - object = Object(object); - return arrayFilter(nativeGetSymbols(object), function(symbol) { - return propertyIsEnumerable.call(object, symbol); - }); -}; - -module.exports = getSymbols; diff --git a/packages/frontend-core/node_modules/lodash/_getSymbolsIn.js b/packages/frontend-core/node_modules/lodash/_getSymbolsIn.js deleted file mode 100644 index cec0855a4a..0000000000 --- a/packages/frontend-core/node_modules/lodash/_getSymbolsIn.js +++ /dev/null @@ -1,25 +0,0 @@ -var arrayPush = require('./_arrayPush'), - getPrototype = require('./_getPrototype'), - getSymbols = require('./_getSymbols'), - stubArray = require('./stubArray'); - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeGetSymbols = Object.getOwnPropertySymbols; - -/** - * Creates an array of the own and inherited enumerable symbols of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of symbols. - */ -var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) { - var result = []; - while (object) { - arrayPush(result, getSymbols(object)); - object = getPrototype(object); - } - return result; -}; - -module.exports = getSymbolsIn; diff --git a/packages/frontend-core/node_modules/lodash/_getTag.js b/packages/frontend-core/node_modules/lodash/_getTag.js deleted file mode 100644 index deaf89d582..0000000000 --- a/packages/frontend-core/node_modules/lodash/_getTag.js +++ /dev/null @@ -1,58 +0,0 @@ -var DataView = require('./_DataView'), - Map = require('./_Map'), - Promise = require('./_Promise'), - Set = require('./_Set'), - WeakMap = require('./_WeakMap'), - baseGetTag = require('./_baseGetTag'), - toSource = require('./_toSource'); - -/** `Object#toString` result references. */ -var mapTag = '[object Map]', - objectTag = '[object Object]', - promiseTag = '[object Promise]', - setTag = '[object Set]', - weakMapTag = '[object WeakMap]'; - -var dataViewTag = '[object DataView]'; - -/** Used to detect maps, sets, and weakmaps. */ -var dataViewCtorString = toSource(DataView), - mapCtorString = toSource(Map), - promiseCtorString = toSource(Promise), - setCtorString = toSource(Set), - weakMapCtorString = toSource(WeakMap); - -/** - * Gets the `toStringTag` of `value`. - * - * @private - * @param {*} value The value to query. - * @returns {string} Returns the `toStringTag`. - */ -var getTag = baseGetTag; - -// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6. -if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) || - (Map && getTag(new Map) != mapTag) || - (Promise && getTag(Promise.resolve()) != promiseTag) || - (Set && getTag(new Set) != setTag) || - (WeakMap && getTag(new WeakMap) != weakMapTag)) { - getTag = function(value) { - var result = baseGetTag(value), - Ctor = result == objectTag ? value.constructor : undefined, - ctorString = Ctor ? toSource(Ctor) : ''; - - if (ctorString) { - switch (ctorString) { - case dataViewCtorString: return dataViewTag; - case mapCtorString: return mapTag; - case promiseCtorString: return promiseTag; - case setCtorString: return setTag; - case weakMapCtorString: return weakMapTag; - } - } - return result; - }; -} - -module.exports = getTag; diff --git a/packages/frontend-core/node_modules/lodash/_getValue.js b/packages/frontend-core/node_modules/lodash/_getValue.js deleted file mode 100644 index 5f7d773673..0000000000 --- a/packages/frontend-core/node_modules/lodash/_getValue.js +++ /dev/null @@ -1,13 +0,0 @@ -/** - * Gets the value at `key` of `object`. - * - * @private - * @param {Object} [object] The object to query. - * @param {string} key The key of the property to get. - * @returns {*} Returns the property value. - */ -function getValue(object, key) { - return object == null ? undefined : object[key]; -} - -module.exports = getValue; diff --git a/packages/frontend-core/node_modules/lodash/_getView.js b/packages/frontend-core/node_modules/lodash/_getView.js deleted file mode 100644 index df1e5d44b5..0000000000 --- a/packages/frontend-core/node_modules/lodash/_getView.js +++ /dev/null @@ -1,33 +0,0 @@ -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeMax = Math.max, - nativeMin = Math.min; - -/** - * Gets the view, applying any `transforms` to the `start` and `end` positions. - * - * @private - * @param {number} start The start of the view. - * @param {number} end The end of the view. - * @param {Array} transforms The transformations to apply to the view. - * @returns {Object} Returns an object containing the `start` and `end` - * positions of the view. - */ -function getView(start, end, transforms) { - var index = -1, - length = transforms.length; - - while (++index < length) { - var data = transforms[index], - size = data.size; - - switch (data.type) { - case 'drop': start += size; break; - case 'dropRight': end -= size; break; - case 'take': end = nativeMin(end, start + size); break; - case 'takeRight': start = nativeMax(start, end - size); break; - } - } - return { 'start': start, 'end': end }; -} - -module.exports = getView; diff --git a/packages/frontend-core/node_modules/lodash/_getWrapDetails.js b/packages/frontend-core/node_modules/lodash/_getWrapDetails.js deleted file mode 100644 index 3bcc6e48a3..0000000000 --- a/packages/frontend-core/node_modules/lodash/_getWrapDetails.js +++ /dev/null @@ -1,17 +0,0 @@ -/** Used to match wrap detail comments. */ -var reWrapDetails = /\{\n\/\* \[wrapped with (.+)\] \*/, - reSplitDetails = /,? & /; - -/** - * Extracts wrapper details from the `source` body comment. - * - * @private - * @param {string} source The source to inspect. - * @returns {Array} Returns the wrapper details. - */ -function getWrapDetails(source) { - var match = source.match(reWrapDetails); - return match ? match[1].split(reSplitDetails) : []; -} - -module.exports = getWrapDetails; diff --git a/packages/frontend-core/node_modules/lodash/_hasPath.js b/packages/frontend-core/node_modules/lodash/_hasPath.js deleted file mode 100644 index 93dbde152e..0000000000 --- a/packages/frontend-core/node_modules/lodash/_hasPath.js +++ /dev/null @@ -1,39 +0,0 @@ -var castPath = require('./_castPath'), - isArguments = require('./isArguments'), - isArray = require('./isArray'), - isIndex = require('./_isIndex'), - isLength = require('./isLength'), - toKey = require('./_toKey'); - -/** - * Checks if `path` exists on `object`. - * - * @private - * @param {Object} object The object to query. - * @param {Array|string} path The path to check. - * @param {Function} hasFunc The function to check properties. - * @returns {boolean} Returns `true` if `path` exists, else `false`. - */ -function hasPath(object, path, hasFunc) { - path = castPath(path, object); - - var index = -1, - length = path.length, - result = false; - - while (++index < length) { - var key = toKey(path[index]); - if (!(result = object != null && hasFunc(object, key))) { - break; - } - object = object[key]; - } - if (result || ++index != length) { - return result; - } - length = object == null ? 0 : object.length; - return !!length && isLength(length) && isIndex(key, length) && - (isArray(object) || isArguments(object)); -} - -module.exports = hasPath; diff --git a/packages/frontend-core/node_modules/lodash/_hasUnicode.js b/packages/frontend-core/node_modules/lodash/_hasUnicode.js deleted file mode 100644 index cb6ca15f66..0000000000 --- a/packages/frontend-core/node_modules/lodash/_hasUnicode.js +++ /dev/null @@ -1,26 +0,0 @@ -/** Used to compose unicode character classes. */ -var rsAstralRange = '\\ud800-\\udfff', - rsComboMarksRange = '\\u0300-\\u036f', - reComboHalfMarksRange = '\\ufe20-\\ufe2f', - rsComboSymbolsRange = '\\u20d0-\\u20ff', - rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, - rsVarRange = '\\ufe0e\\ufe0f'; - -/** Used to compose unicode capture groups. */ -var rsZWJ = '\\u200d'; - -/** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */ -var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']'); - -/** - * Checks if `string` contains Unicode symbols. - * - * @private - * @param {string} string The string to inspect. - * @returns {boolean} Returns `true` if a symbol is found, else `false`. - */ -function hasUnicode(string) { - return reHasUnicode.test(string); -} - -module.exports = hasUnicode; diff --git a/packages/frontend-core/node_modules/lodash/_hasUnicodeWord.js b/packages/frontend-core/node_modules/lodash/_hasUnicodeWord.js deleted file mode 100644 index 95d52c444c..0000000000 --- a/packages/frontend-core/node_modules/lodash/_hasUnicodeWord.js +++ /dev/null @@ -1,15 +0,0 @@ -/** Used to detect strings that need a more robust regexp to match words. */ -var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/; - -/** - * Checks if `string` contains a word composed of Unicode symbols. - * - * @private - * @param {string} string The string to inspect. - * @returns {boolean} Returns `true` if a word is found, else `false`. - */ -function hasUnicodeWord(string) { - return reHasUnicodeWord.test(string); -} - -module.exports = hasUnicodeWord; diff --git a/packages/frontend-core/node_modules/lodash/_hashClear.js b/packages/frontend-core/node_modules/lodash/_hashClear.js deleted file mode 100644 index 5d4b70cc46..0000000000 --- a/packages/frontend-core/node_modules/lodash/_hashClear.js +++ /dev/null @@ -1,15 +0,0 @@ -var nativeCreate = require('./_nativeCreate'); - -/** - * Removes all key-value entries from the hash. - * - * @private - * @name clear - * @memberOf Hash - */ -function hashClear() { - this.__data__ = nativeCreate ? nativeCreate(null) : {}; - this.size = 0; -} - -module.exports = hashClear; diff --git a/packages/frontend-core/node_modules/lodash/_hashDelete.js b/packages/frontend-core/node_modules/lodash/_hashDelete.js deleted file mode 100644 index ea9dabf131..0000000000 --- a/packages/frontend-core/node_modules/lodash/_hashDelete.js +++ /dev/null @@ -1,17 +0,0 @@ -/** - * Removes `key` and its value from the hash. - * - * @private - * @name delete - * @memberOf Hash - * @param {Object} hash The hash to modify. - * @param {string} key The key of the value to remove. - * @returns {boolean} Returns `true` if the entry was removed, else `false`. - */ -function hashDelete(key) { - var result = this.has(key) && delete this.__data__[key]; - this.size -= result ? 1 : 0; - return result; -} - -module.exports = hashDelete; diff --git a/packages/frontend-core/node_modules/lodash/_hashGet.js b/packages/frontend-core/node_modules/lodash/_hashGet.js deleted file mode 100644 index 1fc2f34b10..0000000000 --- a/packages/frontend-core/node_modules/lodash/_hashGet.js +++ /dev/null @@ -1,30 +0,0 @@ -var nativeCreate = require('./_nativeCreate'); - -/** Used to stand-in for `undefined` hash values. */ -var HASH_UNDEFINED = '__lodash_hash_undefined__'; - -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * Gets the hash value for `key`. - * - * @private - * @name get - * @memberOf Hash - * @param {string} key The key of the value to get. - * @returns {*} Returns the entry value. - */ -function hashGet(key) { - var data = this.__data__; - if (nativeCreate) { - var result = data[key]; - return result === HASH_UNDEFINED ? undefined : result; - } - return hasOwnProperty.call(data, key) ? data[key] : undefined; -} - -module.exports = hashGet; diff --git a/packages/frontend-core/node_modules/lodash/_hashHas.js b/packages/frontend-core/node_modules/lodash/_hashHas.js deleted file mode 100644 index 281a5517c6..0000000000 --- a/packages/frontend-core/node_modules/lodash/_hashHas.js +++ /dev/null @@ -1,23 +0,0 @@ -var nativeCreate = require('./_nativeCreate'); - -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * Checks if a hash value for `key` exists. - * - * @private - * @name has - * @memberOf Hash - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ -function hashHas(key) { - var data = this.__data__; - return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key); -} - -module.exports = hashHas; diff --git a/packages/frontend-core/node_modules/lodash/_hashSet.js b/packages/frontend-core/node_modules/lodash/_hashSet.js deleted file mode 100644 index e1055283e4..0000000000 --- a/packages/frontend-core/node_modules/lodash/_hashSet.js +++ /dev/null @@ -1,23 +0,0 @@ -var nativeCreate = require('./_nativeCreate'); - -/** Used to stand-in for `undefined` hash values. */ -var HASH_UNDEFINED = '__lodash_hash_undefined__'; - -/** - * Sets the hash `key` to `value`. - * - * @private - * @name set - * @memberOf Hash - * @param {string} key The key of the value to set. - * @param {*} value The value to set. - * @returns {Object} Returns the hash instance. - */ -function hashSet(key, value) { - var data = this.__data__; - this.size += this.has(key) ? 0 : 1; - data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; - return this; -} - -module.exports = hashSet; diff --git a/packages/frontend-core/node_modules/lodash/_initCloneArray.js b/packages/frontend-core/node_modules/lodash/_initCloneArray.js deleted file mode 100644 index 078c15af98..0000000000 --- a/packages/frontend-core/node_modules/lodash/_initCloneArray.js +++ /dev/null @@ -1,26 +0,0 @@ -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * Initializes an array clone. - * - * @private - * @param {Array} array The array to clone. - * @returns {Array} Returns the initialized clone. - */ -function initCloneArray(array) { - var length = array.length, - result = new array.constructor(length); - - // Add properties assigned by `RegExp#exec`. - if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) { - result.index = array.index; - result.input = array.input; - } - return result; -} - -module.exports = initCloneArray; diff --git a/packages/frontend-core/node_modules/lodash/_initCloneByTag.js b/packages/frontend-core/node_modules/lodash/_initCloneByTag.js deleted file mode 100644 index f69a008ca3..0000000000 --- a/packages/frontend-core/node_modules/lodash/_initCloneByTag.js +++ /dev/null @@ -1,77 +0,0 @@ -var cloneArrayBuffer = require('./_cloneArrayBuffer'), - cloneDataView = require('./_cloneDataView'), - cloneRegExp = require('./_cloneRegExp'), - cloneSymbol = require('./_cloneSymbol'), - cloneTypedArray = require('./_cloneTypedArray'); - -/** `Object#toString` result references. */ -var boolTag = '[object Boolean]', - dateTag = '[object Date]', - mapTag = '[object Map]', - numberTag = '[object Number]', - regexpTag = '[object RegExp]', - setTag = '[object Set]', - stringTag = '[object String]', - symbolTag = '[object Symbol]'; - -var arrayBufferTag = '[object ArrayBuffer]', - dataViewTag = '[object DataView]', - float32Tag = '[object Float32Array]', - float64Tag = '[object Float64Array]', - int8Tag = '[object Int8Array]', - int16Tag = '[object Int16Array]', - int32Tag = '[object Int32Array]', - uint8Tag = '[object Uint8Array]', - uint8ClampedTag = '[object Uint8ClampedArray]', - uint16Tag = '[object Uint16Array]', - uint32Tag = '[object Uint32Array]'; - -/** - * Initializes an object clone based on its `toStringTag`. - * - * **Note:** This function only supports cloning values with tags of - * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`. - * - * @private - * @param {Object} object The object to clone. - * @param {string} tag The `toStringTag` of the object to clone. - * @param {boolean} [isDeep] Specify a deep clone. - * @returns {Object} Returns the initialized clone. - */ -function initCloneByTag(object, tag, isDeep) { - var Ctor = object.constructor; - switch (tag) { - case arrayBufferTag: - return cloneArrayBuffer(object); - - case boolTag: - case dateTag: - return new Ctor(+object); - - case dataViewTag: - return cloneDataView(object, isDeep); - - case float32Tag: case float64Tag: - case int8Tag: case int16Tag: case int32Tag: - case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag: - return cloneTypedArray(object, isDeep); - - case mapTag: - return new Ctor; - - case numberTag: - case stringTag: - return new Ctor(object); - - case regexpTag: - return cloneRegExp(object); - - case setTag: - return new Ctor; - - case symbolTag: - return cloneSymbol(object); - } -} - -module.exports = initCloneByTag; diff --git a/packages/frontend-core/node_modules/lodash/_initCloneObject.js b/packages/frontend-core/node_modules/lodash/_initCloneObject.js deleted file mode 100644 index 5a13e64a52..0000000000 --- a/packages/frontend-core/node_modules/lodash/_initCloneObject.js +++ /dev/null @@ -1,18 +0,0 @@ -var baseCreate = require('./_baseCreate'), - getPrototype = require('./_getPrototype'), - isPrototype = require('./_isPrototype'); - -/** - * Initializes an object clone. - * - * @private - * @param {Object} object The object to clone. - * @returns {Object} Returns the initialized clone. - */ -function initCloneObject(object) { - return (typeof object.constructor == 'function' && !isPrototype(object)) - ? baseCreate(getPrototype(object)) - : {}; -} - -module.exports = initCloneObject; diff --git a/packages/frontend-core/node_modules/lodash/_insertWrapDetails.js b/packages/frontend-core/node_modules/lodash/_insertWrapDetails.js deleted file mode 100644 index e790808646..0000000000 --- a/packages/frontend-core/node_modules/lodash/_insertWrapDetails.js +++ /dev/null @@ -1,23 +0,0 @@ -/** Used to match wrap detail comments. */ -var reWrapComment = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/; - -/** - * Inserts wrapper `details` in a comment at the top of the `source` body. - * - * @private - * @param {string} source The source to modify. - * @returns {Array} details The details to insert. - * @returns {string} Returns the modified source. - */ -function insertWrapDetails(source, details) { - var length = details.length; - if (!length) { - return source; - } - var lastIndex = length - 1; - details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex]; - details = details.join(length > 2 ? ', ' : ' '); - return source.replace(reWrapComment, '{\n/* [wrapped with ' + details + '] */\n'); -} - -module.exports = insertWrapDetails; diff --git a/packages/frontend-core/node_modules/lodash/_isFlattenable.js b/packages/frontend-core/node_modules/lodash/_isFlattenable.js deleted file mode 100644 index 4cc2c249cc..0000000000 --- a/packages/frontend-core/node_modules/lodash/_isFlattenable.js +++ /dev/null @@ -1,20 +0,0 @@ -var Symbol = require('./_Symbol'), - isArguments = require('./isArguments'), - isArray = require('./isArray'); - -/** Built-in value references. */ -var spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined; - -/** - * Checks if `value` is a flattenable `arguments` object or array. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is flattenable, else `false`. - */ -function isFlattenable(value) { - return isArray(value) || isArguments(value) || - !!(spreadableSymbol && value && value[spreadableSymbol]); -} - -module.exports = isFlattenable; diff --git a/packages/frontend-core/node_modules/lodash/_isIndex.js b/packages/frontend-core/node_modules/lodash/_isIndex.js deleted file mode 100644 index 061cd390c3..0000000000 --- a/packages/frontend-core/node_modules/lodash/_isIndex.js +++ /dev/null @@ -1,25 +0,0 @@ -/** Used as references for various `Number` constants. */ -var MAX_SAFE_INTEGER = 9007199254740991; - -/** Used to detect unsigned integer values. */ -var reIsUint = /^(?:0|[1-9]\d*)$/; - -/** - * Checks if `value` is a valid array-like index. - * - * @private - * @param {*} value The value to check. - * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. - * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. - */ -function isIndex(value, length) { - var type = typeof value; - length = length == null ? MAX_SAFE_INTEGER : length; - - return !!length && - (type == 'number' || - (type != 'symbol' && reIsUint.test(value))) && - (value > -1 && value % 1 == 0 && value < length); -} - -module.exports = isIndex; diff --git a/packages/frontend-core/node_modules/lodash/_isIterateeCall.js b/packages/frontend-core/node_modules/lodash/_isIterateeCall.js deleted file mode 100644 index a0bb5a9cf6..0000000000 --- a/packages/frontend-core/node_modules/lodash/_isIterateeCall.js +++ /dev/null @@ -1,30 +0,0 @@ -var eq = require('./eq'), - isArrayLike = require('./isArrayLike'), - isIndex = require('./_isIndex'), - isObject = require('./isObject'); - -/** - * Checks if the given arguments are from an iteratee call. - * - * @private - * @param {*} value The potential iteratee value argument. - * @param {*} index The potential iteratee index or key argument. - * @param {*} object The potential iteratee object argument. - * @returns {boolean} Returns `true` if the arguments are from an iteratee call, - * else `false`. - */ -function isIterateeCall(value, index, object) { - if (!isObject(object)) { - return false; - } - var type = typeof index; - if (type == 'number' - ? (isArrayLike(object) && isIndex(index, object.length)) - : (type == 'string' && index in object) - ) { - return eq(object[index], value); - } - return false; -} - -module.exports = isIterateeCall; diff --git a/packages/frontend-core/node_modules/lodash/_isKey.js b/packages/frontend-core/node_modules/lodash/_isKey.js deleted file mode 100644 index ff08b06808..0000000000 --- a/packages/frontend-core/node_modules/lodash/_isKey.js +++ /dev/null @@ -1,29 +0,0 @@ -var isArray = require('./isArray'), - isSymbol = require('./isSymbol'); - -/** Used to match property names within property paths. */ -var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, - reIsPlainProp = /^\w*$/; - -/** - * Checks if `value` is a property name and not a property path. - * - * @private - * @param {*} value The value to check. - * @param {Object} [object] The object to query keys on. - * @returns {boolean} Returns `true` if `value` is a property name, else `false`. - */ -function isKey(value, object) { - if (isArray(value)) { - return false; - } - var type = typeof value; - if (type == 'number' || type == 'symbol' || type == 'boolean' || - value == null || isSymbol(value)) { - return true; - } - return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || - (object != null && value in Object(object)); -} - -module.exports = isKey; diff --git a/packages/frontend-core/node_modules/lodash/_isKeyable.js b/packages/frontend-core/node_modules/lodash/_isKeyable.js deleted file mode 100644 index 39f1828d4a..0000000000 --- a/packages/frontend-core/node_modules/lodash/_isKeyable.js +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Checks if `value` is suitable for use as unique object key. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is suitable, else `false`. - */ -function isKeyable(value) { - var type = typeof value; - return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') - ? (value !== '__proto__') - : (value === null); -} - -module.exports = isKeyable; diff --git a/packages/frontend-core/node_modules/lodash/_isLaziable.js b/packages/frontend-core/node_modules/lodash/_isLaziable.js deleted file mode 100644 index a57c4f2dc7..0000000000 --- a/packages/frontend-core/node_modules/lodash/_isLaziable.js +++ /dev/null @@ -1,28 +0,0 @@ -var LazyWrapper = require('./_LazyWrapper'), - getData = require('./_getData'), - getFuncName = require('./_getFuncName'), - lodash = require('./wrapperLodash'); - -/** - * Checks if `func` has a lazy counterpart. - * - * @private - * @param {Function} func The function to check. - * @returns {boolean} Returns `true` if `func` has a lazy counterpart, - * else `false`. - */ -function isLaziable(func) { - var funcName = getFuncName(func), - other = lodash[funcName]; - - if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) { - return false; - } - if (func === other) { - return true; - } - var data = getData(other); - return !!data && func === data[0]; -} - -module.exports = isLaziable; diff --git a/packages/frontend-core/node_modules/lodash/_isMaskable.js b/packages/frontend-core/node_modules/lodash/_isMaskable.js deleted file mode 100644 index eb98d09f31..0000000000 --- a/packages/frontend-core/node_modules/lodash/_isMaskable.js +++ /dev/null @@ -1,14 +0,0 @@ -var coreJsData = require('./_coreJsData'), - isFunction = require('./isFunction'), - stubFalse = require('./stubFalse'); - -/** - * Checks if `func` is capable of being masked. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `func` is maskable, else `false`. - */ -var isMaskable = coreJsData ? isFunction : stubFalse; - -module.exports = isMaskable; diff --git a/packages/frontend-core/node_modules/lodash/_isMasked.js b/packages/frontend-core/node_modules/lodash/_isMasked.js deleted file mode 100644 index 4b0f21ba89..0000000000 --- a/packages/frontend-core/node_modules/lodash/_isMasked.js +++ /dev/null @@ -1,20 +0,0 @@ -var coreJsData = require('./_coreJsData'); - -/** Used to detect methods masquerading as native. */ -var maskSrcKey = (function() { - var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); - return uid ? ('Symbol(src)_1.' + uid) : ''; -}()); - -/** - * Checks if `func` has its source masked. - * - * @private - * @param {Function} func The function to check. - * @returns {boolean} Returns `true` if `func` is masked, else `false`. - */ -function isMasked(func) { - return !!maskSrcKey && (maskSrcKey in func); -} - -module.exports = isMasked; diff --git a/packages/frontend-core/node_modules/lodash/_isPrototype.js b/packages/frontend-core/node_modules/lodash/_isPrototype.js deleted file mode 100644 index 0f29498d47..0000000000 --- a/packages/frontend-core/node_modules/lodash/_isPrototype.js +++ /dev/null @@ -1,18 +0,0 @@ -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** - * Checks if `value` is likely a prototype object. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. - */ -function isPrototype(value) { - var Ctor = value && value.constructor, - proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto; - - return value === proto; -} - -module.exports = isPrototype; diff --git a/packages/frontend-core/node_modules/lodash/_isStrictComparable.js b/packages/frontend-core/node_modules/lodash/_isStrictComparable.js deleted file mode 100644 index b59f40b857..0000000000 --- a/packages/frontend-core/node_modules/lodash/_isStrictComparable.js +++ /dev/null @@ -1,15 +0,0 @@ -var isObject = require('./isObject'); - -/** - * Checks if `value` is suitable for strict equality comparisons, i.e. `===`. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` if suitable for strict - * equality comparisons, else `false`. - */ -function isStrictComparable(value) { - return value === value && !isObject(value); -} - -module.exports = isStrictComparable; diff --git a/packages/frontend-core/node_modules/lodash/_iteratorToArray.js b/packages/frontend-core/node_modules/lodash/_iteratorToArray.js deleted file mode 100644 index 476856647c..0000000000 --- a/packages/frontend-core/node_modules/lodash/_iteratorToArray.js +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Converts `iterator` to an array. - * - * @private - * @param {Object} iterator The iterator to convert. - * @returns {Array} Returns the converted array. - */ -function iteratorToArray(iterator) { - var data, - result = []; - - while (!(data = iterator.next()).done) { - result.push(data.value); - } - return result; -} - -module.exports = iteratorToArray; diff --git a/packages/frontend-core/node_modules/lodash/_lazyClone.js b/packages/frontend-core/node_modules/lodash/_lazyClone.js deleted file mode 100644 index d8a51f8703..0000000000 --- a/packages/frontend-core/node_modules/lodash/_lazyClone.js +++ /dev/null @@ -1,23 +0,0 @@ -var LazyWrapper = require('./_LazyWrapper'), - copyArray = require('./_copyArray'); - -/** - * Creates a clone of the lazy wrapper object. - * - * @private - * @name clone - * @memberOf LazyWrapper - * @returns {Object} Returns the cloned `LazyWrapper` object. - */ -function lazyClone() { - var result = new LazyWrapper(this.__wrapped__); - result.__actions__ = copyArray(this.__actions__); - result.__dir__ = this.__dir__; - result.__filtered__ = this.__filtered__; - result.__iteratees__ = copyArray(this.__iteratees__); - result.__takeCount__ = this.__takeCount__; - result.__views__ = copyArray(this.__views__); - return result; -} - -module.exports = lazyClone; diff --git a/packages/frontend-core/node_modules/lodash/_lazyReverse.js b/packages/frontend-core/node_modules/lodash/_lazyReverse.js deleted file mode 100644 index c5b52190f4..0000000000 --- a/packages/frontend-core/node_modules/lodash/_lazyReverse.js +++ /dev/null @@ -1,23 +0,0 @@ -var LazyWrapper = require('./_LazyWrapper'); - -/** - * Reverses the direction of lazy iteration. - * - * @private - * @name reverse - * @memberOf LazyWrapper - * @returns {Object} Returns the new reversed `LazyWrapper` object. - */ -function lazyReverse() { - if (this.__filtered__) { - var result = new LazyWrapper(this); - result.__dir__ = -1; - result.__filtered__ = true; - } else { - result = this.clone(); - result.__dir__ *= -1; - } - return result; -} - -module.exports = lazyReverse; diff --git a/packages/frontend-core/node_modules/lodash/_lazyValue.js b/packages/frontend-core/node_modules/lodash/_lazyValue.js deleted file mode 100644 index 371ca8d223..0000000000 --- a/packages/frontend-core/node_modules/lodash/_lazyValue.js +++ /dev/null @@ -1,69 +0,0 @@ -var baseWrapperValue = require('./_baseWrapperValue'), - getView = require('./_getView'), - isArray = require('./isArray'); - -/** Used to indicate the type of lazy iteratees. */ -var LAZY_FILTER_FLAG = 1, - LAZY_MAP_FLAG = 2; - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeMin = Math.min; - -/** - * Extracts the unwrapped value from its lazy wrapper. - * - * @private - * @name value - * @memberOf LazyWrapper - * @returns {*} Returns the unwrapped value. - */ -function lazyValue() { - var array = this.__wrapped__.value(), - dir = this.__dir__, - isArr = isArray(array), - isRight = dir < 0, - arrLength = isArr ? array.length : 0, - view = getView(0, arrLength, this.__views__), - start = view.start, - end = view.end, - length = end - start, - index = isRight ? end : (start - 1), - iteratees = this.__iteratees__, - iterLength = iteratees.length, - resIndex = 0, - takeCount = nativeMin(length, this.__takeCount__); - - if (!isArr || (!isRight && arrLength == length && takeCount == length)) { - return baseWrapperValue(array, this.__actions__); - } - var result = []; - - outer: - while (length-- && resIndex < takeCount) { - index += dir; - - var iterIndex = -1, - value = array[index]; - - while (++iterIndex < iterLength) { - var data = iteratees[iterIndex], - iteratee = data.iteratee, - type = data.type, - computed = iteratee(value); - - if (type == LAZY_MAP_FLAG) { - value = computed; - } else if (!computed) { - if (type == LAZY_FILTER_FLAG) { - continue outer; - } else { - break outer; - } - } - } - result[resIndex++] = value; - } - return result; -} - -module.exports = lazyValue; diff --git a/packages/frontend-core/node_modules/lodash/_listCacheClear.js b/packages/frontend-core/node_modules/lodash/_listCacheClear.js deleted file mode 100644 index acbe39a597..0000000000 --- a/packages/frontend-core/node_modules/lodash/_listCacheClear.js +++ /dev/null @@ -1,13 +0,0 @@ -/** - * Removes all key-value entries from the list cache. - * - * @private - * @name clear - * @memberOf ListCache - */ -function listCacheClear() { - this.__data__ = []; - this.size = 0; -} - -module.exports = listCacheClear; diff --git a/packages/frontend-core/node_modules/lodash/_listCacheDelete.js b/packages/frontend-core/node_modules/lodash/_listCacheDelete.js deleted file mode 100644 index b1384ade97..0000000000 --- a/packages/frontend-core/node_modules/lodash/_listCacheDelete.js +++ /dev/null @@ -1,35 +0,0 @@ -var assocIndexOf = require('./_assocIndexOf'); - -/** Used for built-in method references. */ -var arrayProto = Array.prototype; - -/** Built-in value references. */ -var splice = arrayProto.splice; - -/** - * Removes `key` and its value from the list cache. - * - * @private - * @name delete - * @memberOf ListCache - * @param {string} key The key of the value to remove. - * @returns {boolean} Returns `true` if the entry was removed, else `false`. - */ -function listCacheDelete(key) { - var data = this.__data__, - index = assocIndexOf(data, key); - - if (index < 0) { - return false; - } - var lastIndex = data.length - 1; - if (index == lastIndex) { - data.pop(); - } else { - splice.call(data, index, 1); - } - --this.size; - return true; -} - -module.exports = listCacheDelete; diff --git a/packages/frontend-core/node_modules/lodash/_listCacheGet.js b/packages/frontend-core/node_modules/lodash/_listCacheGet.js deleted file mode 100644 index f8192fc384..0000000000 --- a/packages/frontend-core/node_modules/lodash/_listCacheGet.js +++ /dev/null @@ -1,19 +0,0 @@ -var assocIndexOf = require('./_assocIndexOf'); - -/** - * Gets the list cache value for `key`. - * - * @private - * @name get - * @memberOf ListCache - * @param {string} key The key of the value to get. - * @returns {*} Returns the entry value. - */ -function listCacheGet(key) { - var data = this.__data__, - index = assocIndexOf(data, key); - - return index < 0 ? undefined : data[index][1]; -} - -module.exports = listCacheGet; diff --git a/packages/frontend-core/node_modules/lodash/_listCacheHas.js b/packages/frontend-core/node_modules/lodash/_listCacheHas.js deleted file mode 100644 index 2adf67146f..0000000000 --- a/packages/frontend-core/node_modules/lodash/_listCacheHas.js +++ /dev/null @@ -1,16 +0,0 @@ -var assocIndexOf = require('./_assocIndexOf'); - -/** - * Checks if a list cache value for `key` exists. - * - * @private - * @name has - * @memberOf ListCache - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ -function listCacheHas(key) { - return assocIndexOf(this.__data__, key) > -1; -} - -module.exports = listCacheHas; diff --git a/packages/frontend-core/node_modules/lodash/_listCacheSet.js b/packages/frontend-core/node_modules/lodash/_listCacheSet.js deleted file mode 100644 index 5855c95e40..0000000000 --- a/packages/frontend-core/node_modules/lodash/_listCacheSet.js +++ /dev/null @@ -1,26 +0,0 @@ -var assocIndexOf = require('./_assocIndexOf'); - -/** - * Sets the list cache `key` to `value`. - * - * @private - * @name set - * @memberOf ListCache - * @param {string} key The key of the value to set. - * @param {*} value The value to set. - * @returns {Object} Returns the list cache instance. - */ -function listCacheSet(key, value) { - var data = this.__data__, - index = assocIndexOf(data, key); - - if (index < 0) { - ++this.size; - data.push([key, value]); - } else { - data[index][1] = value; - } - return this; -} - -module.exports = listCacheSet; diff --git a/packages/frontend-core/node_modules/lodash/_mapCacheClear.js b/packages/frontend-core/node_modules/lodash/_mapCacheClear.js deleted file mode 100644 index bc9ca204ae..0000000000 --- a/packages/frontend-core/node_modules/lodash/_mapCacheClear.js +++ /dev/null @@ -1,21 +0,0 @@ -var Hash = require('./_Hash'), - ListCache = require('./_ListCache'), - Map = require('./_Map'); - -/** - * Removes all key-value entries from the map. - * - * @private - * @name clear - * @memberOf MapCache - */ -function mapCacheClear() { - this.size = 0; - this.__data__ = { - 'hash': new Hash, - 'map': new (Map || ListCache), - 'string': new Hash - }; -} - -module.exports = mapCacheClear; diff --git a/packages/frontend-core/node_modules/lodash/_mapCacheDelete.js b/packages/frontend-core/node_modules/lodash/_mapCacheDelete.js deleted file mode 100644 index 946ca3c939..0000000000 --- a/packages/frontend-core/node_modules/lodash/_mapCacheDelete.js +++ /dev/null @@ -1,18 +0,0 @@ -var getMapData = require('./_getMapData'); - -/** - * Removes `key` and its value from the map. - * - * @private - * @name delete - * @memberOf MapCache - * @param {string} key The key of the value to remove. - * @returns {boolean} Returns `true` if the entry was removed, else `false`. - */ -function mapCacheDelete(key) { - var result = getMapData(this, key)['delete'](key); - this.size -= result ? 1 : 0; - return result; -} - -module.exports = mapCacheDelete; diff --git a/packages/frontend-core/node_modules/lodash/_mapCacheGet.js b/packages/frontend-core/node_modules/lodash/_mapCacheGet.js deleted file mode 100644 index f29f55cfdd..0000000000 --- a/packages/frontend-core/node_modules/lodash/_mapCacheGet.js +++ /dev/null @@ -1,16 +0,0 @@ -var getMapData = require('./_getMapData'); - -/** - * Gets the map value for `key`. - * - * @private - * @name get - * @memberOf MapCache - * @param {string} key The key of the value to get. - * @returns {*} Returns the entry value. - */ -function mapCacheGet(key) { - return getMapData(this, key).get(key); -} - -module.exports = mapCacheGet; diff --git a/packages/frontend-core/node_modules/lodash/_mapCacheHas.js b/packages/frontend-core/node_modules/lodash/_mapCacheHas.js deleted file mode 100644 index a1214c028b..0000000000 --- a/packages/frontend-core/node_modules/lodash/_mapCacheHas.js +++ /dev/null @@ -1,16 +0,0 @@ -var getMapData = require('./_getMapData'); - -/** - * Checks if a map value for `key` exists. - * - * @private - * @name has - * @memberOf MapCache - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ -function mapCacheHas(key) { - return getMapData(this, key).has(key); -} - -module.exports = mapCacheHas; diff --git a/packages/frontend-core/node_modules/lodash/_mapCacheSet.js b/packages/frontend-core/node_modules/lodash/_mapCacheSet.js deleted file mode 100644 index 7346849273..0000000000 --- a/packages/frontend-core/node_modules/lodash/_mapCacheSet.js +++ /dev/null @@ -1,22 +0,0 @@ -var getMapData = require('./_getMapData'); - -/** - * Sets the map `key` to `value`. - * - * @private - * @name set - * @memberOf MapCache - * @param {string} key The key of the value to set. - * @param {*} value The value to set. - * @returns {Object} Returns the map cache instance. - */ -function mapCacheSet(key, value) { - var data = getMapData(this, key), - size = data.size; - - data.set(key, value); - this.size += data.size == size ? 0 : 1; - return this; -} - -module.exports = mapCacheSet; diff --git a/packages/frontend-core/node_modules/lodash/_mapToArray.js b/packages/frontend-core/node_modules/lodash/_mapToArray.js deleted file mode 100644 index fe3dd531a3..0000000000 --- a/packages/frontend-core/node_modules/lodash/_mapToArray.js +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Converts `map` to its key-value pairs. - * - * @private - * @param {Object} map The map to convert. - * @returns {Array} Returns the key-value pairs. - */ -function mapToArray(map) { - var index = -1, - result = Array(map.size); - - map.forEach(function(value, key) { - result[++index] = [key, value]; - }); - return result; -} - -module.exports = mapToArray; diff --git a/packages/frontend-core/node_modules/lodash/_matchesStrictComparable.js b/packages/frontend-core/node_modules/lodash/_matchesStrictComparable.js deleted file mode 100644 index f608af9ec4..0000000000 --- a/packages/frontend-core/node_modules/lodash/_matchesStrictComparable.js +++ /dev/null @@ -1,20 +0,0 @@ -/** - * A specialized version of `matchesProperty` for source values suitable - * for strict equality comparisons, i.e. `===`. - * - * @private - * @param {string} key The key of the property to get. - * @param {*} srcValue The value to match. - * @returns {Function} Returns the new spec function. - */ -function matchesStrictComparable(key, srcValue) { - return function(object) { - if (object == null) { - return false; - } - return object[key] === srcValue && - (srcValue !== undefined || (key in Object(object))); - }; -} - -module.exports = matchesStrictComparable; diff --git a/packages/frontend-core/node_modules/lodash/_memoizeCapped.js b/packages/frontend-core/node_modules/lodash/_memoizeCapped.js deleted file mode 100644 index 7f71c8fbae..0000000000 --- a/packages/frontend-core/node_modules/lodash/_memoizeCapped.js +++ /dev/null @@ -1,26 +0,0 @@ -var memoize = require('./memoize'); - -/** Used as the maximum memoize cache size. */ -var MAX_MEMOIZE_SIZE = 500; - -/** - * A specialized version of `_.memoize` which clears the memoized function's - * cache when it exceeds `MAX_MEMOIZE_SIZE`. - * - * @private - * @param {Function} func The function to have its output memoized. - * @returns {Function} Returns the new memoized function. - */ -function memoizeCapped(func) { - var result = memoize(func, function(key) { - if (cache.size === MAX_MEMOIZE_SIZE) { - cache.clear(); - } - return key; - }); - - var cache = result.cache; - return result; -} - -module.exports = memoizeCapped; diff --git a/packages/frontend-core/node_modules/lodash/_mergeData.js b/packages/frontend-core/node_modules/lodash/_mergeData.js deleted file mode 100644 index cb570f9767..0000000000 --- a/packages/frontend-core/node_modules/lodash/_mergeData.js +++ /dev/null @@ -1,90 +0,0 @@ -var composeArgs = require('./_composeArgs'), - composeArgsRight = require('./_composeArgsRight'), - replaceHolders = require('./_replaceHolders'); - -/** Used as the internal argument placeholder. */ -var PLACEHOLDER = '__lodash_placeholder__'; - -/** Used to compose bitmasks for function metadata. */ -var WRAP_BIND_FLAG = 1, - WRAP_BIND_KEY_FLAG = 2, - WRAP_CURRY_BOUND_FLAG = 4, - WRAP_CURRY_FLAG = 8, - WRAP_ARY_FLAG = 128, - WRAP_REARG_FLAG = 256; - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeMin = Math.min; - -/** - * Merges the function metadata of `source` into `data`. - * - * Merging metadata reduces the number of wrappers used to invoke a function. - * This is possible because methods like `_.bind`, `_.curry`, and `_.partial` - * may be applied regardless of execution order. Methods like `_.ary` and - * `_.rearg` modify function arguments, making the order in which they are - * executed important, preventing the merging of metadata. However, we make - * an exception for a safe combined case where curried functions have `_.ary` - * and or `_.rearg` applied. - * - * @private - * @param {Array} data The destination metadata. - * @param {Array} source The source metadata. - * @returns {Array} Returns `data`. - */ -function mergeData(data, source) { - var bitmask = data[1], - srcBitmask = source[1], - newBitmask = bitmask | srcBitmask, - isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG); - - var isCombo = - ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) || - ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) || - ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG)); - - // Exit early if metadata can't be merged. - if (!(isCommon || isCombo)) { - return data; - } - // Use source `thisArg` if available. - if (srcBitmask & WRAP_BIND_FLAG) { - data[2] = source[2]; - // Set when currying a bound function. - newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG; - } - // Compose partial arguments. - var value = source[3]; - if (value) { - var partials = data[3]; - data[3] = partials ? composeArgs(partials, value, source[4]) : value; - data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4]; - } - // Compose partial right arguments. - value = source[5]; - if (value) { - partials = data[5]; - data[5] = partials ? composeArgsRight(partials, value, source[6]) : value; - data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6]; - } - // Use source `argPos` if available. - value = source[7]; - if (value) { - data[7] = value; - } - // Use source `ary` if it's smaller. - if (srcBitmask & WRAP_ARY_FLAG) { - data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]); - } - // Use source `arity` if one is not provided. - if (data[9] == null) { - data[9] = source[9]; - } - // Use source `func` and merge bitmasks. - data[0] = source[0]; - data[1] = newBitmask; - - return data; -} - -module.exports = mergeData; diff --git a/packages/frontend-core/node_modules/lodash/_metaMap.js b/packages/frontend-core/node_modules/lodash/_metaMap.js deleted file mode 100644 index 0157a0b095..0000000000 --- a/packages/frontend-core/node_modules/lodash/_metaMap.js +++ /dev/null @@ -1,6 +0,0 @@ -var WeakMap = require('./_WeakMap'); - -/** Used to store function metadata. */ -var metaMap = WeakMap && new WeakMap; - -module.exports = metaMap; diff --git a/packages/frontend-core/node_modules/lodash/_nativeCreate.js b/packages/frontend-core/node_modules/lodash/_nativeCreate.js deleted file mode 100644 index c7aede85b3..0000000000 --- a/packages/frontend-core/node_modules/lodash/_nativeCreate.js +++ /dev/null @@ -1,6 +0,0 @@ -var getNative = require('./_getNative'); - -/* Built-in method references that are verified to be native. */ -var nativeCreate = getNative(Object, 'create'); - -module.exports = nativeCreate; diff --git a/packages/frontend-core/node_modules/lodash/_nativeKeys.js b/packages/frontend-core/node_modules/lodash/_nativeKeys.js deleted file mode 100644 index 479a104a1c..0000000000 --- a/packages/frontend-core/node_modules/lodash/_nativeKeys.js +++ /dev/null @@ -1,6 +0,0 @@ -var overArg = require('./_overArg'); - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeKeys = overArg(Object.keys, Object); - -module.exports = nativeKeys; diff --git a/packages/frontend-core/node_modules/lodash/_nativeKeysIn.js b/packages/frontend-core/node_modules/lodash/_nativeKeysIn.js deleted file mode 100644 index 00ee505947..0000000000 --- a/packages/frontend-core/node_modules/lodash/_nativeKeysIn.js +++ /dev/null @@ -1,20 +0,0 @@ -/** - * This function is like - * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) - * except that it includes inherited enumerable properties. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - */ -function nativeKeysIn(object) { - var result = []; - if (object != null) { - for (var key in Object(object)) { - result.push(key); - } - } - return result; -} - -module.exports = nativeKeysIn; diff --git a/packages/frontend-core/node_modules/lodash/_nodeUtil.js b/packages/frontend-core/node_modules/lodash/_nodeUtil.js deleted file mode 100644 index 983d78f75b..0000000000 --- a/packages/frontend-core/node_modules/lodash/_nodeUtil.js +++ /dev/null @@ -1,30 +0,0 @@ -var freeGlobal = require('./_freeGlobal'); - -/** Detect free variable `exports`. */ -var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; - -/** Detect free variable `module`. */ -var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; - -/** Detect the popular CommonJS extension `module.exports`. */ -var moduleExports = freeModule && freeModule.exports === freeExports; - -/** Detect free variable `process` from Node.js. */ -var freeProcess = moduleExports && freeGlobal.process; - -/** Used to access faster Node.js helpers. */ -var nodeUtil = (function() { - try { - // Use `util.types` for Node.js 10+. - var types = freeModule && freeModule.require && freeModule.require('util').types; - - if (types) { - return types; - } - - // Legacy `process.binding('util')` for Node.js < 10. - return freeProcess && freeProcess.binding && freeProcess.binding('util'); - } catch (e) {} -}()); - -module.exports = nodeUtil; diff --git a/packages/frontend-core/node_modules/lodash/_objectToString.js b/packages/frontend-core/node_modules/lodash/_objectToString.js deleted file mode 100644 index c614ec09b3..0000000000 --- a/packages/frontend-core/node_modules/lodash/_objectToString.js +++ /dev/null @@ -1,22 +0,0 @@ -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** - * Used to resolve the - * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) - * of values. - */ -var nativeObjectToString = objectProto.toString; - -/** - * Converts `value` to a string using `Object.prototype.toString`. - * - * @private - * @param {*} value The value to convert. - * @returns {string} Returns the converted string. - */ -function objectToString(value) { - return nativeObjectToString.call(value); -} - -module.exports = objectToString; diff --git a/packages/frontend-core/node_modules/lodash/_overArg.js b/packages/frontend-core/node_modules/lodash/_overArg.js deleted file mode 100644 index 651c5c55f2..0000000000 --- a/packages/frontend-core/node_modules/lodash/_overArg.js +++ /dev/null @@ -1,15 +0,0 @@ -/** - * Creates a unary function that invokes `func` with its argument transformed. - * - * @private - * @param {Function} func The function to wrap. - * @param {Function} transform The argument transform. - * @returns {Function} Returns the new function. - */ -function overArg(func, transform) { - return function(arg) { - return func(transform(arg)); - }; -} - -module.exports = overArg; diff --git a/packages/frontend-core/node_modules/lodash/_overRest.js b/packages/frontend-core/node_modules/lodash/_overRest.js deleted file mode 100644 index c7cdef3399..0000000000 --- a/packages/frontend-core/node_modules/lodash/_overRest.js +++ /dev/null @@ -1,36 +0,0 @@ -var apply = require('./_apply'); - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeMax = Math.max; - -/** - * A specialized version of `baseRest` which transforms the rest array. - * - * @private - * @param {Function} func The function to apply a rest parameter to. - * @param {number} [start=func.length-1] The start position of the rest parameter. - * @param {Function} transform The rest array transform. - * @returns {Function} Returns the new function. - */ -function overRest(func, start, transform) { - start = nativeMax(start === undefined ? (func.length - 1) : start, 0); - return function() { - var args = arguments, - index = -1, - length = nativeMax(args.length - start, 0), - array = Array(length); - - while (++index < length) { - array[index] = args[start + index]; - } - index = -1; - var otherArgs = Array(start + 1); - while (++index < start) { - otherArgs[index] = args[index]; - } - otherArgs[start] = transform(array); - return apply(func, this, otherArgs); - }; -} - -module.exports = overRest; diff --git a/packages/frontend-core/node_modules/lodash/_parent.js b/packages/frontend-core/node_modules/lodash/_parent.js deleted file mode 100644 index f174328fcf..0000000000 --- a/packages/frontend-core/node_modules/lodash/_parent.js +++ /dev/null @@ -1,16 +0,0 @@ -var baseGet = require('./_baseGet'), - baseSlice = require('./_baseSlice'); - -/** - * Gets the parent value at `path` of `object`. - * - * @private - * @param {Object} object The object to query. - * @param {Array} path The path to get the parent value of. - * @returns {*} Returns the parent value. - */ -function parent(object, path) { - return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1)); -} - -module.exports = parent; diff --git a/packages/frontend-core/node_modules/lodash/_reEscape.js b/packages/frontend-core/node_modules/lodash/_reEscape.js deleted file mode 100644 index 7f47eda68f..0000000000 --- a/packages/frontend-core/node_modules/lodash/_reEscape.js +++ /dev/null @@ -1,4 +0,0 @@ -/** Used to match template delimiters. */ -var reEscape = /<%-([\s\S]+?)%>/g; - -module.exports = reEscape; diff --git a/packages/frontend-core/node_modules/lodash/_reEvaluate.js b/packages/frontend-core/node_modules/lodash/_reEvaluate.js deleted file mode 100644 index 6adfc312c8..0000000000 --- a/packages/frontend-core/node_modules/lodash/_reEvaluate.js +++ /dev/null @@ -1,4 +0,0 @@ -/** Used to match template delimiters. */ -var reEvaluate = /<%([\s\S]+?)%>/g; - -module.exports = reEvaluate; diff --git a/packages/frontend-core/node_modules/lodash/_reInterpolate.js b/packages/frontend-core/node_modules/lodash/_reInterpolate.js deleted file mode 100644 index d02ff0b29a..0000000000 --- a/packages/frontend-core/node_modules/lodash/_reInterpolate.js +++ /dev/null @@ -1,4 +0,0 @@ -/** Used to match template delimiters. */ -var reInterpolate = /<%=([\s\S]+?)%>/g; - -module.exports = reInterpolate; diff --git a/packages/frontend-core/node_modules/lodash/_realNames.js b/packages/frontend-core/node_modules/lodash/_realNames.js deleted file mode 100644 index aa0d529261..0000000000 --- a/packages/frontend-core/node_modules/lodash/_realNames.js +++ /dev/null @@ -1,4 +0,0 @@ -/** Used to lookup unminified function names. */ -var realNames = {}; - -module.exports = realNames; diff --git a/packages/frontend-core/node_modules/lodash/_reorder.js b/packages/frontend-core/node_modules/lodash/_reorder.js deleted file mode 100644 index a3502b0517..0000000000 --- a/packages/frontend-core/node_modules/lodash/_reorder.js +++ /dev/null @@ -1,29 +0,0 @@ -var copyArray = require('./_copyArray'), - isIndex = require('./_isIndex'); - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeMin = Math.min; - -/** - * Reorder `array` according to the specified indexes where the element at - * the first index is assigned as the first element, the element at - * the second index is assigned as the second element, and so on. - * - * @private - * @param {Array} array The array to reorder. - * @param {Array} indexes The arranged array indexes. - * @returns {Array} Returns `array`. - */ -function reorder(array, indexes) { - var arrLength = array.length, - length = nativeMin(indexes.length, arrLength), - oldArray = copyArray(array); - - while (length--) { - var index = indexes[length]; - array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined; - } - return array; -} - -module.exports = reorder; diff --git a/packages/frontend-core/node_modules/lodash/_replaceHolders.js b/packages/frontend-core/node_modules/lodash/_replaceHolders.js deleted file mode 100644 index 74360ec4d3..0000000000 --- a/packages/frontend-core/node_modules/lodash/_replaceHolders.js +++ /dev/null @@ -1,29 +0,0 @@ -/** Used as the internal argument placeholder. */ -var PLACEHOLDER = '__lodash_placeholder__'; - -/** - * Replaces all `placeholder` elements in `array` with an internal placeholder - * and returns an array of their indexes. - * - * @private - * @param {Array} array The array to modify. - * @param {*} placeholder The placeholder to replace. - * @returns {Array} Returns the new array of placeholder indexes. - */ -function replaceHolders(array, placeholder) { - var index = -1, - length = array.length, - resIndex = 0, - result = []; - - while (++index < length) { - var value = array[index]; - if (value === placeholder || value === PLACEHOLDER) { - array[index] = PLACEHOLDER; - result[resIndex++] = index; - } - } - return result; -} - -module.exports = replaceHolders; diff --git a/packages/frontend-core/node_modules/lodash/_root.js b/packages/frontend-core/node_modules/lodash/_root.js deleted file mode 100644 index d2852bed4d..0000000000 --- a/packages/frontend-core/node_modules/lodash/_root.js +++ /dev/null @@ -1,9 +0,0 @@ -var freeGlobal = require('./_freeGlobal'); - -/** Detect free variable `self`. */ -var freeSelf = typeof self == 'object' && self && self.Object === Object && self; - -/** Used as a reference to the global object. */ -var root = freeGlobal || freeSelf || Function('return this')(); - -module.exports = root; diff --git a/packages/frontend-core/node_modules/lodash/_safeGet.js b/packages/frontend-core/node_modules/lodash/_safeGet.js deleted file mode 100644 index b070897db2..0000000000 --- a/packages/frontend-core/node_modules/lodash/_safeGet.js +++ /dev/null @@ -1,21 +0,0 @@ -/** - * Gets the value at `key`, unless `key` is "__proto__" or "constructor". - * - * @private - * @param {Object} object The object to query. - * @param {string} key The key of the property to get. - * @returns {*} Returns the property value. - */ -function safeGet(object, key) { - if (key === 'constructor' && typeof object[key] === 'function') { - return; - } - - if (key == '__proto__') { - return; - } - - return object[key]; -} - -module.exports = safeGet; diff --git a/packages/frontend-core/node_modules/lodash/_setCacheAdd.js b/packages/frontend-core/node_modules/lodash/_setCacheAdd.js deleted file mode 100644 index 1081a74426..0000000000 --- a/packages/frontend-core/node_modules/lodash/_setCacheAdd.js +++ /dev/null @@ -1,19 +0,0 @@ -/** Used to stand-in for `undefined` hash values. */ -var HASH_UNDEFINED = '__lodash_hash_undefined__'; - -/** - * Adds `value` to the array cache. - * - * @private - * @name add - * @memberOf SetCache - * @alias push - * @param {*} value The value to cache. - * @returns {Object} Returns the cache instance. - */ -function setCacheAdd(value) { - this.__data__.set(value, HASH_UNDEFINED); - return this; -} - -module.exports = setCacheAdd; diff --git a/packages/frontend-core/node_modules/lodash/_setCacheHas.js b/packages/frontend-core/node_modules/lodash/_setCacheHas.js deleted file mode 100644 index 9a492556e0..0000000000 --- a/packages/frontend-core/node_modules/lodash/_setCacheHas.js +++ /dev/null @@ -1,14 +0,0 @@ -/** - * Checks if `value` is in the array cache. - * - * @private - * @name has - * @memberOf SetCache - * @param {*} value The value to search for. - * @returns {number} Returns `true` if `value` is found, else `false`. - */ -function setCacheHas(value) { - return this.__data__.has(value); -} - -module.exports = setCacheHas; diff --git a/packages/frontend-core/node_modules/lodash/_setData.js b/packages/frontend-core/node_modules/lodash/_setData.js deleted file mode 100644 index e5cf3eb96a..0000000000 --- a/packages/frontend-core/node_modules/lodash/_setData.js +++ /dev/null @@ -1,20 +0,0 @@ -var baseSetData = require('./_baseSetData'), - shortOut = require('./_shortOut'); - -/** - * Sets metadata for `func`. - * - * **Note:** If this function becomes hot, i.e. is invoked a lot in a short - * period of time, it will trip its breaker and transition to an identity - * function to avoid garbage collection pauses in V8. See - * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070) - * for more details. - * - * @private - * @param {Function} func The function to associate metadata with. - * @param {*} data The metadata. - * @returns {Function} Returns `func`. - */ -var setData = shortOut(baseSetData); - -module.exports = setData; diff --git a/packages/frontend-core/node_modules/lodash/_setToArray.js b/packages/frontend-core/node_modules/lodash/_setToArray.js deleted file mode 100644 index b87f07418c..0000000000 --- a/packages/frontend-core/node_modules/lodash/_setToArray.js +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Converts `set` to an array of its values. - * - * @private - * @param {Object} set The set to convert. - * @returns {Array} Returns the values. - */ -function setToArray(set) { - var index = -1, - result = Array(set.size); - - set.forEach(function(value) { - result[++index] = value; - }); - return result; -} - -module.exports = setToArray; diff --git a/packages/frontend-core/node_modules/lodash/_setToPairs.js b/packages/frontend-core/node_modules/lodash/_setToPairs.js deleted file mode 100644 index 36ad37a058..0000000000 --- a/packages/frontend-core/node_modules/lodash/_setToPairs.js +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Converts `set` to its value-value pairs. - * - * @private - * @param {Object} set The set to convert. - * @returns {Array} Returns the value-value pairs. - */ -function setToPairs(set) { - var index = -1, - result = Array(set.size); - - set.forEach(function(value) { - result[++index] = [value, value]; - }); - return result; -} - -module.exports = setToPairs; diff --git a/packages/frontend-core/node_modules/lodash/_setToString.js b/packages/frontend-core/node_modules/lodash/_setToString.js deleted file mode 100644 index 6ca8419678..0000000000 --- a/packages/frontend-core/node_modules/lodash/_setToString.js +++ /dev/null @@ -1,14 +0,0 @@ -var baseSetToString = require('./_baseSetToString'), - shortOut = require('./_shortOut'); - -/** - * Sets the `toString` method of `func` to return `string`. - * - * @private - * @param {Function} func The function to modify. - * @param {Function} string The `toString` result. - * @returns {Function} Returns `func`. - */ -var setToString = shortOut(baseSetToString); - -module.exports = setToString; diff --git a/packages/frontend-core/node_modules/lodash/_setWrapToString.js b/packages/frontend-core/node_modules/lodash/_setWrapToString.js deleted file mode 100644 index decdc44998..0000000000 --- a/packages/frontend-core/node_modules/lodash/_setWrapToString.js +++ /dev/null @@ -1,21 +0,0 @@ -var getWrapDetails = require('./_getWrapDetails'), - insertWrapDetails = require('./_insertWrapDetails'), - setToString = require('./_setToString'), - updateWrapDetails = require('./_updateWrapDetails'); - -/** - * Sets the `toString` method of `wrapper` to mimic the source of `reference` - * with wrapper details in a comment at the top of the source body. - * - * @private - * @param {Function} wrapper The function to modify. - * @param {Function} reference The reference function. - * @param {number} bitmask The bitmask flags. See `createWrap` for more details. - * @returns {Function} Returns `wrapper`. - */ -function setWrapToString(wrapper, reference, bitmask) { - var source = (reference + ''); - return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask))); -} - -module.exports = setWrapToString; diff --git a/packages/frontend-core/node_modules/lodash/_shortOut.js b/packages/frontend-core/node_modules/lodash/_shortOut.js deleted file mode 100644 index 3300a07969..0000000000 --- a/packages/frontend-core/node_modules/lodash/_shortOut.js +++ /dev/null @@ -1,37 +0,0 @@ -/** Used to detect hot functions by number of calls within a span of milliseconds. */ -var HOT_COUNT = 800, - HOT_SPAN = 16; - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeNow = Date.now; - -/** - * Creates a function that'll short out and invoke `identity` instead - * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN` - * milliseconds. - * - * @private - * @param {Function} func The function to restrict. - * @returns {Function} Returns the new shortable function. - */ -function shortOut(func) { - var count = 0, - lastCalled = 0; - - return function() { - var stamp = nativeNow(), - remaining = HOT_SPAN - (stamp - lastCalled); - - lastCalled = stamp; - if (remaining > 0) { - if (++count >= HOT_COUNT) { - return arguments[0]; - } - } else { - count = 0; - } - return func.apply(undefined, arguments); - }; -} - -module.exports = shortOut; diff --git a/packages/frontend-core/node_modules/lodash/_shuffleSelf.js b/packages/frontend-core/node_modules/lodash/_shuffleSelf.js deleted file mode 100644 index 8bcc4f5c32..0000000000 --- a/packages/frontend-core/node_modules/lodash/_shuffleSelf.js +++ /dev/null @@ -1,28 +0,0 @@ -var baseRandom = require('./_baseRandom'); - -/** - * A specialized version of `_.shuffle` which mutates and sets the size of `array`. - * - * @private - * @param {Array} array The array to shuffle. - * @param {number} [size=array.length] The size of `array`. - * @returns {Array} Returns `array`. - */ -function shuffleSelf(array, size) { - var index = -1, - length = array.length, - lastIndex = length - 1; - - size = size === undefined ? length : size; - while (++index < size) { - var rand = baseRandom(index, lastIndex), - value = array[rand]; - - array[rand] = array[index]; - array[index] = value; - } - array.length = size; - return array; -} - -module.exports = shuffleSelf; diff --git a/packages/frontend-core/node_modules/lodash/_stackClear.js b/packages/frontend-core/node_modules/lodash/_stackClear.js deleted file mode 100644 index ce8e5a92ff..0000000000 --- a/packages/frontend-core/node_modules/lodash/_stackClear.js +++ /dev/null @@ -1,15 +0,0 @@ -var ListCache = require('./_ListCache'); - -/** - * Removes all key-value entries from the stack. - * - * @private - * @name clear - * @memberOf Stack - */ -function stackClear() { - this.__data__ = new ListCache; - this.size = 0; -} - -module.exports = stackClear; diff --git a/packages/frontend-core/node_modules/lodash/_stackDelete.js b/packages/frontend-core/node_modules/lodash/_stackDelete.js deleted file mode 100644 index ff9887ab64..0000000000 --- a/packages/frontend-core/node_modules/lodash/_stackDelete.js +++ /dev/null @@ -1,18 +0,0 @@ -/** - * Removes `key` and its value from the stack. - * - * @private - * @name delete - * @memberOf Stack - * @param {string} key The key of the value to remove. - * @returns {boolean} Returns `true` if the entry was removed, else `false`. - */ -function stackDelete(key) { - var data = this.__data__, - result = data['delete'](key); - - this.size = data.size; - return result; -} - -module.exports = stackDelete; diff --git a/packages/frontend-core/node_modules/lodash/_stackGet.js b/packages/frontend-core/node_modules/lodash/_stackGet.js deleted file mode 100644 index 1cdf004091..0000000000 --- a/packages/frontend-core/node_modules/lodash/_stackGet.js +++ /dev/null @@ -1,14 +0,0 @@ -/** - * Gets the stack value for `key`. - * - * @private - * @name get - * @memberOf Stack - * @param {string} key The key of the value to get. - * @returns {*} Returns the entry value. - */ -function stackGet(key) { - return this.__data__.get(key); -} - -module.exports = stackGet; diff --git a/packages/frontend-core/node_modules/lodash/_stackHas.js b/packages/frontend-core/node_modules/lodash/_stackHas.js deleted file mode 100644 index 16a3ad11b9..0000000000 --- a/packages/frontend-core/node_modules/lodash/_stackHas.js +++ /dev/null @@ -1,14 +0,0 @@ -/** - * Checks if a stack value for `key` exists. - * - * @private - * @name has - * @memberOf Stack - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ -function stackHas(key) { - return this.__data__.has(key); -} - -module.exports = stackHas; diff --git a/packages/frontend-core/node_modules/lodash/_stackSet.js b/packages/frontend-core/node_modules/lodash/_stackSet.js deleted file mode 100644 index b790ac5f41..0000000000 --- a/packages/frontend-core/node_modules/lodash/_stackSet.js +++ /dev/null @@ -1,34 +0,0 @@ -var ListCache = require('./_ListCache'), - Map = require('./_Map'), - MapCache = require('./_MapCache'); - -/** Used as the size to enable large array optimizations. */ -var LARGE_ARRAY_SIZE = 200; - -/** - * Sets the stack `key` to `value`. - * - * @private - * @name set - * @memberOf Stack - * @param {string} key The key of the value to set. - * @param {*} value The value to set. - * @returns {Object} Returns the stack cache instance. - */ -function stackSet(key, value) { - var data = this.__data__; - if (data instanceof ListCache) { - var pairs = data.__data__; - if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) { - pairs.push([key, value]); - this.size = ++data.size; - return this; - } - data = this.__data__ = new MapCache(pairs); - } - data.set(key, value); - this.size = data.size; - return this; -} - -module.exports = stackSet; diff --git a/packages/frontend-core/node_modules/lodash/_strictIndexOf.js b/packages/frontend-core/node_modules/lodash/_strictIndexOf.js deleted file mode 100644 index 0486a4956b..0000000000 --- a/packages/frontend-core/node_modules/lodash/_strictIndexOf.js +++ /dev/null @@ -1,23 +0,0 @@ -/** - * A specialized version of `_.indexOf` which performs strict equality - * comparisons of values, i.e. `===`. - * - * @private - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @param {number} fromIndex The index to search from. - * @returns {number} Returns the index of the matched value, else `-1`. - */ -function strictIndexOf(array, value, fromIndex) { - var index = fromIndex - 1, - length = array.length; - - while (++index < length) { - if (array[index] === value) { - return index; - } - } - return -1; -} - -module.exports = strictIndexOf; diff --git a/packages/frontend-core/node_modules/lodash/_strictLastIndexOf.js b/packages/frontend-core/node_modules/lodash/_strictLastIndexOf.js deleted file mode 100644 index d7310dcc23..0000000000 --- a/packages/frontend-core/node_modules/lodash/_strictLastIndexOf.js +++ /dev/null @@ -1,21 +0,0 @@ -/** - * A specialized version of `_.lastIndexOf` which performs strict equality - * comparisons of values, i.e. `===`. - * - * @private - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @param {number} fromIndex The index to search from. - * @returns {number} Returns the index of the matched value, else `-1`. - */ -function strictLastIndexOf(array, value, fromIndex) { - var index = fromIndex + 1; - while (index--) { - if (array[index] === value) { - return index; - } - } - return index; -} - -module.exports = strictLastIndexOf; diff --git a/packages/frontend-core/node_modules/lodash/_stringSize.js b/packages/frontend-core/node_modules/lodash/_stringSize.js deleted file mode 100644 index 17ef462a68..0000000000 --- a/packages/frontend-core/node_modules/lodash/_stringSize.js +++ /dev/null @@ -1,18 +0,0 @@ -var asciiSize = require('./_asciiSize'), - hasUnicode = require('./_hasUnicode'), - unicodeSize = require('./_unicodeSize'); - -/** - * Gets the number of symbols in `string`. - * - * @private - * @param {string} string The string to inspect. - * @returns {number} Returns the string size. - */ -function stringSize(string) { - return hasUnicode(string) - ? unicodeSize(string) - : asciiSize(string); -} - -module.exports = stringSize; diff --git a/packages/frontend-core/node_modules/lodash/_stringToArray.js b/packages/frontend-core/node_modules/lodash/_stringToArray.js deleted file mode 100644 index d161158c6f..0000000000 --- a/packages/frontend-core/node_modules/lodash/_stringToArray.js +++ /dev/null @@ -1,18 +0,0 @@ -var asciiToArray = require('./_asciiToArray'), - hasUnicode = require('./_hasUnicode'), - unicodeToArray = require('./_unicodeToArray'); - -/** - * Converts `string` to an array. - * - * @private - * @param {string} string The string to convert. - * @returns {Array} Returns the converted array. - */ -function stringToArray(string) { - return hasUnicode(string) - ? unicodeToArray(string) - : asciiToArray(string); -} - -module.exports = stringToArray; diff --git a/packages/frontend-core/node_modules/lodash/_stringToPath.js b/packages/frontend-core/node_modules/lodash/_stringToPath.js deleted file mode 100644 index 8f39f8a29b..0000000000 --- a/packages/frontend-core/node_modules/lodash/_stringToPath.js +++ /dev/null @@ -1,27 +0,0 @@ -var memoizeCapped = require('./_memoizeCapped'); - -/** Used to match property names within property paths. */ -var rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; - -/** Used to match backslashes in property paths. */ -var reEscapeChar = /\\(\\)?/g; - -/** - * Converts `string` to a property path array. - * - * @private - * @param {string} string The string to convert. - * @returns {Array} Returns the property path array. - */ -var stringToPath = memoizeCapped(function(string) { - var result = []; - if (string.charCodeAt(0) === 46 /* . */) { - result.push(''); - } - string.replace(rePropName, function(match, number, quote, subString) { - result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match)); - }); - return result; -}); - -module.exports = stringToPath; diff --git a/packages/frontend-core/node_modules/lodash/_toKey.js b/packages/frontend-core/node_modules/lodash/_toKey.js deleted file mode 100644 index c6d645c4d0..0000000000 --- a/packages/frontend-core/node_modules/lodash/_toKey.js +++ /dev/null @@ -1,21 +0,0 @@ -var isSymbol = require('./isSymbol'); - -/** Used as references for various `Number` constants. */ -var INFINITY = 1 / 0; - -/** - * Converts `value` to a string key if it's not a string or symbol. - * - * @private - * @param {*} value The value to inspect. - * @returns {string|symbol} Returns the key. - */ -function toKey(value) { - if (typeof value == 'string' || isSymbol(value)) { - return value; - } - var result = (value + ''); - return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; -} - -module.exports = toKey; diff --git a/packages/frontend-core/node_modules/lodash/_toSource.js b/packages/frontend-core/node_modules/lodash/_toSource.js deleted file mode 100644 index a020b386ca..0000000000 --- a/packages/frontend-core/node_modules/lodash/_toSource.js +++ /dev/null @@ -1,26 +0,0 @@ -/** Used for built-in method references. */ -var funcProto = Function.prototype; - -/** Used to resolve the decompiled source of functions. */ -var funcToString = funcProto.toString; - -/** - * Converts `func` to its source code. - * - * @private - * @param {Function} func The function to convert. - * @returns {string} Returns the source code. - */ -function toSource(func) { - if (func != null) { - try { - return funcToString.call(func); - } catch (e) {} - try { - return (func + ''); - } catch (e) {} - } - return ''; -} - -module.exports = toSource; diff --git a/packages/frontend-core/node_modules/lodash/_trimmedEndIndex.js b/packages/frontend-core/node_modules/lodash/_trimmedEndIndex.js deleted file mode 100644 index 139439ad47..0000000000 --- a/packages/frontend-core/node_modules/lodash/_trimmedEndIndex.js +++ /dev/null @@ -1,19 +0,0 @@ -/** Used to match a single whitespace character. */ -var reWhitespace = /\s/; - -/** - * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace - * character of `string`. - * - * @private - * @param {string} string The string to inspect. - * @returns {number} Returns the index of the last non-whitespace character. - */ -function trimmedEndIndex(string) { - var index = string.length; - - while (index-- && reWhitespace.test(string.charAt(index))) {} - return index; -} - -module.exports = trimmedEndIndex; diff --git a/packages/frontend-core/node_modules/lodash/_unescapeHtmlChar.js b/packages/frontend-core/node_modules/lodash/_unescapeHtmlChar.js deleted file mode 100644 index a71fecb3f6..0000000000 --- a/packages/frontend-core/node_modules/lodash/_unescapeHtmlChar.js +++ /dev/null @@ -1,21 +0,0 @@ -var basePropertyOf = require('./_basePropertyOf'); - -/** Used to map HTML entities to characters. */ -var htmlUnescapes = { - '&': '&', - '<': '<', - '>': '>', - '"': '"', - ''': "'" -}; - -/** - * Used by `_.unescape` to convert HTML entities to characters. - * - * @private - * @param {string} chr The matched character to unescape. - * @returns {string} Returns the unescaped character. - */ -var unescapeHtmlChar = basePropertyOf(htmlUnescapes); - -module.exports = unescapeHtmlChar; diff --git a/packages/frontend-core/node_modules/lodash/_unicodeSize.js b/packages/frontend-core/node_modules/lodash/_unicodeSize.js deleted file mode 100644 index 68137ec2c5..0000000000 --- a/packages/frontend-core/node_modules/lodash/_unicodeSize.js +++ /dev/null @@ -1,44 +0,0 @@ -/** Used to compose unicode character classes. */ -var rsAstralRange = '\\ud800-\\udfff', - rsComboMarksRange = '\\u0300-\\u036f', - reComboHalfMarksRange = '\\ufe20-\\ufe2f', - rsComboSymbolsRange = '\\u20d0-\\u20ff', - rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, - rsVarRange = '\\ufe0e\\ufe0f'; - -/** Used to compose unicode capture groups. */ -var rsAstral = '[' + rsAstralRange + ']', - rsCombo = '[' + rsComboRange + ']', - rsFitz = '\\ud83c[\\udffb-\\udfff]', - rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')', - rsNonAstral = '[^' + rsAstralRange + ']', - rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}', - rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]', - rsZWJ = '\\u200d'; - -/** Used to compose unicode regexes. */ -var reOptMod = rsModifier + '?', - rsOptVar = '[' + rsVarRange + ']?', - rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*', - rsSeq = rsOptVar + reOptMod + rsOptJoin, - rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')'; - -/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */ -var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g'); - -/** - * Gets the size of a Unicode `string`. - * - * @private - * @param {string} string The string inspect. - * @returns {number} Returns the string size. - */ -function unicodeSize(string) { - var result = reUnicode.lastIndex = 0; - while (reUnicode.test(string)) { - ++result; - } - return result; -} - -module.exports = unicodeSize; diff --git a/packages/frontend-core/node_modules/lodash/_unicodeToArray.js b/packages/frontend-core/node_modules/lodash/_unicodeToArray.js deleted file mode 100644 index 2a725c062e..0000000000 --- a/packages/frontend-core/node_modules/lodash/_unicodeToArray.js +++ /dev/null @@ -1,40 +0,0 @@ -/** Used to compose unicode character classes. */ -var rsAstralRange = '\\ud800-\\udfff', - rsComboMarksRange = '\\u0300-\\u036f', - reComboHalfMarksRange = '\\ufe20-\\ufe2f', - rsComboSymbolsRange = '\\u20d0-\\u20ff', - rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, - rsVarRange = '\\ufe0e\\ufe0f'; - -/** Used to compose unicode capture groups. */ -var rsAstral = '[' + rsAstralRange + ']', - rsCombo = '[' + rsComboRange + ']', - rsFitz = '\\ud83c[\\udffb-\\udfff]', - rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')', - rsNonAstral = '[^' + rsAstralRange + ']', - rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}', - rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]', - rsZWJ = '\\u200d'; - -/** Used to compose unicode regexes. */ -var reOptMod = rsModifier + '?', - rsOptVar = '[' + rsVarRange + ']?', - rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*', - rsSeq = rsOptVar + reOptMod + rsOptJoin, - rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')'; - -/** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */ -var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g'); - -/** - * Converts a Unicode `string` to an array. - * - * @private - * @param {string} string The string to convert. - * @returns {Array} Returns the converted array. - */ -function unicodeToArray(string) { - return string.match(reUnicode) || []; -} - -module.exports = unicodeToArray; diff --git a/packages/frontend-core/node_modules/lodash/_unicodeWords.js b/packages/frontend-core/node_modules/lodash/_unicodeWords.js deleted file mode 100644 index e72e6e0f93..0000000000 --- a/packages/frontend-core/node_modules/lodash/_unicodeWords.js +++ /dev/null @@ -1,69 +0,0 @@ -/** Used to compose unicode character classes. */ -var rsAstralRange = '\\ud800-\\udfff', - rsComboMarksRange = '\\u0300-\\u036f', - reComboHalfMarksRange = '\\ufe20-\\ufe2f', - rsComboSymbolsRange = '\\u20d0-\\u20ff', - rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, - rsDingbatRange = '\\u2700-\\u27bf', - rsLowerRange = 'a-z\\xdf-\\xf6\\xf8-\\xff', - rsMathOpRange = '\\xac\\xb1\\xd7\\xf7', - rsNonCharRange = '\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf', - rsPunctuationRange = '\\u2000-\\u206f', - rsSpaceRange = ' \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000', - rsUpperRange = 'A-Z\\xc0-\\xd6\\xd8-\\xde', - rsVarRange = '\\ufe0e\\ufe0f', - rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange; - -/** Used to compose unicode capture groups. */ -var rsApos = "['\u2019]", - rsBreak = '[' + rsBreakRange + ']', - rsCombo = '[' + rsComboRange + ']', - rsDigits = '\\d+', - rsDingbat = '[' + rsDingbatRange + ']', - rsLower = '[' + rsLowerRange + ']', - rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']', - rsFitz = '\\ud83c[\\udffb-\\udfff]', - rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')', - rsNonAstral = '[^' + rsAstralRange + ']', - rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}', - rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]', - rsUpper = '[' + rsUpperRange + ']', - rsZWJ = '\\u200d'; - -/** Used to compose unicode regexes. */ -var rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')', - rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')', - rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?', - rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?', - reOptMod = rsModifier + '?', - rsOptVar = '[' + rsVarRange + ']?', - rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*', - rsOrdLower = '\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])', - rsOrdUpper = '\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])', - rsSeq = rsOptVar + reOptMod + rsOptJoin, - rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq; - -/** Used to match complex or compound words. */ -var reUnicodeWord = RegExp([ - rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')', - rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')', - rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower, - rsUpper + '+' + rsOptContrUpper, - rsOrdUpper, - rsOrdLower, - rsDigits, - rsEmoji -].join('|'), 'g'); - -/** - * Splits a Unicode `string` into an array of its words. - * - * @private - * @param {string} The string to inspect. - * @returns {Array} Returns the words of `string`. - */ -function unicodeWords(string) { - return string.match(reUnicodeWord) || []; -} - -module.exports = unicodeWords; diff --git a/packages/frontend-core/node_modules/lodash/_updateWrapDetails.js b/packages/frontend-core/node_modules/lodash/_updateWrapDetails.js deleted file mode 100644 index 8759fbdf79..0000000000 --- a/packages/frontend-core/node_modules/lodash/_updateWrapDetails.js +++ /dev/null @@ -1,46 +0,0 @@ -var arrayEach = require('./_arrayEach'), - arrayIncludes = require('./_arrayIncludes'); - -/** Used to compose bitmasks for function metadata. */ -var WRAP_BIND_FLAG = 1, - WRAP_BIND_KEY_FLAG = 2, - WRAP_CURRY_FLAG = 8, - WRAP_CURRY_RIGHT_FLAG = 16, - WRAP_PARTIAL_FLAG = 32, - WRAP_PARTIAL_RIGHT_FLAG = 64, - WRAP_ARY_FLAG = 128, - WRAP_REARG_FLAG = 256, - WRAP_FLIP_FLAG = 512; - -/** Used to associate wrap methods with their bit flags. */ -var wrapFlags = [ - ['ary', WRAP_ARY_FLAG], - ['bind', WRAP_BIND_FLAG], - ['bindKey', WRAP_BIND_KEY_FLAG], - ['curry', WRAP_CURRY_FLAG], - ['curryRight', WRAP_CURRY_RIGHT_FLAG], - ['flip', WRAP_FLIP_FLAG], - ['partial', WRAP_PARTIAL_FLAG], - ['partialRight', WRAP_PARTIAL_RIGHT_FLAG], - ['rearg', WRAP_REARG_FLAG] -]; - -/** - * Updates wrapper `details` based on `bitmask` flags. - * - * @private - * @returns {Array} details The details to modify. - * @param {number} bitmask The bitmask flags. See `createWrap` for more details. - * @returns {Array} Returns `details`. - */ -function updateWrapDetails(details, bitmask) { - arrayEach(wrapFlags, function(pair) { - var value = '_.' + pair[0]; - if ((bitmask & pair[1]) && !arrayIncludes(details, value)) { - details.push(value); - } - }); - return details.sort(); -} - -module.exports = updateWrapDetails; diff --git a/packages/frontend-core/node_modules/lodash/_wrapperClone.js b/packages/frontend-core/node_modules/lodash/_wrapperClone.js deleted file mode 100644 index 7bb58a2e88..0000000000 --- a/packages/frontend-core/node_modules/lodash/_wrapperClone.js +++ /dev/null @@ -1,23 +0,0 @@ -var LazyWrapper = require('./_LazyWrapper'), - LodashWrapper = require('./_LodashWrapper'), - copyArray = require('./_copyArray'); - -/** - * Creates a clone of `wrapper`. - * - * @private - * @param {Object} wrapper The wrapper to clone. - * @returns {Object} Returns the cloned wrapper. - */ -function wrapperClone(wrapper) { - if (wrapper instanceof LazyWrapper) { - return wrapper.clone(); - } - var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__); - result.__actions__ = copyArray(wrapper.__actions__); - result.__index__ = wrapper.__index__; - result.__values__ = wrapper.__values__; - return result; -} - -module.exports = wrapperClone; diff --git a/packages/frontend-core/node_modules/lodash/add.js b/packages/frontend-core/node_modules/lodash/add.js deleted file mode 100644 index f069515647..0000000000 --- a/packages/frontend-core/node_modules/lodash/add.js +++ /dev/null @@ -1,22 +0,0 @@ -var createMathOperation = require('./_createMathOperation'); - -/** - * Adds two numbers. - * - * @static - * @memberOf _ - * @since 3.4.0 - * @category Math - * @param {number} augend The first number in an addition. - * @param {number} addend The second number in an addition. - * @returns {number} Returns the total. - * @example - * - * _.add(6, 4); - * // => 10 - */ -var add = createMathOperation(function(augend, addend) { - return augend + addend; -}, 0); - -module.exports = add; diff --git a/packages/frontend-core/node_modules/lodash/after.js b/packages/frontend-core/node_modules/lodash/after.js deleted file mode 100644 index 3900c979a1..0000000000 --- a/packages/frontend-core/node_modules/lodash/after.js +++ /dev/null @@ -1,42 +0,0 @@ -var toInteger = require('./toInteger'); - -/** Error message constants. */ -var FUNC_ERROR_TEXT = 'Expected a function'; - -/** - * The opposite of `_.before`; this method creates a function that invokes - * `func` once it's called `n` or more times. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {number} n The number of calls before `func` is invoked. - * @param {Function} func The function to restrict. - * @returns {Function} Returns the new restricted function. - * @example - * - * var saves = ['profile', 'settings']; - * - * var done = _.after(saves.length, function() { - * console.log('done saving!'); - * }); - * - * _.forEach(saves, function(type) { - * asyncSave({ 'type': type, 'complete': done }); - * }); - * // => Logs 'done saving!' after the two async saves have completed. - */ -function after(n, func) { - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - n = toInteger(n); - return function() { - if (--n < 1) { - return func.apply(this, arguments); - } - }; -} - -module.exports = after; diff --git a/packages/frontend-core/node_modules/lodash/array.js b/packages/frontend-core/node_modules/lodash/array.js deleted file mode 100644 index af688d3ee6..0000000000 --- a/packages/frontend-core/node_modules/lodash/array.js +++ /dev/null @@ -1,67 +0,0 @@ -module.exports = { - 'chunk': require('./chunk'), - 'compact': require('./compact'), - 'concat': require('./concat'), - 'difference': require('./difference'), - 'differenceBy': require('./differenceBy'), - 'differenceWith': require('./differenceWith'), - 'drop': require('./drop'), - 'dropRight': require('./dropRight'), - 'dropRightWhile': require('./dropRightWhile'), - 'dropWhile': require('./dropWhile'), - 'fill': require('./fill'), - 'findIndex': require('./findIndex'), - 'findLastIndex': require('./findLastIndex'), - 'first': require('./first'), - 'flatten': require('./flatten'), - 'flattenDeep': require('./flattenDeep'), - 'flattenDepth': require('./flattenDepth'), - 'fromPairs': require('./fromPairs'), - 'head': require('./head'), - 'indexOf': require('./indexOf'), - 'initial': require('./initial'), - 'intersection': require('./intersection'), - 'intersectionBy': require('./intersectionBy'), - 'intersectionWith': require('./intersectionWith'), - 'join': require('./join'), - 'last': require('./last'), - 'lastIndexOf': require('./lastIndexOf'), - 'nth': require('./nth'), - 'pull': require('./pull'), - 'pullAll': require('./pullAll'), - 'pullAllBy': require('./pullAllBy'), - 'pullAllWith': require('./pullAllWith'), - 'pullAt': require('./pullAt'), - 'remove': require('./remove'), - 'reverse': require('./reverse'), - 'slice': require('./slice'), - 'sortedIndex': require('./sortedIndex'), - 'sortedIndexBy': require('./sortedIndexBy'), - 'sortedIndexOf': require('./sortedIndexOf'), - 'sortedLastIndex': require('./sortedLastIndex'), - 'sortedLastIndexBy': require('./sortedLastIndexBy'), - 'sortedLastIndexOf': require('./sortedLastIndexOf'), - 'sortedUniq': require('./sortedUniq'), - 'sortedUniqBy': require('./sortedUniqBy'), - 'tail': require('./tail'), - 'take': require('./take'), - 'takeRight': require('./takeRight'), - 'takeRightWhile': require('./takeRightWhile'), - 'takeWhile': require('./takeWhile'), - 'union': require('./union'), - 'unionBy': require('./unionBy'), - 'unionWith': require('./unionWith'), - 'uniq': require('./uniq'), - 'uniqBy': require('./uniqBy'), - 'uniqWith': require('./uniqWith'), - 'unzip': require('./unzip'), - 'unzipWith': require('./unzipWith'), - 'without': require('./without'), - 'xor': require('./xor'), - 'xorBy': require('./xorBy'), - 'xorWith': require('./xorWith'), - 'zip': require('./zip'), - 'zipObject': require('./zipObject'), - 'zipObjectDeep': require('./zipObjectDeep'), - 'zipWith': require('./zipWith') -}; diff --git a/packages/frontend-core/node_modules/lodash/ary.js b/packages/frontend-core/node_modules/lodash/ary.js deleted file mode 100644 index 70c87d094c..0000000000 --- a/packages/frontend-core/node_modules/lodash/ary.js +++ /dev/null @@ -1,29 +0,0 @@ -var createWrap = require('./_createWrap'); - -/** Used to compose bitmasks for function metadata. */ -var WRAP_ARY_FLAG = 128; - -/** - * Creates a function that invokes `func`, with up to `n` arguments, - * ignoring any additional arguments. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Function - * @param {Function} func The function to cap arguments for. - * @param {number} [n=func.length] The arity cap. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Function} Returns the new capped function. - * @example - * - * _.map(['6', '8', '10'], _.ary(parseInt, 1)); - * // => [6, 8, 10] - */ -function ary(func, n, guard) { - n = guard ? undefined : n; - n = (func && n == null) ? func.length : n; - return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n); -} - -module.exports = ary; diff --git a/packages/frontend-core/node_modules/lodash/assign.js b/packages/frontend-core/node_modules/lodash/assign.js deleted file mode 100644 index 909db26a34..0000000000 --- a/packages/frontend-core/node_modules/lodash/assign.js +++ /dev/null @@ -1,58 +0,0 @@ -var assignValue = require('./_assignValue'), - copyObject = require('./_copyObject'), - createAssigner = require('./_createAssigner'), - isArrayLike = require('./isArrayLike'), - isPrototype = require('./_isPrototype'), - keys = require('./keys'); - -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * Assigns own enumerable string keyed properties of source objects to the - * destination object. Source objects are applied from left to right. - * Subsequent sources overwrite property assignments of previous sources. - * - * **Note:** This method mutates `object` and is loosely based on - * [`Object.assign`](https://mdn.io/Object/assign). - * - * @static - * @memberOf _ - * @since 0.10.0 - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @returns {Object} Returns `object`. - * @see _.assignIn - * @example - * - * function Foo() { - * this.a = 1; - * } - * - * function Bar() { - * this.c = 3; - * } - * - * Foo.prototype.b = 2; - * Bar.prototype.d = 4; - * - * _.assign({ 'a': 0 }, new Foo, new Bar); - * // => { 'a': 1, 'c': 3 } - */ -var assign = createAssigner(function(object, source) { - if (isPrototype(source) || isArrayLike(source)) { - copyObject(source, keys(source), object); - return; - } - for (var key in source) { - if (hasOwnProperty.call(source, key)) { - assignValue(object, key, source[key]); - } - } -}); - -module.exports = assign; diff --git a/packages/frontend-core/node_modules/lodash/assignIn.js b/packages/frontend-core/node_modules/lodash/assignIn.js deleted file mode 100644 index e663473a0c..0000000000 --- a/packages/frontend-core/node_modules/lodash/assignIn.js +++ /dev/null @@ -1,40 +0,0 @@ -var copyObject = require('./_copyObject'), - createAssigner = require('./_createAssigner'), - keysIn = require('./keysIn'); - -/** - * This method is like `_.assign` except that it iterates over own and - * inherited source properties. - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @alias extend - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @returns {Object} Returns `object`. - * @see _.assign - * @example - * - * function Foo() { - * this.a = 1; - * } - * - * function Bar() { - * this.c = 3; - * } - * - * Foo.prototype.b = 2; - * Bar.prototype.d = 4; - * - * _.assignIn({ 'a': 0 }, new Foo, new Bar); - * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 } - */ -var assignIn = createAssigner(function(object, source) { - copyObject(source, keysIn(source), object); -}); - -module.exports = assignIn; diff --git a/packages/frontend-core/node_modules/lodash/assignInWith.js b/packages/frontend-core/node_modules/lodash/assignInWith.js deleted file mode 100644 index 68fcc0b03a..0000000000 --- a/packages/frontend-core/node_modules/lodash/assignInWith.js +++ /dev/null @@ -1,38 +0,0 @@ -var copyObject = require('./_copyObject'), - createAssigner = require('./_createAssigner'), - keysIn = require('./keysIn'); - -/** - * This method is like `_.assignIn` except that it accepts `customizer` - * which is invoked to produce the assigned values. If `customizer` returns - * `undefined`, assignment is handled by the method instead. The `customizer` - * is invoked with five arguments: (objValue, srcValue, key, object, source). - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @alias extendWith - * @category Object - * @param {Object} object The destination object. - * @param {...Object} sources The source objects. - * @param {Function} [customizer] The function to customize assigned values. - * @returns {Object} Returns `object`. - * @see _.assignWith - * @example - * - * function customizer(objValue, srcValue) { - * return _.isUndefined(objValue) ? srcValue : objValue; - * } - * - * var defaults = _.partialRight(_.assignInWith, customizer); - * - * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); - * // => { 'a': 1, 'b': 2 } - */ -var assignInWith = createAssigner(function(object, source, srcIndex, customizer) { - copyObject(source, keysIn(source), object, customizer); -}); - -module.exports = assignInWith; diff --git a/packages/frontend-core/node_modules/lodash/assignWith.js b/packages/frontend-core/node_modules/lodash/assignWith.js deleted file mode 100644 index 7dc6c761b8..0000000000 --- a/packages/frontend-core/node_modules/lodash/assignWith.js +++ /dev/null @@ -1,37 +0,0 @@ -var copyObject = require('./_copyObject'), - createAssigner = require('./_createAssigner'), - keys = require('./keys'); - -/** - * This method is like `_.assign` except that it accepts `customizer` - * which is invoked to produce the assigned values. If `customizer` returns - * `undefined`, assignment is handled by the method instead. The `customizer` - * is invoked with five arguments: (objValue, srcValue, key, object, source). - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The destination object. - * @param {...Object} sources The source objects. - * @param {Function} [customizer] The function to customize assigned values. - * @returns {Object} Returns `object`. - * @see _.assignInWith - * @example - * - * function customizer(objValue, srcValue) { - * return _.isUndefined(objValue) ? srcValue : objValue; - * } - * - * var defaults = _.partialRight(_.assignWith, customizer); - * - * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); - * // => { 'a': 1, 'b': 2 } - */ -var assignWith = createAssigner(function(object, source, srcIndex, customizer) { - copyObject(source, keys(source), object, customizer); -}); - -module.exports = assignWith; diff --git a/packages/frontend-core/node_modules/lodash/at.js b/packages/frontend-core/node_modules/lodash/at.js deleted file mode 100644 index 781ee9e5f1..0000000000 --- a/packages/frontend-core/node_modules/lodash/at.js +++ /dev/null @@ -1,23 +0,0 @@ -var baseAt = require('./_baseAt'), - flatRest = require('./_flatRest'); - -/** - * Creates an array of values corresponding to `paths` of `object`. - * - * @static - * @memberOf _ - * @since 1.0.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {...(string|string[])} [paths] The property paths to pick. - * @returns {Array} Returns the picked values. - * @example - * - * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] }; - * - * _.at(object, ['a[0].b.c', 'a[1]']); - * // => [3, 4] - */ -var at = flatRest(baseAt); - -module.exports = at; diff --git a/packages/frontend-core/node_modules/lodash/attempt.js b/packages/frontend-core/node_modules/lodash/attempt.js deleted file mode 100644 index 624d01524d..0000000000 --- a/packages/frontend-core/node_modules/lodash/attempt.js +++ /dev/null @@ -1,35 +0,0 @@ -var apply = require('./_apply'), - baseRest = require('./_baseRest'), - isError = require('./isError'); - -/** - * Attempts to invoke `func`, returning either the result or the caught error - * object. Any additional arguments are provided to `func` when it's invoked. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Util - * @param {Function} func The function to attempt. - * @param {...*} [args] The arguments to invoke `func` with. - * @returns {*} Returns the `func` result or error object. - * @example - * - * // Avoid throwing errors for invalid selectors. - * var elements = _.attempt(function(selector) { - * return document.querySelectorAll(selector); - * }, '>_>'); - * - * if (_.isError(elements)) { - * elements = []; - * } - */ -var attempt = baseRest(function(func, args) { - try { - return apply(func, undefined, args); - } catch (e) { - return isError(e) ? e : new Error(e); - } -}); - -module.exports = attempt; diff --git a/packages/frontend-core/node_modules/lodash/before.js b/packages/frontend-core/node_modules/lodash/before.js deleted file mode 100644 index a3e0a16c7a..0000000000 --- a/packages/frontend-core/node_modules/lodash/before.js +++ /dev/null @@ -1,40 +0,0 @@ -var toInteger = require('./toInteger'); - -/** Error message constants. */ -var FUNC_ERROR_TEXT = 'Expected a function'; - -/** - * Creates a function that invokes `func`, with the `this` binding and arguments - * of the created function, while it's called less than `n` times. Subsequent - * calls to the created function return the result of the last `func` invocation. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Function - * @param {number} n The number of calls at which `func` is no longer invoked. - * @param {Function} func The function to restrict. - * @returns {Function} Returns the new restricted function. - * @example - * - * jQuery(element).on('click', _.before(5, addContactToList)); - * // => Allows adding up to 4 contacts to the list. - */ -function before(n, func) { - var result; - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - n = toInteger(n); - return function() { - if (--n > 0) { - result = func.apply(this, arguments); - } - if (n <= 1) { - func = undefined; - } - return result; - }; -} - -module.exports = before; diff --git a/packages/frontend-core/node_modules/lodash/bind.js b/packages/frontend-core/node_modules/lodash/bind.js deleted file mode 100644 index b1076e93e6..0000000000 --- a/packages/frontend-core/node_modules/lodash/bind.js +++ /dev/null @@ -1,57 +0,0 @@ -var baseRest = require('./_baseRest'), - createWrap = require('./_createWrap'), - getHolder = require('./_getHolder'), - replaceHolders = require('./_replaceHolders'); - -/** Used to compose bitmasks for function metadata. */ -var WRAP_BIND_FLAG = 1, - WRAP_PARTIAL_FLAG = 32; - -/** - * Creates a function that invokes `func` with the `this` binding of `thisArg` - * and `partials` prepended to the arguments it receives. - * - * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds, - * may be used as a placeholder for partially applied arguments. - * - * **Note:** Unlike native `Function#bind`, this method doesn't set the "length" - * property of bound functions. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to bind. - * @param {*} thisArg The `this` binding of `func`. - * @param {...*} [partials] The arguments to be partially applied. - * @returns {Function} Returns the new bound function. - * @example - * - * function greet(greeting, punctuation) { - * return greeting + ' ' + this.user + punctuation; - * } - * - * var object = { 'user': 'fred' }; - * - * var bound = _.bind(greet, object, 'hi'); - * bound('!'); - * // => 'hi fred!' - * - * // Bound with placeholders. - * var bound = _.bind(greet, object, _, '!'); - * bound('hi'); - * // => 'hi fred!' - */ -var bind = baseRest(function(func, thisArg, partials) { - var bitmask = WRAP_BIND_FLAG; - if (partials.length) { - var holders = replaceHolders(partials, getHolder(bind)); - bitmask |= WRAP_PARTIAL_FLAG; - } - return createWrap(func, bitmask, thisArg, partials, holders); -}); - -// Assign default placeholders. -bind.placeholder = {}; - -module.exports = bind; diff --git a/packages/frontend-core/node_modules/lodash/bindAll.js b/packages/frontend-core/node_modules/lodash/bindAll.js deleted file mode 100644 index a35706deed..0000000000 --- a/packages/frontend-core/node_modules/lodash/bindAll.js +++ /dev/null @@ -1,41 +0,0 @@ -var arrayEach = require('./_arrayEach'), - baseAssignValue = require('./_baseAssignValue'), - bind = require('./bind'), - flatRest = require('./_flatRest'), - toKey = require('./_toKey'); - -/** - * Binds methods of an object to the object itself, overwriting the existing - * method. - * - * **Note:** This method doesn't set the "length" property of bound functions. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Util - * @param {Object} object The object to bind and assign the bound methods to. - * @param {...(string|string[])} methodNames The object method names to bind. - * @returns {Object} Returns `object`. - * @example - * - * var view = { - * 'label': 'docs', - * 'click': function() { - * console.log('clicked ' + this.label); - * } - * }; - * - * _.bindAll(view, ['click']); - * jQuery(element).on('click', view.click); - * // => Logs 'clicked docs' when clicked. - */ -var bindAll = flatRest(function(object, methodNames) { - arrayEach(methodNames, function(key) { - key = toKey(key); - baseAssignValue(object, key, bind(object[key], object)); - }); - return object; -}); - -module.exports = bindAll; diff --git a/packages/frontend-core/node_modules/lodash/bindKey.js b/packages/frontend-core/node_modules/lodash/bindKey.js deleted file mode 100644 index f7fd64cd4e..0000000000 --- a/packages/frontend-core/node_modules/lodash/bindKey.js +++ /dev/null @@ -1,68 +0,0 @@ -var baseRest = require('./_baseRest'), - createWrap = require('./_createWrap'), - getHolder = require('./_getHolder'), - replaceHolders = require('./_replaceHolders'); - -/** Used to compose bitmasks for function metadata. */ -var WRAP_BIND_FLAG = 1, - WRAP_BIND_KEY_FLAG = 2, - WRAP_PARTIAL_FLAG = 32; - -/** - * Creates a function that invokes the method at `object[key]` with `partials` - * prepended to the arguments it receives. - * - * This method differs from `_.bind` by allowing bound functions to reference - * methods that may be redefined or don't yet exist. See - * [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern) - * for more details. - * - * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic - * builds, may be used as a placeholder for partially applied arguments. - * - * @static - * @memberOf _ - * @since 0.10.0 - * @category Function - * @param {Object} object The object to invoke the method on. - * @param {string} key The key of the method. - * @param {...*} [partials] The arguments to be partially applied. - * @returns {Function} Returns the new bound function. - * @example - * - * var object = { - * 'user': 'fred', - * 'greet': function(greeting, punctuation) { - * return greeting + ' ' + this.user + punctuation; - * } - * }; - * - * var bound = _.bindKey(object, 'greet', 'hi'); - * bound('!'); - * // => 'hi fred!' - * - * object.greet = function(greeting, punctuation) { - * return greeting + 'ya ' + this.user + punctuation; - * }; - * - * bound('!'); - * // => 'hiya fred!' - * - * // Bound with placeholders. - * var bound = _.bindKey(object, 'greet', _, '!'); - * bound('hi'); - * // => 'hiya fred!' - */ -var bindKey = baseRest(function(object, key, partials) { - var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG; - if (partials.length) { - var holders = replaceHolders(partials, getHolder(bindKey)); - bitmask |= WRAP_PARTIAL_FLAG; - } - return createWrap(key, bitmask, object, partials, holders); -}); - -// Assign default placeholders. -bindKey.placeholder = {}; - -module.exports = bindKey; diff --git a/packages/frontend-core/node_modules/lodash/camelCase.js b/packages/frontend-core/node_modules/lodash/camelCase.js deleted file mode 100644 index d7390def55..0000000000 --- a/packages/frontend-core/node_modules/lodash/camelCase.js +++ /dev/null @@ -1,29 +0,0 @@ -var capitalize = require('./capitalize'), - createCompounder = require('./_createCompounder'); - -/** - * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to convert. - * @returns {string} Returns the camel cased string. - * @example - * - * _.camelCase('Foo Bar'); - * // => 'fooBar' - * - * _.camelCase('--foo-bar--'); - * // => 'fooBar' - * - * _.camelCase('__FOO_BAR__'); - * // => 'fooBar' - */ -var camelCase = createCompounder(function(result, word, index) { - word = word.toLowerCase(); - return result + (index ? capitalize(word) : word); -}); - -module.exports = camelCase; diff --git a/packages/frontend-core/node_modules/lodash/capitalize.js b/packages/frontend-core/node_modules/lodash/capitalize.js deleted file mode 100644 index 3e1600e7d9..0000000000 --- a/packages/frontend-core/node_modules/lodash/capitalize.js +++ /dev/null @@ -1,23 +0,0 @@ -var toString = require('./toString'), - upperFirst = require('./upperFirst'); - -/** - * Converts the first character of `string` to upper case and the remaining - * to lower case. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to capitalize. - * @returns {string} Returns the capitalized string. - * @example - * - * _.capitalize('FRED'); - * // => 'Fred' - */ -function capitalize(string) { - return upperFirst(toString(string).toLowerCase()); -} - -module.exports = capitalize; diff --git a/packages/frontend-core/node_modules/lodash/castArray.js b/packages/frontend-core/node_modules/lodash/castArray.js deleted file mode 100644 index e470bdb9b9..0000000000 --- a/packages/frontend-core/node_modules/lodash/castArray.js +++ /dev/null @@ -1,44 +0,0 @@ -var isArray = require('./isArray'); - -/** - * Casts `value` as an array if it's not one. - * - * @static - * @memberOf _ - * @since 4.4.0 - * @category Lang - * @param {*} value The value to inspect. - * @returns {Array} Returns the cast array. - * @example - * - * _.castArray(1); - * // => [1] - * - * _.castArray({ 'a': 1 }); - * // => [{ 'a': 1 }] - * - * _.castArray('abc'); - * // => ['abc'] - * - * _.castArray(null); - * // => [null] - * - * _.castArray(undefined); - * // => [undefined] - * - * _.castArray(); - * // => [] - * - * var array = [1, 2, 3]; - * console.log(_.castArray(array) === array); - * // => true - */ -function castArray() { - if (!arguments.length) { - return []; - } - var value = arguments[0]; - return isArray(value) ? value : [value]; -} - -module.exports = castArray; diff --git a/packages/frontend-core/node_modules/lodash/ceil.js b/packages/frontend-core/node_modules/lodash/ceil.js deleted file mode 100644 index 56c8722cfc..0000000000 --- a/packages/frontend-core/node_modules/lodash/ceil.js +++ /dev/null @@ -1,26 +0,0 @@ -var createRound = require('./_createRound'); - -/** - * Computes `number` rounded up to `precision`. - * - * @static - * @memberOf _ - * @since 3.10.0 - * @category Math - * @param {number} number The number to round up. - * @param {number} [precision=0] The precision to round up to. - * @returns {number} Returns the rounded up number. - * @example - * - * _.ceil(4.006); - * // => 5 - * - * _.ceil(6.004, 2); - * // => 6.01 - * - * _.ceil(6040, -2); - * // => 6100 - */ -var ceil = createRound('ceil'); - -module.exports = ceil; diff --git a/packages/frontend-core/node_modules/lodash/chain.js b/packages/frontend-core/node_modules/lodash/chain.js deleted file mode 100644 index f6cd6475ff..0000000000 --- a/packages/frontend-core/node_modules/lodash/chain.js +++ /dev/null @@ -1,38 +0,0 @@ -var lodash = require('./wrapperLodash'); - -/** - * Creates a `lodash` wrapper instance that wraps `value` with explicit method - * chain sequences enabled. The result of such sequences must be unwrapped - * with `_#value`. - * - * @static - * @memberOf _ - * @since 1.3.0 - * @category Seq - * @param {*} value The value to wrap. - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36 }, - * { 'user': 'fred', 'age': 40 }, - * { 'user': 'pebbles', 'age': 1 } - * ]; - * - * var youngest = _ - * .chain(users) - * .sortBy('age') - * .map(function(o) { - * return o.user + ' is ' + o.age; - * }) - * .head() - * .value(); - * // => 'pebbles is 1' - */ -function chain(value) { - var result = lodash(value); - result.__chain__ = true; - return result; -} - -module.exports = chain; diff --git a/packages/frontend-core/node_modules/lodash/chunk.js b/packages/frontend-core/node_modules/lodash/chunk.js deleted file mode 100644 index 5b562fef3c..0000000000 --- a/packages/frontend-core/node_modules/lodash/chunk.js +++ /dev/null @@ -1,50 +0,0 @@ -var baseSlice = require('./_baseSlice'), - isIterateeCall = require('./_isIterateeCall'), - toInteger = require('./toInteger'); - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeCeil = Math.ceil, - nativeMax = Math.max; - -/** - * Creates an array of elements split into groups the length of `size`. - * If `array` can't be split evenly, the final chunk will be the remaining - * elements. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to process. - * @param {number} [size=1] The length of each chunk - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Array} Returns the new array of chunks. - * @example - * - * _.chunk(['a', 'b', 'c', 'd'], 2); - * // => [['a', 'b'], ['c', 'd']] - * - * _.chunk(['a', 'b', 'c', 'd'], 3); - * // => [['a', 'b', 'c'], ['d']] - */ -function chunk(array, size, guard) { - if ((guard ? isIterateeCall(array, size, guard) : size === undefined)) { - size = 1; - } else { - size = nativeMax(toInteger(size), 0); - } - var length = array == null ? 0 : array.length; - if (!length || size < 1) { - return []; - } - var index = 0, - resIndex = 0, - result = Array(nativeCeil(length / size)); - - while (index < length) { - result[resIndex++] = baseSlice(array, index, (index += size)); - } - return result; -} - -module.exports = chunk; diff --git a/packages/frontend-core/node_modules/lodash/clamp.js b/packages/frontend-core/node_modules/lodash/clamp.js deleted file mode 100644 index 91a72c9782..0000000000 --- a/packages/frontend-core/node_modules/lodash/clamp.js +++ /dev/null @@ -1,39 +0,0 @@ -var baseClamp = require('./_baseClamp'), - toNumber = require('./toNumber'); - -/** - * Clamps `number` within the inclusive `lower` and `upper` bounds. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Number - * @param {number} number The number to clamp. - * @param {number} [lower] The lower bound. - * @param {number} upper The upper bound. - * @returns {number} Returns the clamped number. - * @example - * - * _.clamp(-10, -5, 5); - * // => -5 - * - * _.clamp(10, -5, 5); - * // => 5 - */ -function clamp(number, lower, upper) { - if (upper === undefined) { - upper = lower; - lower = undefined; - } - if (upper !== undefined) { - upper = toNumber(upper); - upper = upper === upper ? upper : 0; - } - if (lower !== undefined) { - lower = toNumber(lower); - lower = lower === lower ? lower : 0; - } - return baseClamp(toNumber(number), lower, upper); -} - -module.exports = clamp; diff --git a/packages/frontend-core/node_modules/lodash/clone.js b/packages/frontend-core/node_modules/lodash/clone.js deleted file mode 100644 index dd439d6396..0000000000 --- a/packages/frontend-core/node_modules/lodash/clone.js +++ /dev/null @@ -1,36 +0,0 @@ -var baseClone = require('./_baseClone'); - -/** Used to compose bitmasks for cloning. */ -var CLONE_SYMBOLS_FLAG = 4; - -/** - * Creates a shallow clone of `value`. - * - * **Note:** This method is loosely based on the - * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm) - * and supports cloning arrays, array buffers, booleans, date objects, maps, - * numbers, `Object` objects, regexes, sets, strings, symbols, and typed - * arrays. The own enumerable properties of `arguments` objects are cloned - * as plain objects. An empty object is returned for uncloneable values such - * as error objects, functions, DOM nodes, and WeakMaps. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to clone. - * @returns {*} Returns the cloned value. - * @see _.cloneDeep - * @example - * - * var objects = [{ 'a': 1 }, { 'b': 2 }]; - * - * var shallow = _.clone(objects); - * console.log(shallow[0] === objects[0]); - * // => true - */ -function clone(value) { - return baseClone(value, CLONE_SYMBOLS_FLAG); -} - -module.exports = clone; diff --git a/packages/frontend-core/node_modules/lodash/cloneDeep.js b/packages/frontend-core/node_modules/lodash/cloneDeep.js deleted file mode 100644 index 4425fbe8b9..0000000000 --- a/packages/frontend-core/node_modules/lodash/cloneDeep.js +++ /dev/null @@ -1,29 +0,0 @@ -var baseClone = require('./_baseClone'); - -/** Used to compose bitmasks for cloning. */ -var CLONE_DEEP_FLAG = 1, - CLONE_SYMBOLS_FLAG = 4; - -/** - * This method is like `_.clone` except that it recursively clones `value`. - * - * @static - * @memberOf _ - * @since 1.0.0 - * @category Lang - * @param {*} value The value to recursively clone. - * @returns {*} Returns the deep cloned value. - * @see _.clone - * @example - * - * var objects = [{ 'a': 1 }, { 'b': 2 }]; - * - * var deep = _.cloneDeep(objects); - * console.log(deep[0] === objects[0]); - * // => false - */ -function cloneDeep(value) { - return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG); -} - -module.exports = cloneDeep; diff --git a/packages/frontend-core/node_modules/lodash/cloneDeepWith.js b/packages/frontend-core/node_modules/lodash/cloneDeepWith.js deleted file mode 100644 index fd9c6c050c..0000000000 --- a/packages/frontend-core/node_modules/lodash/cloneDeepWith.js +++ /dev/null @@ -1,40 +0,0 @@ -var baseClone = require('./_baseClone'); - -/** Used to compose bitmasks for cloning. */ -var CLONE_DEEP_FLAG = 1, - CLONE_SYMBOLS_FLAG = 4; - -/** - * This method is like `_.cloneWith` except that it recursively clones `value`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to recursively clone. - * @param {Function} [customizer] The function to customize cloning. - * @returns {*} Returns the deep cloned value. - * @see _.cloneWith - * @example - * - * function customizer(value) { - * if (_.isElement(value)) { - * return value.cloneNode(true); - * } - * } - * - * var el = _.cloneDeepWith(document.body, customizer); - * - * console.log(el === document.body); - * // => false - * console.log(el.nodeName); - * // => 'BODY' - * console.log(el.childNodes.length); - * // => 20 - */ -function cloneDeepWith(value, customizer) { - customizer = typeof customizer == 'function' ? customizer : undefined; - return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer); -} - -module.exports = cloneDeepWith; diff --git a/packages/frontend-core/node_modules/lodash/cloneWith.js b/packages/frontend-core/node_modules/lodash/cloneWith.js deleted file mode 100644 index d2f4e756d5..0000000000 --- a/packages/frontend-core/node_modules/lodash/cloneWith.js +++ /dev/null @@ -1,42 +0,0 @@ -var baseClone = require('./_baseClone'); - -/** Used to compose bitmasks for cloning. */ -var CLONE_SYMBOLS_FLAG = 4; - -/** - * This method is like `_.clone` except that it accepts `customizer` which - * is invoked to produce the cloned value. If `customizer` returns `undefined`, - * cloning is handled by the method instead. The `customizer` is invoked with - * up to four arguments; (value [, index|key, object, stack]). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to clone. - * @param {Function} [customizer] The function to customize cloning. - * @returns {*} Returns the cloned value. - * @see _.cloneDeepWith - * @example - * - * function customizer(value) { - * if (_.isElement(value)) { - * return value.cloneNode(false); - * } - * } - * - * var el = _.cloneWith(document.body, customizer); - * - * console.log(el === document.body); - * // => false - * console.log(el.nodeName); - * // => 'BODY' - * console.log(el.childNodes.length); - * // => 0 - */ -function cloneWith(value, customizer) { - customizer = typeof customizer == 'function' ? customizer : undefined; - return baseClone(value, CLONE_SYMBOLS_FLAG, customizer); -} - -module.exports = cloneWith; diff --git a/packages/frontend-core/node_modules/lodash/collection.js b/packages/frontend-core/node_modules/lodash/collection.js deleted file mode 100644 index 77fe837f32..0000000000 --- a/packages/frontend-core/node_modules/lodash/collection.js +++ /dev/null @@ -1,30 +0,0 @@ -module.exports = { - 'countBy': require('./countBy'), - 'each': require('./each'), - 'eachRight': require('./eachRight'), - 'every': require('./every'), - 'filter': require('./filter'), - 'find': require('./find'), - 'findLast': require('./findLast'), - 'flatMap': require('./flatMap'), - 'flatMapDeep': require('./flatMapDeep'), - 'flatMapDepth': require('./flatMapDepth'), - 'forEach': require('./forEach'), - 'forEachRight': require('./forEachRight'), - 'groupBy': require('./groupBy'), - 'includes': require('./includes'), - 'invokeMap': require('./invokeMap'), - 'keyBy': require('./keyBy'), - 'map': require('./map'), - 'orderBy': require('./orderBy'), - 'partition': require('./partition'), - 'reduce': require('./reduce'), - 'reduceRight': require('./reduceRight'), - 'reject': require('./reject'), - 'sample': require('./sample'), - 'sampleSize': require('./sampleSize'), - 'shuffle': require('./shuffle'), - 'size': require('./size'), - 'some': require('./some'), - 'sortBy': require('./sortBy') -}; diff --git a/packages/frontend-core/node_modules/lodash/commit.js b/packages/frontend-core/node_modules/lodash/commit.js deleted file mode 100644 index fe4db71783..0000000000 --- a/packages/frontend-core/node_modules/lodash/commit.js +++ /dev/null @@ -1,33 +0,0 @@ -var LodashWrapper = require('./_LodashWrapper'); - -/** - * Executes the chain sequence and returns the wrapped result. - * - * @name commit - * @memberOf _ - * @since 3.2.0 - * @category Seq - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * var array = [1, 2]; - * var wrapped = _(array).push(3); - * - * console.log(array); - * // => [1, 2] - * - * wrapped = wrapped.commit(); - * console.log(array); - * // => [1, 2, 3] - * - * wrapped.last(); - * // => 3 - * - * console.log(array); - * // => [1, 2, 3] - */ -function wrapperCommit() { - return new LodashWrapper(this.value(), this.__chain__); -} - -module.exports = wrapperCommit; diff --git a/packages/frontend-core/node_modules/lodash/compact.js b/packages/frontend-core/node_modules/lodash/compact.js deleted file mode 100644 index 031fab4e6d..0000000000 --- a/packages/frontend-core/node_modules/lodash/compact.js +++ /dev/null @@ -1,31 +0,0 @@ -/** - * Creates an array with all falsey values removed. The values `false`, `null`, - * `0`, `""`, `undefined`, and `NaN` are falsey. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to compact. - * @returns {Array} Returns the new array of filtered values. - * @example - * - * _.compact([0, 1, false, 2, '', 3]); - * // => [1, 2, 3] - */ -function compact(array) { - var index = -1, - length = array == null ? 0 : array.length, - resIndex = 0, - result = []; - - while (++index < length) { - var value = array[index]; - if (value) { - result[resIndex++] = value; - } - } - return result; -} - -module.exports = compact; diff --git a/packages/frontend-core/node_modules/lodash/concat.js b/packages/frontend-core/node_modules/lodash/concat.js deleted file mode 100644 index 1da48a4fc7..0000000000 --- a/packages/frontend-core/node_modules/lodash/concat.js +++ /dev/null @@ -1,43 +0,0 @@ -var arrayPush = require('./_arrayPush'), - baseFlatten = require('./_baseFlatten'), - copyArray = require('./_copyArray'), - isArray = require('./isArray'); - -/** - * Creates a new array concatenating `array` with any additional arrays - * and/or values. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to concatenate. - * @param {...*} [values] The values to concatenate. - * @returns {Array} Returns the new concatenated array. - * @example - * - * var array = [1]; - * var other = _.concat(array, 2, [3], [[4]]); - * - * console.log(other); - * // => [1, 2, 3, [4]] - * - * console.log(array); - * // => [1] - */ -function concat() { - var length = arguments.length; - if (!length) { - return []; - } - var args = Array(length - 1), - array = arguments[0], - index = length; - - while (index--) { - args[index - 1] = arguments[index]; - } - return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1)); -} - -module.exports = concat; diff --git a/packages/frontend-core/node_modules/lodash/cond.js b/packages/frontend-core/node_modules/lodash/cond.js deleted file mode 100644 index 64555986aa..0000000000 --- a/packages/frontend-core/node_modules/lodash/cond.js +++ /dev/null @@ -1,60 +0,0 @@ -var apply = require('./_apply'), - arrayMap = require('./_arrayMap'), - baseIteratee = require('./_baseIteratee'), - baseRest = require('./_baseRest'); - -/** Error message constants. */ -var FUNC_ERROR_TEXT = 'Expected a function'; - -/** - * Creates a function that iterates over `pairs` and invokes the corresponding - * function of the first predicate to return truthy. The predicate-function - * pairs are invoked with the `this` binding and arguments of the created - * function. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Util - * @param {Array} pairs The predicate-function pairs. - * @returns {Function} Returns the new composite function. - * @example - * - * var func = _.cond([ - * [_.matches({ 'a': 1 }), _.constant('matches A')], - * [_.conforms({ 'b': _.isNumber }), _.constant('matches B')], - * [_.stubTrue, _.constant('no match')] - * ]); - * - * func({ 'a': 1, 'b': 2 }); - * // => 'matches A' - * - * func({ 'a': 0, 'b': 1 }); - * // => 'matches B' - * - * func({ 'a': '1', 'b': '2' }); - * // => 'no match' - */ -function cond(pairs) { - var length = pairs == null ? 0 : pairs.length, - toIteratee = baseIteratee; - - pairs = !length ? [] : arrayMap(pairs, function(pair) { - if (typeof pair[1] != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - return [toIteratee(pair[0]), pair[1]]; - }); - - return baseRest(function(args) { - var index = -1; - while (++index < length) { - var pair = pairs[index]; - if (apply(pair[0], this, args)) { - return apply(pair[1], this, args); - } - } - }); -} - -module.exports = cond; diff --git a/packages/frontend-core/node_modules/lodash/conforms.js b/packages/frontend-core/node_modules/lodash/conforms.js deleted file mode 100644 index 5501a949a9..0000000000 --- a/packages/frontend-core/node_modules/lodash/conforms.js +++ /dev/null @@ -1,35 +0,0 @@ -var baseClone = require('./_baseClone'), - baseConforms = require('./_baseConforms'); - -/** Used to compose bitmasks for cloning. */ -var CLONE_DEEP_FLAG = 1; - -/** - * Creates a function that invokes the predicate properties of `source` with - * the corresponding property values of a given object, returning `true` if - * all predicates return truthy, else `false`. - * - * **Note:** The created function is equivalent to `_.conformsTo` with - * `source` partially applied. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Util - * @param {Object} source The object of property predicates to conform to. - * @returns {Function} Returns the new spec function. - * @example - * - * var objects = [ - * { 'a': 2, 'b': 1 }, - * { 'a': 1, 'b': 2 } - * ]; - * - * _.filter(objects, _.conforms({ 'b': function(n) { return n > 1; } })); - * // => [{ 'a': 1, 'b': 2 }] - */ -function conforms(source) { - return baseConforms(baseClone(source, CLONE_DEEP_FLAG)); -} - -module.exports = conforms; diff --git a/packages/frontend-core/node_modules/lodash/conformsTo.js b/packages/frontend-core/node_modules/lodash/conformsTo.js deleted file mode 100644 index b8a93ebf45..0000000000 --- a/packages/frontend-core/node_modules/lodash/conformsTo.js +++ /dev/null @@ -1,32 +0,0 @@ -var baseConformsTo = require('./_baseConformsTo'), - keys = require('./keys'); - -/** - * Checks if `object` conforms to `source` by invoking the predicate - * properties of `source` with the corresponding property values of `object`. - * - * **Note:** This method is equivalent to `_.conforms` when `source` is - * partially applied. - * - * @static - * @memberOf _ - * @since 4.14.0 - * @category Lang - * @param {Object} object The object to inspect. - * @param {Object} source The object of property predicates to conform to. - * @returns {boolean} Returns `true` if `object` conforms, else `false`. - * @example - * - * var object = { 'a': 1, 'b': 2 }; - * - * _.conformsTo(object, { 'b': function(n) { return n > 1; } }); - * // => true - * - * _.conformsTo(object, { 'b': function(n) { return n > 2; } }); - * // => false - */ -function conformsTo(object, source) { - return source == null || baseConformsTo(object, source, keys(source)); -} - -module.exports = conformsTo; diff --git a/packages/frontend-core/node_modules/lodash/constant.js b/packages/frontend-core/node_modules/lodash/constant.js deleted file mode 100644 index 655ece3fb3..0000000000 --- a/packages/frontend-core/node_modules/lodash/constant.js +++ /dev/null @@ -1,26 +0,0 @@ -/** - * Creates a function that returns `value`. - * - * @static - * @memberOf _ - * @since 2.4.0 - * @category Util - * @param {*} value The value to return from the new function. - * @returns {Function} Returns the new constant function. - * @example - * - * var objects = _.times(2, _.constant({ 'a': 1 })); - * - * console.log(objects); - * // => [{ 'a': 1 }, { 'a': 1 }] - * - * console.log(objects[0] === objects[1]); - * // => true - */ -function constant(value) { - return function() { - return value; - }; -} - -module.exports = constant; diff --git a/packages/frontend-core/node_modules/lodash/core.js b/packages/frontend-core/node_modules/lodash/core.js deleted file mode 100644 index be1d567d62..0000000000 --- a/packages/frontend-core/node_modules/lodash/core.js +++ /dev/null @@ -1,3877 +0,0 @@ -/** - * @license - * Lodash (Custom Build) - * Build: `lodash core -o ./dist/lodash.core.js` - * Copyright OpenJS Foundation and other contributors - * Released under MIT license - * Based on Underscore.js 1.8.3 - * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */ -;(function() { - - /** Used as a safe reference for `undefined` in pre-ES5 environments. */ - var undefined; - - /** Used as the semantic version number. */ - var VERSION = '4.17.21'; - - /** Error message constants. */ - var FUNC_ERROR_TEXT = 'Expected a function'; - - /** Used to compose bitmasks for value comparisons. */ - var COMPARE_PARTIAL_FLAG = 1, - COMPARE_UNORDERED_FLAG = 2; - - /** Used to compose bitmasks for function metadata. */ - var WRAP_BIND_FLAG = 1, - WRAP_PARTIAL_FLAG = 32; - - /** Used as references for various `Number` constants. */ - var INFINITY = 1 / 0, - MAX_SAFE_INTEGER = 9007199254740991; - - /** `Object#toString` result references. */ - var argsTag = '[object Arguments]', - arrayTag = '[object Array]', - asyncTag = '[object AsyncFunction]', - boolTag = '[object Boolean]', - dateTag = '[object Date]', - errorTag = '[object Error]', - funcTag = '[object Function]', - genTag = '[object GeneratorFunction]', - numberTag = '[object Number]', - objectTag = '[object Object]', - proxyTag = '[object Proxy]', - regexpTag = '[object RegExp]', - stringTag = '[object String]'; - - /** Used to match HTML entities and HTML characters. */ - var reUnescapedHtml = /[&<>"']/g, - reHasUnescapedHtml = RegExp(reUnescapedHtml.source); - - /** Used to detect unsigned integer values. */ - var reIsUint = /^(?:0|[1-9]\d*)$/; - - /** Used to map characters to HTML entities. */ - var htmlEscapes = { - '&': '&', - '<': '<', - '>': '>', - '"': '"', - "'": ''' - }; - - /** Detect free variable `global` from Node.js. */ - var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; - - /** Detect free variable `self`. */ - var freeSelf = typeof self == 'object' && self && self.Object === Object && self; - - /** Used as a reference to the global object. */ - var root = freeGlobal || freeSelf || Function('return this')(); - - /** Detect free variable `exports`. */ - var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; - - /** Detect free variable `module`. */ - var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; - - /*--------------------------------------------------------------------------*/ - - /** - * Appends the elements of `values` to `array`. - * - * @private - * @param {Array} array The array to modify. - * @param {Array} values The values to append. - * @returns {Array} Returns `array`. - */ - function arrayPush(array, values) { - array.push.apply(array, values); - return array; - } - - /** - * The base implementation of `_.findIndex` and `_.findLastIndex` without - * support for iteratee shorthands. - * - * @private - * @param {Array} array The array to inspect. - * @param {Function} predicate The function invoked per iteration. - * @param {number} fromIndex The index to search from. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {number} Returns the index of the matched value, else `-1`. - */ - function baseFindIndex(array, predicate, fromIndex, fromRight) { - var length = array.length, - index = fromIndex + (fromRight ? 1 : -1); - - while ((fromRight ? index-- : ++index < length)) { - if (predicate(array[index], index, array)) { - return index; - } - } - return -1; - } - - /** - * The base implementation of `_.property` without support for deep paths. - * - * @private - * @param {string} key The key of the property to get. - * @returns {Function} Returns the new accessor function. - */ - function baseProperty(key) { - return function(object) { - return object == null ? undefined : object[key]; - }; - } - - /** - * The base implementation of `_.propertyOf` without support for deep paths. - * - * @private - * @param {Object} object The object to query. - * @returns {Function} Returns the new accessor function. - */ - function basePropertyOf(object) { - return function(key) { - return object == null ? undefined : object[key]; - }; - } - - /** - * The base implementation of `_.reduce` and `_.reduceRight`, without support - * for iteratee shorthands, which iterates over `collection` using `eachFunc`. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {*} accumulator The initial value. - * @param {boolean} initAccum Specify using the first or last element of - * `collection` as the initial value. - * @param {Function} eachFunc The function to iterate over `collection`. - * @returns {*} Returns the accumulated value. - */ - function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) { - eachFunc(collection, function(value, index, collection) { - accumulator = initAccum - ? (initAccum = false, value) - : iteratee(accumulator, value, index, collection); - }); - return accumulator; - } - - /** - * The base implementation of `_.values` and `_.valuesIn` which creates an - * array of `object` property values corresponding to the property names - * of `props`. - * - * @private - * @param {Object} object The object to query. - * @param {Array} props The property names to get values for. - * @returns {Object} Returns the array of property values. - */ - function baseValues(object, props) { - return baseMap(props, function(key) { - return object[key]; - }); - } - - /** - * Used by `_.escape` to convert characters to HTML entities. - * - * @private - * @param {string} chr The matched character to escape. - * @returns {string} Returns the escaped character. - */ - var escapeHtmlChar = basePropertyOf(htmlEscapes); - - /** - * Creates a unary function that invokes `func` with its argument transformed. - * - * @private - * @param {Function} func The function to wrap. - * @param {Function} transform The argument transform. - * @returns {Function} Returns the new function. - */ - function overArg(func, transform) { - return function(arg) { - return func(transform(arg)); - }; - } - - /*--------------------------------------------------------------------------*/ - - /** Used for built-in method references. */ - var arrayProto = Array.prototype, - objectProto = Object.prototype; - - /** Used to check objects for own properties. */ - var hasOwnProperty = objectProto.hasOwnProperty; - - /** Used to generate unique IDs. */ - var idCounter = 0; - - /** - * Used to resolve the - * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) - * of values. - */ - var nativeObjectToString = objectProto.toString; - - /** Used to restore the original `_` reference in `_.noConflict`. */ - var oldDash = root._; - - /** Built-in value references. */ - var objectCreate = Object.create, - propertyIsEnumerable = objectProto.propertyIsEnumerable; - - /* Built-in method references for those with the same name as other `lodash` methods. */ - var nativeIsFinite = root.isFinite, - nativeKeys = overArg(Object.keys, Object), - nativeMax = Math.max; - - /*------------------------------------------------------------------------*/ - - /** - * Creates a `lodash` object which wraps `value` to enable implicit method - * chain sequences. Methods that operate on and return arrays, collections, - * and functions can be chained together. Methods that retrieve a single value - * or may return a primitive value will automatically end the chain sequence - * and return the unwrapped value. Otherwise, the value must be unwrapped - * with `_#value`. - * - * Explicit chain sequences, which must be unwrapped with `_#value`, may be - * enabled using `_.chain`. - * - * The execution of chained methods is lazy, that is, it's deferred until - * `_#value` is implicitly or explicitly called. - * - * Lazy evaluation allows several methods to support shortcut fusion. - * Shortcut fusion is an optimization to merge iteratee calls; this avoids - * the creation of intermediate arrays and can greatly reduce the number of - * iteratee executions. Sections of a chain sequence qualify for shortcut - * fusion if the section is applied to an array and iteratees accept only - * one argument. The heuristic for whether a section qualifies for shortcut - * fusion is subject to change. - * - * Chaining is supported in custom builds as long as the `_#value` method is - * directly or indirectly included in the build. - * - * In addition to lodash methods, wrappers have `Array` and `String` methods. - * - * The wrapper `Array` methods are: - * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift` - * - * The wrapper `String` methods are: - * `replace` and `split` - * - * The wrapper methods that support shortcut fusion are: - * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`, - * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`, - * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray` - * - * The chainable wrapper methods are: - * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`, - * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`, - * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`, - * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`, - * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`, - * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`, - * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`, - * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`, - * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`, - * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`, - * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`, - * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`, - * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`, - * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`, - * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`, - * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`, - * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`, - * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`, - * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`, - * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`, - * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`, - * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`, - * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`, - * `zipObject`, `zipObjectDeep`, and `zipWith` - * - * The wrapper methods that are **not** chainable by default are: - * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`, - * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`, - * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`, - * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`, - * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`, - * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`, - * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`, - * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`, - * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`, - * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`, - * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`, - * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`, - * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`, - * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`, - * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`, - * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`, - * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`, - * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`, - * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`, - * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`, - * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`, - * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`, - * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`, - * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`, - * `upperFirst`, `value`, and `words` - * - * @name _ - * @constructor - * @category Seq - * @param {*} value The value to wrap in a `lodash` instance. - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * function square(n) { - * return n * n; - * } - * - * var wrapped = _([1, 2, 3]); - * - * // Returns an unwrapped value. - * wrapped.reduce(_.add); - * // => 6 - * - * // Returns a wrapped value. - * var squares = wrapped.map(square); - * - * _.isArray(squares); - * // => false - * - * _.isArray(squares.value()); - * // => true - */ - function lodash(value) { - return value instanceof LodashWrapper - ? value - : new LodashWrapper(value); - } - - /** - * The base implementation of `_.create` without support for assigning - * properties to the created object. - * - * @private - * @param {Object} proto The object to inherit from. - * @returns {Object} Returns the new object. - */ - var baseCreate = (function() { - function object() {} - return function(proto) { - if (!isObject(proto)) { - return {}; - } - if (objectCreate) { - return objectCreate(proto); - } - object.prototype = proto; - var result = new object; - object.prototype = undefined; - return result; - }; - }()); - - /** - * The base constructor for creating `lodash` wrapper objects. - * - * @private - * @param {*} value The value to wrap. - * @param {boolean} [chainAll] Enable explicit method chain sequences. - */ - function LodashWrapper(value, chainAll) { - this.__wrapped__ = value; - this.__actions__ = []; - this.__chain__ = !!chainAll; - } - - LodashWrapper.prototype = baseCreate(lodash.prototype); - LodashWrapper.prototype.constructor = LodashWrapper; - - /*------------------------------------------------------------------------*/ - - /** - * Assigns `value` to `key` of `object` if the existing value is not equivalent - * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. - * - * @private - * @param {Object} object The object to modify. - * @param {string} key The key of the property to assign. - * @param {*} value The value to assign. - */ - function assignValue(object, key, value) { - var objValue = object[key]; - if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || - (value === undefined && !(key in object))) { - baseAssignValue(object, key, value); - } - } - - /** - * The base implementation of `assignValue` and `assignMergeValue` without - * value checks. - * - * @private - * @param {Object} object The object to modify. - * @param {string} key The key of the property to assign. - * @param {*} value The value to assign. - */ - function baseAssignValue(object, key, value) { - object[key] = value; - } - - /** - * The base implementation of `_.delay` and `_.defer` which accepts `args` - * to provide to `func`. - * - * @private - * @param {Function} func The function to delay. - * @param {number} wait The number of milliseconds to delay invocation. - * @param {Array} args The arguments to provide to `func`. - * @returns {number|Object} Returns the timer id or timeout object. - */ - function baseDelay(func, wait, args) { - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - return setTimeout(function() { func.apply(undefined, args); }, wait); - } - - /** - * The base implementation of `_.forEach` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array|Object} Returns `collection`. - */ - var baseEach = createBaseEach(baseForOwn); - - /** - * The base implementation of `_.every` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {boolean} Returns `true` if all elements pass the predicate check, - * else `false` - */ - function baseEvery(collection, predicate) { - var result = true; - baseEach(collection, function(value, index, collection) { - result = !!predicate(value, index, collection); - return result; - }); - return result; - } - - /** - * The base implementation of methods like `_.max` and `_.min` which accepts a - * `comparator` to determine the extremum value. - * - * @private - * @param {Array} array The array to iterate over. - * @param {Function} iteratee The iteratee invoked per iteration. - * @param {Function} comparator The comparator used to compare values. - * @returns {*} Returns the extremum value. - */ - function baseExtremum(array, iteratee, comparator) { - var index = -1, - length = array.length; - - while (++index < length) { - var value = array[index], - current = iteratee(value); - - if (current != null && (computed === undefined - ? (current === current && !false) - : comparator(current, computed) - )) { - var computed = current, - result = value; - } - } - return result; - } - - /** - * The base implementation of `_.filter` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {Array} Returns the new filtered array. - */ - function baseFilter(collection, predicate) { - var result = []; - baseEach(collection, function(value, index, collection) { - if (predicate(value, index, collection)) { - result.push(value); - } - }); - return result; - } - - /** - * The base implementation of `_.flatten` with support for restricting flattening. - * - * @private - * @param {Array} array The array to flatten. - * @param {number} depth The maximum recursion depth. - * @param {boolean} [predicate=isFlattenable] The function invoked per iteration. - * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks. - * @param {Array} [result=[]] The initial result value. - * @returns {Array} Returns the new flattened array. - */ - function baseFlatten(array, depth, predicate, isStrict, result) { - var index = -1, - length = array.length; - - predicate || (predicate = isFlattenable); - result || (result = []); - - while (++index < length) { - var value = array[index]; - if (depth > 0 && predicate(value)) { - if (depth > 1) { - // Recursively flatten arrays (susceptible to call stack limits). - baseFlatten(value, depth - 1, predicate, isStrict, result); - } else { - arrayPush(result, value); - } - } else if (!isStrict) { - result[result.length] = value; - } - } - return result; - } - - /** - * The base implementation of `baseForOwn` which iterates over `object` - * properties returned by `keysFunc` and invokes `iteratee` for each property. - * Iteratee functions may exit iteration early by explicitly returning `false`. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {Function} keysFunc The function to get the keys of `object`. - * @returns {Object} Returns `object`. - */ - var baseFor = createBaseFor(); - - /** - * The base implementation of `_.forOwn` without support for iteratee shorthands. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Object} Returns `object`. - */ - function baseForOwn(object, iteratee) { - return object && baseFor(object, iteratee, keys); - } - - /** - * The base implementation of `_.functions` which creates an array of - * `object` function property names filtered from `props`. - * - * @private - * @param {Object} object The object to inspect. - * @param {Array} props The property names to filter. - * @returns {Array} Returns the function names. - */ - function baseFunctions(object, props) { - return baseFilter(props, function(key) { - return isFunction(object[key]); - }); - } - - /** - * The base implementation of `getTag` without fallbacks for buggy environments. - * - * @private - * @param {*} value The value to query. - * @returns {string} Returns the `toStringTag`. - */ - function baseGetTag(value) { - return objectToString(value); - } - - /** - * The base implementation of `_.gt` which doesn't coerce arguments. - * - * @private - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if `value` is greater than `other`, - * else `false`. - */ - function baseGt(value, other) { - return value > other; - } - - /** - * The base implementation of `_.isArguments`. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an `arguments` object, - */ - var baseIsArguments = noop; - - /** - * The base implementation of `_.isDate` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a date object, else `false`. - */ - function baseIsDate(value) { - return isObjectLike(value) && baseGetTag(value) == dateTag; - } - - /** - * The base implementation of `_.isEqual` which supports partial comparisons - * and tracks traversed objects. - * - * @private - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @param {boolean} bitmask The bitmask flags. - * 1 - Unordered comparison - * 2 - Partial comparison - * @param {Function} [customizer] The function to customize comparisons. - * @param {Object} [stack] Tracks traversed `value` and `other` objects. - * @returns {boolean} Returns `true` if the values are equivalent, else `false`. - */ - function baseIsEqual(value, other, bitmask, customizer, stack) { - if (value === other) { - return true; - } - if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) { - return value !== value && other !== other; - } - return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack); - } - - /** - * A specialized version of `baseIsEqual` for arrays and objects which performs - * deep comparisons and tracks traversed objects enabling objects with circular - * references to be compared. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Object} [stack] Tracks traversed `object` and `other` objects. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */ - function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { - var objIsArr = isArray(object), - othIsArr = isArray(other), - objTag = objIsArr ? arrayTag : baseGetTag(object), - othTag = othIsArr ? arrayTag : baseGetTag(other); - - objTag = objTag == argsTag ? objectTag : objTag; - othTag = othTag == argsTag ? objectTag : othTag; - - var objIsObj = objTag == objectTag, - othIsObj = othTag == objectTag, - isSameTag = objTag == othTag; - - stack || (stack = []); - var objStack = find(stack, function(entry) { - return entry[0] == object; - }); - var othStack = find(stack, function(entry) { - return entry[0] == other; - }); - if (objStack && othStack) { - return objStack[1] == other; - } - stack.push([object, other]); - stack.push([other, object]); - if (isSameTag && !objIsObj) { - var result = (objIsArr) - ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) - : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); - stack.pop(); - return result; - } - if (!(bitmask & COMPARE_PARTIAL_FLAG)) { - var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'), - othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__'); - - if (objIsWrapped || othIsWrapped) { - var objUnwrapped = objIsWrapped ? object.value() : object, - othUnwrapped = othIsWrapped ? other.value() : other; - - var result = equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); - stack.pop(); - return result; - } - } - if (!isSameTag) { - return false; - } - var result = equalObjects(object, other, bitmask, customizer, equalFunc, stack); - stack.pop(); - return result; - } - - /** - * The base implementation of `_.isRegExp` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a regexp, else `false`. - */ - function baseIsRegExp(value) { - return isObjectLike(value) && baseGetTag(value) == regexpTag; - } - - /** - * The base implementation of `_.iteratee`. - * - * @private - * @param {*} [value=_.identity] The value to convert to an iteratee. - * @returns {Function} Returns the iteratee. - */ - function baseIteratee(func) { - if (typeof func == 'function') { - return func; - } - if (func == null) { - return identity; - } - return (typeof func == 'object' ? baseMatches : baseProperty)(func); - } - - /** - * The base implementation of `_.lt` which doesn't coerce arguments. - * - * @private - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if `value` is less than `other`, - * else `false`. - */ - function baseLt(value, other) { - return value < other; - } - - /** - * The base implementation of `_.map` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns the new mapped array. - */ - function baseMap(collection, iteratee) { - var index = -1, - result = isArrayLike(collection) ? Array(collection.length) : []; - - baseEach(collection, function(value, key, collection) { - result[++index] = iteratee(value, key, collection); - }); - return result; - } - - /** - * The base implementation of `_.matches` which doesn't clone `source`. - * - * @private - * @param {Object} source The object of property values to match. - * @returns {Function} Returns the new spec function. - */ - function baseMatches(source) { - var props = nativeKeys(source); - return function(object) { - var length = props.length; - if (object == null) { - return !length; - } - object = Object(object); - while (length--) { - var key = props[length]; - if (!(key in object && - baseIsEqual(source[key], object[key], COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG) - )) { - return false; - } - } - return true; - }; - } - - /** - * The base implementation of `_.pick` without support for individual - * property identifiers. - * - * @private - * @param {Object} object The source object. - * @param {string[]} paths The property paths to pick. - * @returns {Object} Returns the new object. - */ - function basePick(object, props) { - object = Object(object); - return reduce(props, function(result, key) { - if (key in object) { - result[key] = object[key]; - } - return result; - }, {}); - } - - /** - * The base implementation of `_.rest` which doesn't validate or coerce arguments. - * - * @private - * @param {Function} func The function to apply a rest parameter to. - * @param {number} [start=func.length-1] The start position of the rest parameter. - * @returns {Function} Returns the new function. - */ - function baseRest(func, start) { - return setToString(overRest(func, start, identity), func + ''); - } - - /** - * The base implementation of `_.slice` without an iteratee call guard. - * - * @private - * @param {Array} array The array to slice. - * @param {number} [start=0] The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns the slice of `array`. - */ - function baseSlice(array, start, end) { - var index = -1, - length = array.length; - - if (start < 0) { - start = -start > length ? 0 : (length + start); - } - end = end > length ? length : end; - if (end < 0) { - end += length; - } - length = start > end ? 0 : ((end - start) >>> 0); - start >>>= 0; - - var result = Array(length); - while (++index < length) { - result[index] = array[index + start]; - } - return result; - } - - /** - * Copies the values of `source` to `array`. - * - * @private - * @param {Array} source The array to copy values from. - * @param {Array} [array=[]] The array to copy values to. - * @returns {Array} Returns `array`. - */ - function copyArray(source) { - return baseSlice(source, 0, source.length); - } - - /** - * The base implementation of `_.some` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {boolean} Returns `true` if any element passes the predicate check, - * else `false`. - */ - function baseSome(collection, predicate) { - var result; - - baseEach(collection, function(value, index, collection) { - result = predicate(value, index, collection); - return !result; - }); - return !!result; - } - - /** - * The base implementation of `wrapperValue` which returns the result of - * performing a sequence of actions on the unwrapped `value`, where each - * successive action is supplied the return value of the previous. - * - * @private - * @param {*} value The unwrapped value. - * @param {Array} actions Actions to perform to resolve the unwrapped value. - * @returns {*} Returns the resolved value. - */ - function baseWrapperValue(value, actions) { - var result = value; - return reduce(actions, function(result, action) { - return action.func.apply(action.thisArg, arrayPush([result], action.args)); - }, result); - } - - /** - * Compares values to sort them in ascending order. - * - * @private - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {number} Returns the sort order indicator for `value`. - */ - function compareAscending(value, other) { - if (value !== other) { - var valIsDefined = value !== undefined, - valIsNull = value === null, - valIsReflexive = value === value, - valIsSymbol = false; - - var othIsDefined = other !== undefined, - othIsNull = other === null, - othIsReflexive = other === other, - othIsSymbol = false; - - if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) || - (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) || - (valIsNull && othIsDefined && othIsReflexive) || - (!valIsDefined && othIsReflexive) || - !valIsReflexive) { - return 1; - } - if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) || - (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) || - (othIsNull && valIsDefined && valIsReflexive) || - (!othIsDefined && valIsReflexive) || - !othIsReflexive) { - return -1; - } - } - return 0; - } - - /** - * Copies properties of `source` to `object`. - * - * @private - * @param {Object} source The object to copy properties from. - * @param {Array} props The property identifiers to copy. - * @param {Object} [object={}] The object to copy properties to. - * @param {Function} [customizer] The function to customize copied values. - * @returns {Object} Returns `object`. - */ - function copyObject(source, props, object, customizer) { - var isNew = !object; - object || (object = {}); - - var index = -1, - length = props.length; - - while (++index < length) { - var key = props[index]; - - var newValue = customizer - ? customizer(object[key], source[key], key, object, source) - : undefined; - - if (newValue === undefined) { - newValue = source[key]; - } - if (isNew) { - baseAssignValue(object, key, newValue); - } else { - assignValue(object, key, newValue); - } - } - return object; - } - - /** - * Creates a function like `_.assign`. - * - * @private - * @param {Function} assigner The function to assign values. - * @returns {Function} Returns the new assigner function. - */ - function createAssigner(assigner) { - return baseRest(function(object, sources) { - var index = -1, - length = sources.length, - customizer = length > 1 ? sources[length - 1] : undefined; - - customizer = (assigner.length > 3 && typeof customizer == 'function') - ? (length--, customizer) - : undefined; - - object = Object(object); - while (++index < length) { - var source = sources[index]; - if (source) { - assigner(object, source, index, customizer); - } - } - return object; - }); - } - - /** - * Creates a `baseEach` or `baseEachRight` function. - * - * @private - * @param {Function} eachFunc The function to iterate over a collection. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new base function. - */ - function createBaseEach(eachFunc, fromRight) { - return function(collection, iteratee) { - if (collection == null) { - return collection; - } - if (!isArrayLike(collection)) { - return eachFunc(collection, iteratee); - } - var length = collection.length, - index = fromRight ? length : -1, - iterable = Object(collection); - - while ((fromRight ? index-- : ++index < length)) { - if (iteratee(iterable[index], index, iterable) === false) { - break; - } - } - return collection; - }; - } - - /** - * Creates a base function for methods like `_.forIn` and `_.forOwn`. - * - * @private - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new base function. - */ - function createBaseFor(fromRight) { - return function(object, iteratee, keysFunc) { - var index = -1, - iterable = Object(object), - props = keysFunc(object), - length = props.length; - - while (length--) { - var key = props[fromRight ? length : ++index]; - if (iteratee(iterable[key], key, iterable) === false) { - break; - } - } - return object; - }; - } - - /** - * Creates a function that produces an instance of `Ctor` regardless of - * whether it was invoked as part of a `new` expression or by `call` or `apply`. - * - * @private - * @param {Function} Ctor The constructor to wrap. - * @returns {Function} Returns the new wrapped function. - */ - function createCtor(Ctor) { - return function() { - // Use a `switch` statement to work with class constructors. See - // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist - // for more details. - var args = arguments; - var thisBinding = baseCreate(Ctor.prototype), - result = Ctor.apply(thisBinding, args); - - // Mimic the constructor's `return` behavior. - // See https://es5.github.io/#x13.2.2 for more details. - return isObject(result) ? result : thisBinding; - }; - } - - /** - * Creates a `_.find` or `_.findLast` function. - * - * @private - * @param {Function} findIndexFunc The function to find the collection index. - * @returns {Function} Returns the new find function. - */ - function createFind(findIndexFunc) { - return function(collection, predicate, fromIndex) { - var iterable = Object(collection); - if (!isArrayLike(collection)) { - var iteratee = baseIteratee(predicate, 3); - collection = keys(collection); - predicate = function(key) { return iteratee(iterable[key], key, iterable); }; - } - var index = findIndexFunc(collection, predicate, fromIndex); - return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined; - }; - } - - /** - * Creates a function that wraps `func` to invoke it with the `this` binding - * of `thisArg` and `partials` prepended to the arguments it receives. - * - * @private - * @param {Function} func The function to wrap. - * @param {number} bitmask The bitmask flags. See `createWrap` for more details. - * @param {*} thisArg The `this` binding of `func`. - * @param {Array} partials The arguments to prepend to those provided to - * the new function. - * @returns {Function} Returns the new wrapped function. - */ - function createPartial(func, bitmask, thisArg, partials) { - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - var isBind = bitmask & WRAP_BIND_FLAG, - Ctor = createCtor(func); - - function wrapper() { - var argsIndex = -1, - argsLength = arguments.length, - leftIndex = -1, - leftLength = partials.length, - args = Array(leftLength + argsLength), - fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; - - while (++leftIndex < leftLength) { - args[leftIndex] = partials[leftIndex]; - } - while (argsLength--) { - args[leftIndex++] = arguments[++argsIndex]; - } - return fn.apply(isBind ? thisArg : this, args); - } - return wrapper; - } - - /** - * A specialized version of `baseIsEqualDeep` for arrays with support for - * partial deep comparisons. - * - * @private - * @param {Array} array The array to compare. - * @param {Array} other The other array to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Object} stack Tracks traversed `array` and `other` objects. - * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. - */ - function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { - var isPartial = bitmask & COMPARE_PARTIAL_FLAG, - arrLength = array.length, - othLength = other.length; - - if (arrLength != othLength && !(isPartial && othLength > arrLength)) { - return false; - } - // Check that cyclic values are equal. - var arrStacked = stack.get(array); - var othStacked = stack.get(other); - if (arrStacked && othStacked) { - return arrStacked == other && othStacked == array; - } - var index = -1, - result = true, - seen = (bitmask & COMPARE_UNORDERED_FLAG) ? [] : undefined; - - // Ignore non-index properties. - while (++index < arrLength) { - var arrValue = array[index], - othValue = other[index]; - - var compared; - if (compared !== undefined) { - if (compared) { - continue; - } - result = false; - break; - } - // Recursively compare arrays (susceptible to call stack limits). - if (seen) { - if (!baseSome(other, function(othValue, othIndex) { - if (!indexOf(seen, othIndex) && - (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { - return seen.push(othIndex); - } - })) { - result = false; - break; - } - } else if (!( - arrValue === othValue || - equalFunc(arrValue, othValue, bitmask, customizer, stack) - )) { - result = false; - break; - } - } - return result; - } - - /** - * A specialized version of `baseIsEqualDeep` for comparing objects of - * the same `toStringTag`. - * - * **Note:** This function only supports comparing values with tags of - * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {string} tag The `toStringTag` of the objects to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Object} stack Tracks traversed `object` and `other` objects. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */ - function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { - switch (tag) { - - case boolTag: - case dateTag: - case numberTag: - // Coerce booleans to `1` or `0` and dates to milliseconds. - // Invalid dates are coerced to `NaN`. - return eq(+object, +other); - - case errorTag: - return object.name == other.name && object.message == other.message; - - case regexpTag: - case stringTag: - // Coerce regexes to strings and treat strings, primitives and objects, - // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring - // for more details. - return object == (other + ''); - - } - return false; - } - - /** - * A specialized version of `baseIsEqualDeep` for objects with support for - * partial deep comparisons. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Object} stack Tracks traversed `object` and `other` objects. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */ - function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { - var isPartial = bitmask & COMPARE_PARTIAL_FLAG, - objProps = keys(object), - objLength = objProps.length, - othProps = keys(other), - othLength = othProps.length; - - if (objLength != othLength && !isPartial) { - return false; - } - var index = objLength; - while (index--) { - var key = objProps[index]; - if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) { - return false; - } - } - // Check that cyclic values are equal. - var objStacked = stack.get(object); - var othStacked = stack.get(other); - if (objStacked && othStacked) { - return objStacked == other && othStacked == object; - } - var result = true; - - var skipCtor = isPartial; - while (++index < objLength) { - key = objProps[index]; - var objValue = object[key], - othValue = other[key]; - - var compared; - // Recursively compare objects (susceptible to call stack limits). - if (!(compared === undefined - ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack)) - : compared - )) { - result = false; - break; - } - skipCtor || (skipCtor = key == 'constructor'); - } - if (result && !skipCtor) { - var objCtor = object.constructor, - othCtor = other.constructor; - - // Non `Object` object instances with different constructors are not equal. - if (objCtor != othCtor && - ('constructor' in object && 'constructor' in other) && - !(typeof objCtor == 'function' && objCtor instanceof objCtor && - typeof othCtor == 'function' && othCtor instanceof othCtor)) { - result = false; - } - } - return result; - } - - /** - * A specialized version of `baseRest` which flattens the rest array. - * - * @private - * @param {Function} func The function to apply a rest parameter to. - * @returns {Function} Returns the new function. - */ - function flatRest(func) { - return setToString(overRest(func, undefined, flatten), func + ''); - } - - /** - * Checks if `value` is a flattenable `arguments` object or array. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is flattenable, else `false`. - */ - function isFlattenable(value) { - return isArray(value) || isArguments(value); - } - - /** - * Checks if `value` is a valid array-like index. - * - * @private - * @param {*} value The value to check. - * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. - * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. - */ - function isIndex(value, length) { - var type = typeof value; - length = length == null ? MAX_SAFE_INTEGER : length; - - return !!length && - (type == 'number' || - (type != 'symbol' && reIsUint.test(value))) && - (value > -1 && value % 1 == 0 && value < length); - } - - /** - * Checks if the given arguments are from an iteratee call. - * - * @private - * @param {*} value The potential iteratee value argument. - * @param {*} index The potential iteratee index or key argument. - * @param {*} object The potential iteratee object argument. - * @returns {boolean} Returns `true` if the arguments are from an iteratee call, - * else `false`. - */ - function isIterateeCall(value, index, object) { - if (!isObject(object)) { - return false; - } - var type = typeof index; - if (type == 'number' - ? (isArrayLike(object) && isIndex(index, object.length)) - : (type == 'string' && index in object) - ) { - return eq(object[index], value); - } - return false; - } - - /** - * This function is like - * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) - * except that it includes inherited enumerable properties. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - */ - function nativeKeysIn(object) { - var result = []; - if (object != null) { - for (var key in Object(object)) { - result.push(key); - } - } - return result; - } - - /** - * Converts `value` to a string using `Object.prototype.toString`. - * - * @private - * @param {*} value The value to convert. - * @returns {string} Returns the converted string. - */ - function objectToString(value) { - return nativeObjectToString.call(value); - } - - /** - * A specialized version of `baseRest` which transforms the rest array. - * - * @private - * @param {Function} func The function to apply a rest parameter to. - * @param {number} [start=func.length-1] The start position of the rest parameter. - * @param {Function} transform The rest array transform. - * @returns {Function} Returns the new function. - */ - function overRest(func, start, transform) { - start = nativeMax(start === undefined ? (func.length - 1) : start, 0); - return function() { - var args = arguments, - index = -1, - length = nativeMax(args.length - start, 0), - array = Array(length); - - while (++index < length) { - array[index] = args[start + index]; - } - index = -1; - var otherArgs = Array(start + 1); - while (++index < start) { - otherArgs[index] = args[index]; - } - otherArgs[start] = transform(array); - return func.apply(this, otherArgs); - }; - } - - /** - * Sets the `toString` method of `func` to return `string`. - * - * @private - * @param {Function} func The function to modify. - * @param {Function} string The `toString` result. - * @returns {Function} Returns `func`. - */ - var setToString = identity; - - /*------------------------------------------------------------------------*/ - - /** - * Creates an array with all falsey values removed. The values `false`, `null`, - * `0`, `""`, `undefined`, and `NaN` are falsey. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to compact. - * @returns {Array} Returns the new array of filtered values. - * @example - * - * _.compact([0, 1, false, 2, '', 3]); - * // => [1, 2, 3] - */ - function compact(array) { - return baseFilter(array, Boolean); - } - - /** - * Creates a new array concatenating `array` with any additional arrays - * and/or values. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to concatenate. - * @param {...*} [values] The values to concatenate. - * @returns {Array} Returns the new concatenated array. - * @example - * - * var array = [1]; - * var other = _.concat(array, 2, [3], [[4]]); - * - * console.log(other); - * // => [1, 2, 3, [4]] - * - * console.log(array); - * // => [1] - */ - function concat() { - var length = arguments.length; - if (!length) { - return []; - } - var args = Array(length - 1), - array = arguments[0], - index = length; - - while (index--) { - args[index - 1] = arguments[index]; - } - return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1)); - } - - /** - * This method is like `_.find` except that it returns the index of the first - * element `predicate` returns truthy for instead of the element itself. - * - * @static - * @memberOf _ - * @since 1.1.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @param {number} [fromIndex=0] The index to search from. - * @returns {number} Returns the index of the found element, else `-1`. - * @example - * - * var users = [ - * { 'user': 'barney', 'active': false }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': true } - * ]; - * - * _.findIndex(users, function(o) { return o.user == 'barney'; }); - * // => 0 - * - * // The `_.matches` iteratee shorthand. - * _.findIndex(users, { 'user': 'fred', 'active': false }); - * // => 1 - * - * // The `_.matchesProperty` iteratee shorthand. - * _.findIndex(users, ['active', false]); - * // => 0 - * - * // The `_.property` iteratee shorthand. - * _.findIndex(users, 'active'); - * // => 2 - */ - function findIndex(array, predicate, fromIndex) { - var length = array == null ? 0 : array.length; - if (!length) { - return -1; - } - var index = fromIndex == null ? 0 : toInteger(fromIndex); - if (index < 0) { - index = nativeMax(length + index, 0); - } - return baseFindIndex(array, baseIteratee(predicate, 3), index); - } - - /** - * Flattens `array` a single level deep. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to flatten. - * @returns {Array} Returns the new flattened array. - * @example - * - * _.flatten([1, [2, [3, [4]], 5]]); - * // => [1, 2, [3, [4]], 5] - */ - function flatten(array) { - var length = array == null ? 0 : array.length; - return length ? baseFlatten(array, 1) : []; - } - - /** - * Recursively flattens `array`. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to flatten. - * @returns {Array} Returns the new flattened array. - * @example - * - * _.flattenDeep([1, [2, [3, [4]], 5]]); - * // => [1, 2, 3, 4, 5] - */ - function flattenDeep(array) { - var length = array == null ? 0 : array.length; - return length ? baseFlatten(array, INFINITY) : []; - } - - /** - * Gets the first element of `array`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @alias first - * @category Array - * @param {Array} array The array to query. - * @returns {*} Returns the first element of `array`. - * @example - * - * _.head([1, 2, 3]); - * // => 1 - * - * _.head([]); - * // => undefined - */ - function head(array) { - return (array && array.length) ? array[0] : undefined; - } - - /** - * Gets the index at which the first occurrence of `value` is found in `array` - * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. If `fromIndex` is negative, it's used as the - * offset from the end of `array`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @param {number} [fromIndex=0] The index to search from. - * @returns {number} Returns the index of the matched value, else `-1`. - * @example - * - * _.indexOf([1, 2, 1, 2], 2); - * // => 1 - * - * // Search from the `fromIndex`. - * _.indexOf([1, 2, 1, 2], 2, 2); - * // => 3 - */ - function indexOf(array, value, fromIndex) { - var length = array == null ? 0 : array.length; - if (typeof fromIndex == 'number') { - fromIndex = fromIndex < 0 ? nativeMax(length + fromIndex, 0) : fromIndex; - } else { - fromIndex = 0; - } - var index = (fromIndex || 0) - 1, - isReflexive = value === value; - - while (++index < length) { - var other = array[index]; - if ((isReflexive ? other === value : other !== other)) { - return index; - } - } - return -1; - } - - /** - * Gets the last element of `array`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to query. - * @returns {*} Returns the last element of `array`. - * @example - * - * _.last([1, 2, 3]); - * // => 3 - */ - function last(array) { - var length = array == null ? 0 : array.length; - return length ? array[length - 1] : undefined; - } - - /** - * Creates a slice of `array` from `start` up to, but not including, `end`. - * - * **Note:** This method is used instead of - * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are - * returned. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to slice. - * @param {number} [start=0] The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns the slice of `array`. - */ - function slice(array, start, end) { - var length = array == null ? 0 : array.length; - start = start == null ? 0 : +start; - end = end === undefined ? length : +end; - return length ? baseSlice(array, start, end) : []; - } - - /*------------------------------------------------------------------------*/ - - /** - * Creates a `lodash` wrapper instance that wraps `value` with explicit method - * chain sequences enabled. The result of such sequences must be unwrapped - * with `_#value`. - * - * @static - * @memberOf _ - * @since 1.3.0 - * @category Seq - * @param {*} value The value to wrap. - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36 }, - * { 'user': 'fred', 'age': 40 }, - * { 'user': 'pebbles', 'age': 1 } - * ]; - * - * var youngest = _ - * .chain(users) - * .sortBy('age') - * .map(function(o) { - * return o.user + ' is ' + o.age; - * }) - * .head() - * .value(); - * // => 'pebbles is 1' - */ - function chain(value) { - var result = lodash(value); - result.__chain__ = true; - return result; - } - - /** - * This method invokes `interceptor` and returns `value`. The interceptor - * is invoked with one argument; (value). The purpose of this method is to - * "tap into" a method chain sequence in order to modify intermediate results. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Seq - * @param {*} value The value to provide to `interceptor`. - * @param {Function} interceptor The function to invoke. - * @returns {*} Returns `value`. - * @example - * - * _([1, 2, 3]) - * .tap(function(array) { - * // Mutate input array. - * array.pop(); - * }) - * .reverse() - * .value(); - * // => [2, 1] - */ - function tap(value, interceptor) { - interceptor(value); - return value; - } - - /** - * This method is like `_.tap` except that it returns the result of `interceptor`. - * The purpose of this method is to "pass thru" values replacing intermediate - * results in a method chain sequence. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Seq - * @param {*} value The value to provide to `interceptor`. - * @param {Function} interceptor The function to invoke. - * @returns {*} Returns the result of `interceptor`. - * @example - * - * _(' abc ') - * .chain() - * .trim() - * .thru(function(value) { - * return [value]; - * }) - * .value(); - * // => ['abc'] - */ - function thru(value, interceptor) { - return interceptor(value); - } - - /** - * Creates a `lodash` wrapper instance with explicit method chain sequences enabled. - * - * @name chain - * @memberOf _ - * @since 0.1.0 - * @category Seq - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36 }, - * { 'user': 'fred', 'age': 40 } - * ]; - * - * // A sequence without explicit chaining. - * _(users).head(); - * // => { 'user': 'barney', 'age': 36 } - * - * // A sequence with explicit chaining. - * _(users) - * .chain() - * .head() - * .pick('user') - * .value(); - * // => { 'user': 'barney' } - */ - function wrapperChain() { - return chain(this); - } - - /** - * Executes the chain sequence to resolve the unwrapped value. - * - * @name value - * @memberOf _ - * @since 0.1.0 - * @alias toJSON, valueOf - * @category Seq - * @returns {*} Returns the resolved unwrapped value. - * @example - * - * _([1, 2, 3]).value(); - * // => [1, 2, 3] - */ - function wrapperValue() { - return baseWrapperValue(this.__wrapped__, this.__actions__); - } - - /*------------------------------------------------------------------------*/ - - /** - * Checks if `predicate` returns truthy for **all** elements of `collection`. - * Iteration is stopped once `predicate` returns falsey. The predicate is - * invoked with three arguments: (value, index|key, collection). - * - * **Note:** This method returns `true` for - * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because - * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of - * elements of empty collections. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {boolean} Returns `true` if all elements pass the predicate check, - * else `false`. - * @example - * - * _.every([true, 1, null, 'yes'], Boolean); - * // => false - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': false }, - * { 'user': 'fred', 'age': 40, 'active': false } - * ]; - * - * // The `_.matches` iteratee shorthand. - * _.every(users, { 'user': 'barney', 'active': false }); - * // => false - * - * // The `_.matchesProperty` iteratee shorthand. - * _.every(users, ['active', false]); - * // => true - * - * // The `_.property` iteratee shorthand. - * _.every(users, 'active'); - * // => false - */ - function every(collection, predicate, guard) { - predicate = guard ? undefined : predicate; - return baseEvery(collection, baseIteratee(predicate)); - } - - /** - * Iterates over elements of `collection`, returning an array of all elements - * `predicate` returns truthy for. The predicate is invoked with three - * arguments: (value, index|key, collection). - * - * **Note:** Unlike `_.remove`, this method returns a new array. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {Array} Returns the new filtered array. - * @see _.reject - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': true }, - * { 'user': 'fred', 'age': 40, 'active': false } - * ]; - * - * _.filter(users, function(o) { return !o.active; }); - * // => objects for ['fred'] - * - * // The `_.matches` iteratee shorthand. - * _.filter(users, { 'age': 36, 'active': true }); - * // => objects for ['barney'] - * - * // The `_.matchesProperty` iteratee shorthand. - * _.filter(users, ['active', false]); - * // => objects for ['fred'] - * - * // The `_.property` iteratee shorthand. - * _.filter(users, 'active'); - * // => objects for ['barney'] - * - * // Combining several predicates using `_.overEvery` or `_.overSome`. - * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]])); - * // => objects for ['fred', 'barney'] - */ - function filter(collection, predicate) { - return baseFilter(collection, baseIteratee(predicate)); - } - - /** - * Iterates over elements of `collection`, returning the first element - * `predicate` returns truthy for. The predicate is invoked with three - * arguments: (value, index|key, collection). - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to inspect. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @param {number} [fromIndex=0] The index to search from. - * @returns {*} Returns the matched element, else `undefined`. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': true }, - * { 'user': 'fred', 'age': 40, 'active': false }, - * { 'user': 'pebbles', 'age': 1, 'active': true } - * ]; - * - * _.find(users, function(o) { return o.age < 40; }); - * // => object for 'barney' - * - * // The `_.matches` iteratee shorthand. - * _.find(users, { 'age': 1, 'active': true }); - * // => object for 'pebbles' - * - * // The `_.matchesProperty` iteratee shorthand. - * _.find(users, ['active', false]); - * // => object for 'fred' - * - * // The `_.property` iteratee shorthand. - * _.find(users, 'active'); - * // => object for 'barney' - */ - var find = createFind(findIndex); - - /** - * Iterates over elements of `collection` and invokes `iteratee` for each element. - * The iteratee is invoked with three arguments: (value, index|key, collection). - * Iteratee functions may exit iteration early by explicitly returning `false`. - * - * **Note:** As with other "Collections" methods, objects with a "length" - * property are iterated like arrays. To avoid this behavior use `_.forIn` - * or `_.forOwn` for object iteration. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @alias each - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Array|Object} Returns `collection`. - * @see _.forEachRight - * @example - * - * _.forEach([1, 2], function(value) { - * console.log(value); - * }); - * // => Logs `1` then `2`. - * - * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) { - * console.log(key); - * }); - * // => Logs 'a' then 'b' (iteration order is not guaranteed). - */ - function forEach(collection, iteratee) { - return baseEach(collection, baseIteratee(iteratee)); - } - - /** - * Creates an array of values by running each element in `collection` thru - * `iteratee`. The iteratee is invoked with three arguments: - * (value, index|key, collection). - * - * Many lodash methods are guarded to work as iteratees for methods like - * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`. - * - * The guarded methods are: - * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`, - * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`, - * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`, - * `template`, `trim`, `trimEnd`, `trimStart`, and `words` - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Array} Returns the new mapped array. - * @example - * - * function square(n) { - * return n * n; - * } - * - * _.map([4, 8], square); - * // => [16, 64] - * - * _.map({ 'a': 4, 'b': 8 }, square); - * // => [16, 64] (iteration order is not guaranteed) - * - * var users = [ - * { 'user': 'barney' }, - * { 'user': 'fred' } - * ]; - * - * // The `_.property` iteratee shorthand. - * _.map(users, 'user'); - * // => ['barney', 'fred'] - */ - function map(collection, iteratee) { - return baseMap(collection, baseIteratee(iteratee)); - } - - /** - * Reduces `collection` to a value which is the accumulated result of running - * each element in `collection` thru `iteratee`, where each successive - * invocation is supplied the return value of the previous. If `accumulator` - * is not given, the first element of `collection` is used as the initial - * value. The iteratee is invoked with four arguments: - * (accumulator, value, index|key, collection). - * - * Many lodash methods are guarded to work as iteratees for methods like - * `_.reduce`, `_.reduceRight`, and `_.transform`. - * - * The guarded methods are: - * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`, - * and `sortBy` - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @param {*} [accumulator] The initial value. - * @returns {*} Returns the accumulated value. - * @see _.reduceRight - * @example - * - * _.reduce([1, 2], function(sum, n) { - * return sum + n; - * }, 0); - * // => 3 - * - * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) { - * (result[value] || (result[value] = [])).push(key); - * return result; - * }, {}); - * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed) - */ - function reduce(collection, iteratee, accumulator) { - return baseReduce(collection, baseIteratee(iteratee), accumulator, arguments.length < 3, baseEach); - } - - /** - * Gets the size of `collection` by returning its length for array-like - * values or the number of own enumerable string keyed properties for objects. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object|string} collection The collection to inspect. - * @returns {number} Returns the collection size. - * @example - * - * _.size([1, 2, 3]); - * // => 3 - * - * _.size({ 'a': 1, 'b': 2 }); - * // => 2 - * - * _.size('pebbles'); - * // => 7 - */ - function size(collection) { - if (collection == null) { - return 0; - } - collection = isArrayLike(collection) ? collection : nativeKeys(collection); - return collection.length; - } - - /** - * Checks if `predicate` returns truthy for **any** element of `collection`. - * Iteration is stopped once `predicate` returns truthy. The predicate is - * invoked with three arguments: (value, index|key, collection). - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {boolean} Returns `true` if any element passes the predicate check, - * else `false`. - * @example - * - * _.some([null, 0, 'yes', false], Boolean); - * // => true - * - * var users = [ - * { 'user': 'barney', 'active': true }, - * { 'user': 'fred', 'active': false } - * ]; - * - * // The `_.matches` iteratee shorthand. - * _.some(users, { 'user': 'barney', 'active': false }); - * // => false - * - * // The `_.matchesProperty` iteratee shorthand. - * _.some(users, ['active', false]); - * // => true - * - * // The `_.property` iteratee shorthand. - * _.some(users, 'active'); - * // => true - */ - function some(collection, predicate, guard) { - predicate = guard ? undefined : predicate; - return baseSome(collection, baseIteratee(predicate)); - } - - /** - * Creates an array of elements, sorted in ascending order by the results of - * running each element in a collection thru each iteratee. This method - * performs a stable sort, that is, it preserves the original sort order of - * equal elements. The iteratees are invoked with one argument: (value). - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {...(Function|Function[])} [iteratees=[_.identity]] - * The iteratees to sort by. - * @returns {Array} Returns the new sorted array. - * @example - * - * var users = [ - * { 'user': 'fred', 'age': 48 }, - * { 'user': 'barney', 'age': 36 }, - * { 'user': 'fred', 'age': 30 }, - * { 'user': 'barney', 'age': 34 } - * ]; - * - * _.sortBy(users, [function(o) { return o.user; }]); - * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]] - * - * _.sortBy(users, ['user', 'age']); - * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]] - */ - function sortBy(collection, iteratee) { - var index = 0; - iteratee = baseIteratee(iteratee); - - return baseMap(baseMap(collection, function(value, key, collection) { - return { 'value': value, 'index': index++, 'criteria': iteratee(value, key, collection) }; - }).sort(function(object, other) { - return compareAscending(object.criteria, other.criteria) || (object.index - other.index); - }), baseProperty('value')); - } - - /*------------------------------------------------------------------------*/ - - /** - * Creates a function that invokes `func`, with the `this` binding and arguments - * of the created function, while it's called less than `n` times. Subsequent - * calls to the created function return the result of the last `func` invocation. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Function - * @param {number} n The number of calls at which `func` is no longer invoked. - * @param {Function} func The function to restrict. - * @returns {Function} Returns the new restricted function. - * @example - * - * jQuery(element).on('click', _.before(5, addContactToList)); - * // => Allows adding up to 4 contacts to the list. - */ - function before(n, func) { - var result; - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - n = toInteger(n); - return function() { - if (--n > 0) { - result = func.apply(this, arguments); - } - if (n <= 1) { - func = undefined; - } - return result; - }; - } - - /** - * Creates a function that invokes `func` with the `this` binding of `thisArg` - * and `partials` prepended to the arguments it receives. - * - * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds, - * may be used as a placeholder for partially applied arguments. - * - * **Note:** Unlike native `Function#bind`, this method doesn't set the "length" - * property of bound functions. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to bind. - * @param {*} thisArg The `this` binding of `func`. - * @param {...*} [partials] The arguments to be partially applied. - * @returns {Function} Returns the new bound function. - * @example - * - * function greet(greeting, punctuation) { - * return greeting + ' ' + this.user + punctuation; - * } - * - * var object = { 'user': 'fred' }; - * - * var bound = _.bind(greet, object, 'hi'); - * bound('!'); - * // => 'hi fred!' - * - * // Bound with placeholders. - * var bound = _.bind(greet, object, _, '!'); - * bound('hi'); - * // => 'hi fred!' - */ - var bind = baseRest(function(func, thisArg, partials) { - return createPartial(func, WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG, thisArg, partials); - }); - - /** - * Defers invoking the `func` until the current call stack has cleared. Any - * additional arguments are provided to `func` when it's invoked. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to defer. - * @param {...*} [args] The arguments to invoke `func` with. - * @returns {number} Returns the timer id. - * @example - * - * _.defer(function(text) { - * console.log(text); - * }, 'deferred'); - * // => Logs 'deferred' after one millisecond. - */ - var defer = baseRest(function(func, args) { - return baseDelay(func, 1, args); - }); - - /** - * Invokes `func` after `wait` milliseconds. Any additional arguments are - * provided to `func` when it's invoked. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to delay. - * @param {number} wait The number of milliseconds to delay invocation. - * @param {...*} [args] The arguments to invoke `func` with. - * @returns {number} Returns the timer id. - * @example - * - * _.delay(function(text) { - * console.log(text); - * }, 1000, 'later'); - * // => Logs 'later' after one second. - */ - var delay = baseRest(function(func, wait, args) { - return baseDelay(func, toNumber(wait) || 0, args); - }); - - /** - * Creates a function that negates the result of the predicate `func`. The - * `func` predicate is invoked with the `this` binding and arguments of the - * created function. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Function - * @param {Function} predicate The predicate to negate. - * @returns {Function} Returns the new negated function. - * @example - * - * function isEven(n) { - * return n % 2 == 0; - * } - * - * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven)); - * // => [1, 3, 5] - */ - function negate(predicate) { - if (typeof predicate != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - return function() { - var args = arguments; - return !predicate.apply(this, args); - }; - } - - /** - * Creates a function that is restricted to invoking `func` once. Repeat calls - * to the function return the value of the first invocation. The `func` is - * invoked with the `this` binding and arguments of the created function. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to restrict. - * @returns {Function} Returns the new restricted function. - * @example - * - * var initialize = _.once(createApplication); - * initialize(); - * initialize(); - * // => `createApplication` is invoked once - */ - function once(func) { - return before(2, func); - } - - /*------------------------------------------------------------------------*/ - - /** - * Creates a shallow clone of `value`. - * - * **Note:** This method is loosely based on the - * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm) - * and supports cloning arrays, array buffers, booleans, date objects, maps, - * numbers, `Object` objects, regexes, sets, strings, symbols, and typed - * arrays. The own enumerable properties of `arguments` objects are cloned - * as plain objects. An empty object is returned for uncloneable values such - * as error objects, functions, DOM nodes, and WeakMaps. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to clone. - * @returns {*} Returns the cloned value. - * @see _.cloneDeep - * @example - * - * var objects = [{ 'a': 1 }, { 'b': 2 }]; - * - * var shallow = _.clone(objects); - * console.log(shallow[0] === objects[0]); - * // => true - */ - function clone(value) { - if (!isObject(value)) { - return value; - } - return isArray(value) ? copyArray(value) : copyObject(value, nativeKeys(value)); - } - - /** - * Performs a - * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * comparison between two values to determine if they are equivalent. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if the values are equivalent, else `false`. - * @example - * - * var object = { 'a': 1 }; - * var other = { 'a': 1 }; - * - * _.eq(object, object); - * // => true - * - * _.eq(object, other); - * // => false - * - * _.eq('a', 'a'); - * // => true - * - * _.eq('a', Object('a')); - * // => false - * - * _.eq(NaN, NaN); - * // => true - */ - function eq(value, other) { - return value === other || (value !== value && other !== other); - } - - /** - * Checks if `value` is likely an `arguments` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an `arguments` object, - * else `false`. - * @example - * - * _.isArguments(function() { return arguments; }()); - * // => true - * - * _.isArguments([1, 2, 3]); - * // => false - */ - var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) { - return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && - !propertyIsEnumerable.call(value, 'callee'); - }; - - /** - * Checks if `value` is classified as an `Array` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an array, else `false`. - * @example - * - * _.isArray([1, 2, 3]); - * // => true - * - * _.isArray(document.body.children); - * // => false - * - * _.isArray('abc'); - * // => false - * - * _.isArray(_.noop); - * // => false - */ - var isArray = Array.isArray; - - /** - * Checks if `value` is array-like. A value is considered array-like if it's - * not a function and has a `value.length` that's an integer greater than or - * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is array-like, else `false`. - * @example - * - * _.isArrayLike([1, 2, 3]); - * // => true - * - * _.isArrayLike(document.body.children); - * // => true - * - * _.isArrayLike('abc'); - * // => true - * - * _.isArrayLike(_.noop); - * // => false - */ - function isArrayLike(value) { - return value != null && isLength(value.length) && !isFunction(value); - } - - /** - * Checks if `value` is classified as a boolean primitive or object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a boolean, else `false`. - * @example - * - * _.isBoolean(false); - * // => true - * - * _.isBoolean(null); - * // => false - */ - function isBoolean(value) { - return value === true || value === false || - (isObjectLike(value) && baseGetTag(value) == boolTag); - } - - /** - * Checks if `value` is classified as a `Date` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a date object, else `false`. - * @example - * - * _.isDate(new Date); - * // => true - * - * _.isDate('Mon April 23 2012'); - * // => false - */ - var isDate = baseIsDate; - - /** - * Checks if `value` is an empty object, collection, map, or set. - * - * Objects are considered empty if they have no own enumerable string keyed - * properties. - * - * Array-like values such as `arguments` objects, arrays, buffers, strings, or - * jQuery-like collections are considered empty if they have a `length` of `0`. - * Similarly, maps and sets are considered empty if they have a `size` of `0`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is empty, else `false`. - * @example - * - * _.isEmpty(null); - * // => true - * - * _.isEmpty(true); - * // => true - * - * _.isEmpty(1); - * // => true - * - * _.isEmpty([1, 2, 3]); - * // => false - * - * _.isEmpty({ 'a': 1 }); - * // => false - */ - function isEmpty(value) { - if (isArrayLike(value) && - (isArray(value) || isString(value) || - isFunction(value.splice) || isArguments(value))) { - return !value.length; - } - return !nativeKeys(value).length; - } - - /** - * Performs a deep comparison between two values to determine if they are - * equivalent. - * - * **Note:** This method supports comparing arrays, array buffers, booleans, - * date objects, error objects, maps, numbers, `Object` objects, regexes, - * sets, strings, symbols, and typed arrays. `Object` objects are compared - * by their own, not inherited, enumerable properties. Functions and DOM - * nodes are compared by strict equality, i.e. `===`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if the values are equivalent, else `false`. - * @example - * - * var object = { 'a': 1 }; - * var other = { 'a': 1 }; - * - * _.isEqual(object, other); - * // => true - * - * object === other; - * // => false - */ - function isEqual(value, other) { - return baseIsEqual(value, other); - } - - /** - * Checks if `value` is a finite primitive number. - * - * **Note:** This method is based on - * [`Number.isFinite`](https://mdn.io/Number/isFinite). - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a finite number, else `false`. - * @example - * - * _.isFinite(3); - * // => true - * - * _.isFinite(Number.MIN_VALUE); - * // => true - * - * _.isFinite(Infinity); - * // => false - * - * _.isFinite('3'); - * // => false - */ - function isFinite(value) { - return typeof value == 'number' && nativeIsFinite(value); - } - - /** - * Checks if `value` is classified as a `Function` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a function, else `false`. - * @example - * - * _.isFunction(_); - * // => true - * - * _.isFunction(/abc/); - * // => false - */ - function isFunction(value) { - if (!isObject(value)) { - return false; - } - // The use of `Object#toString` avoids issues with the `typeof` operator - // in Safari 9 which returns 'object' for typed arrays and other constructors. - var tag = baseGetTag(value); - return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; - } - - /** - * Checks if `value` is a valid array-like length. - * - * **Note:** This method is loosely based on - * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. - * @example - * - * _.isLength(3); - * // => true - * - * _.isLength(Number.MIN_VALUE); - * // => false - * - * _.isLength(Infinity); - * // => false - * - * _.isLength('3'); - * // => false - */ - function isLength(value) { - return typeof value == 'number' && - value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; - } - - /** - * Checks if `value` is the - * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) - * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an object, else `false`. - * @example - * - * _.isObject({}); - * // => true - * - * _.isObject([1, 2, 3]); - * // => true - * - * _.isObject(_.noop); - * // => true - * - * _.isObject(null); - * // => false - */ - function isObject(value) { - var type = typeof value; - return value != null && (type == 'object' || type == 'function'); - } - - /** - * Checks if `value` is object-like. A value is object-like if it's not `null` - * and has a `typeof` result of "object". - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is object-like, else `false`. - * @example - * - * _.isObjectLike({}); - * // => true - * - * _.isObjectLike([1, 2, 3]); - * // => true - * - * _.isObjectLike(_.noop); - * // => false - * - * _.isObjectLike(null); - * // => false - */ - function isObjectLike(value) { - return value != null && typeof value == 'object'; - } - - /** - * Checks if `value` is `NaN`. - * - * **Note:** This method is based on - * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as - * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for - * `undefined` and other non-number values. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. - * @example - * - * _.isNaN(NaN); - * // => true - * - * _.isNaN(new Number(NaN)); - * // => true - * - * isNaN(undefined); - * // => true - * - * _.isNaN(undefined); - * // => false - */ - function isNaN(value) { - // An `NaN` primitive is the only value that is not equal to itself. - // Perform the `toStringTag` check first to avoid errors with some - // ActiveX objects in IE. - return isNumber(value) && value != +value; - } - - /** - * Checks if `value` is `null`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is `null`, else `false`. - * @example - * - * _.isNull(null); - * // => true - * - * _.isNull(void 0); - * // => false - */ - function isNull(value) { - return value === null; - } - - /** - * Checks if `value` is classified as a `Number` primitive or object. - * - * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are - * classified as numbers, use the `_.isFinite` method. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a number, else `false`. - * @example - * - * _.isNumber(3); - * // => true - * - * _.isNumber(Number.MIN_VALUE); - * // => true - * - * _.isNumber(Infinity); - * // => true - * - * _.isNumber('3'); - * // => false - */ - function isNumber(value) { - return typeof value == 'number' || - (isObjectLike(value) && baseGetTag(value) == numberTag); - } - - /** - * Checks if `value` is classified as a `RegExp` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a regexp, else `false`. - * @example - * - * _.isRegExp(/abc/); - * // => true - * - * _.isRegExp('/abc/'); - * // => false - */ - var isRegExp = baseIsRegExp; - - /** - * Checks if `value` is classified as a `String` primitive or object. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a string, else `false`. - * @example - * - * _.isString('abc'); - * // => true - * - * _.isString(1); - * // => false - */ - function isString(value) { - return typeof value == 'string' || - (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag); - } - - /** - * Checks if `value` is `undefined`. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`. - * @example - * - * _.isUndefined(void 0); - * // => true - * - * _.isUndefined(null); - * // => false - */ - function isUndefined(value) { - return value === undefined; - } - - /** - * Converts `value` to an array. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Lang - * @param {*} value The value to convert. - * @returns {Array} Returns the converted array. - * @example - * - * _.toArray({ 'a': 1, 'b': 2 }); - * // => [1, 2] - * - * _.toArray('abc'); - * // => ['a', 'b', 'c'] - * - * _.toArray(1); - * // => [] - * - * _.toArray(null); - * // => [] - */ - function toArray(value) { - if (!isArrayLike(value)) { - return values(value); - } - return value.length ? copyArray(value) : []; - } - - /** - * Converts `value` to an integer. - * - * **Note:** This method is loosely based on - * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to convert. - * @returns {number} Returns the converted integer. - * @example - * - * _.toInteger(3.2); - * // => 3 - * - * _.toInteger(Number.MIN_VALUE); - * // => 0 - * - * _.toInteger(Infinity); - * // => 1.7976931348623157e+308 - * - * _.toInteger('3.2'); - * // => 3 - */ - var toInteger = Number; - - /** - * Converts `value` to a number. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to process. - * @returns {number} Returns the number. - * @example - * - * _.toNumber(3.2); - * // => 3.2 - * - * _.toNumber(Number.MIN_VALUE); - * // => 5e-324 - * - * _.toNumber(Infinity); - * // => Infinity - * - * _.toNumber('3.2'); - * // => 3.2 - */ - var toNumber = Number; - - /** - * Converts `value` to a string. An empty string is returned for `null` - * and `undefined` values. The sign of `-0` is preserved. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to convert. - * @returns {string} Returns the converted string. - * @example - * - * _.toString(null); - * // => '' - * - * _.toString(-0); - * // => '-0' - * - * _.toString([1, 2, 3]); - * // => '1,2,3' - */ - function toString(value) { - if (typeof value == 'string') { - return value; - } - return value == null ? '' : (value + ''); - } - - /*------------------------------------------------------------------------*/ - - /** - * Assigns own enumerable string keyed properties of source objects to the - * destination object. Source objects are applied from left to right. - * Subsequent sources overwrite property assignments of previous sources. - * - * **Note:** This method mutates `object` and is loosely based on - * [`Object.assign`](https://mdn.io/Object/assign). - * - * @static - * @memberOf _ - * @since 0.10.0 - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @returns {Object} Returns `object`. - * @see _.assignIn - * @example - * - * function Foo() { - * this.a = 1; - * } - * - * function Bar() { - * this.c = 3; - * } - * - * Foo.prototype.b = 2; - * Bar.prototype.d = 4; - * - * _.assign({ 'a': 0 }, new Foo, new Bar); - * // => { 'a': 1, 'c': 3 } - */ - var assign = createAssigner(function(object, source) { - copyObject(source, nativeKeys(source), object); - }); - - /** - * This method is like `_.assign` except that it iterates over own and - * inherited source properties. - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @alias extend - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @returns {Object} Returns `object`. - * @see _.assign - * @example - * - * function Foo() { - * this.a = 1; - * } - * - * function Bar() { - * this.c = 3; - * } - * - * Foo.prototype.b = 2; - * Bar.prototype.d = 4; - * - * _.assignIn({ 'a': 0 }, new Foo, new Bar); - * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 } - */ - var assignIn = createAssigner(function(object, source) { - copyObject(source, nativeKeysIn(source), object); - }); - - /** - * Creates an object that inherits from the `prototype` object. If a - * `properties` object is given, its own enumerable string keyed properties - * are assigned to the created object. - * - * @static - * @memberOf _ - * @since 2.3.0 - * @category Object - * @param {Object} prototype The object to inherit from. - * @param {Object} [properties] The properties to assign to the object. - * @returns {Object} Returns the new object. - * @example - * - * function Shape() { - * this.x = 0; - * this.y = 0; - * } - * - * function Circle() { - * Shape.call(this); - * } - * - * Circle.prototype = _.create(Shape.prototype, { - * 'constructor': Circle - * }); - * - * var circle = new Circle; - * circle instanceof Circle; - * // => true - * - * circle instanceof Shape; - * // => true - */ - function create(prototype, properties) { - var result = baseCreate(prototype); - return properties == null ? result : assign(result, properties); - } - - /** - * Assigns own and inherited enumerable string keyed properties of source - * objects to the destination object for all destination properties that - * resolve to `undefined`. Source objects are applied from left to right. - * Once a property is set, additional values of the same property are ignored. - * - * **Note:** This method mutates `object`. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @returns {Object} Returns `object`. - * @see _.defaultsDeep - * @example - * - * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); - * // => { 'a': 1, 'b': 2 } - */ - var defaults = baseRest(function(object, sources) { - object = Object(object); - - var index = -1; - var length = sources.length; - var guard = length > 2 ? sources[2] : undefined; - - if (guard && isIterateeCall(sources[0], sources[1], guard)) { - length = 1; - } - - while (++index < length) { - var source = sources[index]; - var props = keysIn(source); - var propsIndex = -1; - var propsLength = props.length; - - while (++propsIndex < propsLength) { - var key = props[propsIndex]; - var value = object[key]; - - if (value === undefined || - (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) { - object[key] = source[key]; - } - } - } - - return object; - }); - - /** - * Checks if `path` is a direct property of `object`. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @param {Array|string} path The path to check. - * @returns {boolean} Returns `true` if `path` exists, else `false`. - * @example - * - * var object = { 'a': { 'b': 2 } }; - * var other = _.create({ 'a': _.create({ 'b': 2 }) }); - * - * _.has(object, 'a'); - * // => true - * - * _.has(object, 'a.b'); - * // => true - * - * _.has(object, ['a', 'b']); - * // => true - * - * _.has(other, 'a'); - * // => false - */ - function has(object, path) { - return object != null && hasOwnProperty.call(object, path); - } - - /** - * Creates an array of the own enumerable property names of `object`. - * - * **Note:** Non-object values are coerced to objects. See the - * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) - * for more details. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.keys(new Foo); - * // => ['a', 'b'] (iteration order is not guaranteed) - * - * _.keys('hi'); - * // => ['0', '1'] - */ - var keys = nativeKeys; - - /** - * Creates an array of the own and inherited enumerable property names of `object`. - * - * **Note:** Non-object values are coerced to objects. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.keysIn(new Foo); - * // => ['a', 'b', 'c'] (iteration order is not guaranteed) - */ - var keysIn = nativeKeysIn; - - /** - * Creates an object composed of the picked `object` properties. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The source object. - * @param {...(string|string[])} [paths] The property paths to pick. - * @returns {Object} Returns the new object. - * @example - * - * var object = { 'a': 1, 'b': '2', 'c': 3 }; - * - * _.pick(object, ['a', 'c']); - * // => { 'a': 1, 'c': 3 } - */ - var pick = flatRest(function(object, paths) { - return object == null ? {} : basePick(object, paths); - }); - - /** - * This method is like `_.get` except that if the resolved value is a - * function it's invoked with the `this` binding of its parent object and - * its result is returned. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @param {Array|string} path The path of the property to resolve. - * @param {*} [defaultValue] The value returned for `undefined` resolved values. - * @returns {*} Returns the resolved value. - * @example - * - * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] }; - * - * _.result(object, 'a[0].b.c1'); - * // => 3 - * - * _.result(object, 'a[0].b.c2'); - * // => 4 - * - * _.result(object, 'a[0].b.c3', 'default'); - * // => 'default' - * - * _.result(object, 'a[0].b.c3', _.constant('default')); - * // => 'default' - */ - function result(object, path, defaultValue) { - var value = object == null ? undefined : object[path]; - if (value === undefined) { - value = defaultValue; - } - return isFunction(value) ? value.call(object) : value; - } - - /** - * Creates an array of the own enumerable string keyed property values of `object`. - * - * **Note:** Non-object values are coerced to objects. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property values. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.values(new Foo); - * // => [1, 2] (iteration order is not guaranteed) - * - * _.values('hi'); - * // => ['h', 'i'] - */ - function values(object) { - return object == null ? [] : baseValues(object, keys(object)); - } - - /*------------------------------------------------------------------------*/ - - /** - * Converts the characters "&", "<", ">", '"', and "'" in `string` to their - * corresponding HTML entities. - * - * **Note:** No other characters are escaped. To escape additional - * characters use a third-party library like [_he_](https://mths.be/he). - * - * Though the ">" character is escaped for symmetry, characters like - * ">" and "/" don't need escaping in HTML and have no special meaning - * unless they're part of a tag or unquoted attribute value. See - * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands) - * (under "semi-related fun fact") for more details. - * - * When working with HTML you should always - * [quote attribute values](http://wonko.com/post/html-escaping) to reduce - * XSS vectors. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category String - * @param {string} [string=''] The string to escape. - * @returns {string} Returns the escaped string. - * @example - * - * _.escape('fred, barney, & pebbles'); - * // => 'fred, barney, & pebbles' - */ - function escape(string) { - string = toString(string); - return (string && reHasUnescapedHtml.test(string)) - ? string.replace(reUnescapedHtml, escapeHtmlChar) - : string; - } - - /*------------------------------------------------------------------------*/ - - /** - * This method returns the first argument it receives. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Util - * @param {*} value Any value. - * @returns {*} Returns `value`. - * @example - * - * var object = { 'a': 1 }; - * - * console.log(_.identity(object) === object); - * // => true - */ - function identity(value) { - return value; - } - - /** - * Creates a function that invokes `func` with the arguments of the created - * function. If `func` is a property name, the created function returns the - * property value for a given element. If `func` is an array or object, the - * created function returns `true` for elements that contain the equivalent - * source properties, otherwise it returns `false`. - * - * @static - * @since 4.0.0 - * @memberOf _ - * @category Util - * @param {*} [func=_.identity] The value to convert to a callback. - * @returns {Function} Returns the callback. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': true }, - * { 'user': 'fred', 'age': 40, 'active': false } - * ]; - * - * // The `_.matches` iteratee shorthand. - * _.filter(users, _.iteratee({ 'user': 'barney', 'active': true })); - * // => [{ 'user': 'barney', 'age': 36, 'active': true }] - * - * // The `_.matchesProperty` iteratee shorthand. - * _.filter(users, _.iteratee(['user', 'fred'])); - * // => [{ 'user': 'fred', 'age': 40 }] - * - * // The `_.property` iteratee shorthand. - * _.map(users, _.iteratee('user')); - * // => ['barney', 'fred'] - * - * // Create custom iteratee shorthands. - * _.iteratee = _.wrap(_.iteratee, function(iteratee, func) { - * return !_.isRegExp(func) ? iteratee(func) : function(string) { - * return func.test(string); - * }; - * }); - * - * _.filter(['abc', 'def'], /ef/); - * // => ['def'] - */ - var iteratee = baseIteratee; - - /** - * Creates a function that performs a partial deep comparison between a given - * object and `source`, returning `true` if the given object has equivalent - * property values, else `false`. - * - * **Note:** The created function is equivalent to `_.isMatch` with `source` - * partially applied. - * - * Partial comparisons will match empty array and empty object `source` - * values against any array or object value, respectively. See `_.isEqual` - * for a list of supported value comparisons. - * - * **Note:** Multiple values can be checked by combining several matchers - * using `_.overSome` - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Util - * @param {Object} source The object of property values to match. - * @returns {Function} Returns the new spec function. - * @example - * - * var objects = [ - * { 'a': 1, 'b': 2, 'c': 3 }, - * { 'a': 4, 'b': 5, 'c': 6 } - * ]; - * - * _.filter(objects, _.matches({ 'a': 4, 'c': 6 })); - * // => [{ 'a': 4, 'b': 5, 'c': 6 }] - * - * // Checking for several possible values - * _.filter(objects, _.overSome([_.matches({ 'a': 1 }), _.matches({ 'a': 4 })])); - * // => [{ 'a': 1, 'b': 2, 'c': 3 }, { 'a': 4, 'b': 5, 'c': 6 }] - */ - function matches(source) { - return baseMatches(assign({}, source)); - } - - /** - * Adds all own enumerable string keyed function properties of a source - * object to the destination object. If `object` is a function, then methods - * are added to its prototype as well. - * - * **Note:** Use `_.runInContext` to create a pristine `lodash` function to - * avoid conflicts caused by modifying the original. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Util - * @param {Function|Object} [object=lodash] The destination object. - * @param {Object} source The object of functions to add. - * @param {Object} [options={}] The options object. - * @param {boolean} [options.chain=true] Specify whether mixins are chainable. - * @returns {Function|Object} Returns `object`. - * @example - * - * function vowels(string) { - * return _.filter(string, function(v) { - * return /[aeiou]/i.test(v); - * }); - * } - * - * _.mixin({ 'vowels': vowels }); - * _.vowels('fred'); - * // => ['e'] - * - * _('fred').vowels().value(); - * // => ['e'] - * - * _.mixin({ 'vowels': vowels }, { 'chain': false }); - * _('fred').vowels(); - * // => ['e'] - */ - function mixin(object, source, options) { - var props = keys(source), - methodNames = baseFunctions(source, props); - - if (options == null && - !(isObject(source) && (methodNames.length || !props.length))) { - options = source; - source = object; - object = this; - methodNames = baseFunctions(source, keys(source)); - } - var chain = !(isObject(options) && 'chain' in options) || !!options.chain, - isFunc = isFunction(object); - - baseEach(methodNames, function(methodName) { - var func = source[methodName]; - object[methodName] = func; - if (isFunc) { - object.prototype[methodName] = function() { - var chainAll = this.__chain__; - if (chain || chainAll) { - var result = object(this.__wrapped__), - actions = result.__actions__ = copyArray(this.__actions__); - - actions.push({ 'func': func, 'args': arguments, 'thisArg': object }); - result.__chain__ = chainAll; - return result; - } - return func.apply(object, arrayPush([this.value()], arguments)); - }; - } - }); - - return object; - } - - /** - * Reverts the `_` variable to its previous value and returns a reference to - * the `lodash` function. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Util - * @returns {Function} Returns the `lodash` function. - * @example - * - * var lodash = _.noConflict(); - */ - function noConflict() { - if (root._ === this) { - root._ = oldDash; - } - return this; - } - - /** - * This method returns `undefined`. - * - * @static - * @memberOf _ - * @since 2.3.0 - * @category Util - * @example - * - * _.times(2, _.noop); - * // => [undefined, undefined] - */ - function noop() { - // No operation performed. - } - - /** - * Generates a unique ID. If `prefix` is given, the ID is appended to it. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Util - * @param {string} [prefix=''] The value to prefix the ID with. - * @returns {string} Returns the unique ID. - * @example - * - * _.uniqueId('contact_'); - * // => 'contact_104' - * - * _.uniqueId(); - * // => '105' - */ - function uniqueId(prefix) { - var id = ++idCounter; - return toString(prefix) + id; - } - - /*------------------------------------------------------------------------*/ - - /** - * Computes the maximum value of `array`. If `array` is empty or falsey, - * `undefined` is returned. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Math - * @param {Array} array The array to iterate over. - * @returns {*} Returns the maximum value. - * @example - * - * _.max([4, 2, 8, 6]); - * // => 8 - * - * _.max([]); - * // => undefined - */ - function max(array) { - return (array && array.length) - ? baseExtremum(array, identity, baseGt) - : undefined; - } - - /** - * Computes the minimum value of `array`. If `array` is empty or falsey, - * `undefined` is returned. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Math - * @param {Array} array The array to iterate over. - * @returns {*} Returns the minimum value. - * @example - * - * _.min([4, 2, 8, 6]); - * // => 2 - * - * _.min([]); - * // => undefined - */ - function min(array) { - return (array && array.length) - ? baseExtremum(array, identity, baseLt) - : undefined; - } - - /*------------------------------------------------------------------------*/ - - // Add methods that return wrapped values in chain sequences. - lodash.assignIn = assignIn; - lodash.before = before; - lodash.bind = bind; - lodash.chain = chain; - lodash.compact = compact; - lodash.concat = concat; - lodash.create = create; - lodash.defaults = defaults; - lodash.defer = defer; - lodash.delay = delay; - lodash.filter = filter; - lodash.flatten = flatten; - lodash.flattenDeep = flattenDeep; - lodash.iteratee = iteratee; - lodash.keys = keys; - lodash.map = map; - lodash.matches = matches; - lodash.mixin = mixin; - lodash.negate = negate; - lodash.once = once; - lodash.pick = pick; - lodash.slice = slice; - lodash.sortBy = sortBy; - lodash.tap = tap; - lodash.thru = thru; - lodash.toArray = toArray; - lodash.values = values; - - // Add aliases. - lodash.extend = assignIn; - - // Add methods to `lodash.prototype`. - mixin(lodash, lodash); - - /*------------------------------------------------------------------------*/ - - // Add methods that return unwrapped values in chain sequences. - lodash.clone = clone; - lodash.escape = escape; - lodash.every = every; - lodash.find = find; - lodash.forEach = forEach; - lodash.has = has; - lodash.head = head; - lodash.identity = identity; - lodash.indexOf = indexOf; - lodash.isArguments = isArguments; - lodash.isArray = isArray; - lodash.isBoolean = isBoolean; - lodash.isDate = isDate; - lodash.isEmpty = isEmpty; - lodash.isEqual = isEqual; - lodash.isFinite = isFinite; - lodash.isFunction = isFunction; - lodash.isNaN = isNaN; - lodash.isNull = isNull; - lodash.isNumber = isNumber; - lodash.isObject = isObject; - lodash.isRegExp = isRegExp; - lodash.isString = isString; - lodash.isUndefined = isUndefined; - lodash.last = last; - lodash.max = max; - lodash.min = min; - lodash.noConflict = noConflict; - lodash.noop = noop; - lodash.reduce = reduce; - lodash.result = result; - lodash.size = size; - lodash.some = some; - lodash.uniqueId = uniqueId; - - // Add aliases. - lodash.each = forEach; - lodash.first = head; - - mixin(lodash, (function() { - var source = {}; - baseForOwn(lodash, function(func, methodName) { - if (!hasOwnProperty.call(lodash.prototype, methodName)) { - source[methodName] = func; - } - }); - return source; - }()), { 'chain': false }); - - /*------------------------------------------------------------------------*/ - - /** - * The semantic version number. - * - * @static - * @memberOf _ - * @type {string} - */ - lodash.VERSION = VERSION; - - // Add `Array` methods to `lodash.prototype`. - baseEach(['pop', 'join', 'replace', 'reverse', 'split', 'push', 'shift', 'sort', 'splice', 'unshift'], function(methodName) { - var func = (/^(?:replace|split)$/.test(methodName) ? String.prototype : arrayProto)[methodName], - chainName = /^(?:push|sort|unshift)$/.test(methodName) ? 'tap' : 'thru', - retUnwrapped = /^(?:pop|join|replace|shift)$/.test(methodName); - - lodash.prototype[methodName] = function() { - var args = arguments; - if (retUnwrapped && !this.__chain__) { - var value = this.value(); - return func.apply(isArray(value) ? value : [], args); - } - return this[chainName](function(value) { - return func.apply(isArray(value) ? value : [], args); - }); - }; - }); - - // Add chain sequence methods to the `lodash` wrapper. - lodash.prototype.toJSON = lodash.prototype.valueOf = lodash.prototype.value = wrapperValue; - - /*--------------------------------------------------------------------------*/ - - // Some AMD build optimizers, like r.js, check for condition patterns like: - if (typeof define == 'function' && typeof define.amd == 'object' && define.amd) { - // Expose Lodash on the global object to prevent errors when Lodash is - // loaded by a script tag in the presence of an AMD loader. - // See http://requirejs.org/docs/errors.html#mismatch for more details. - // Use `_.noConflict` to remove Lodash from the global object. - root._ = lodash; - - // Define as an anonymous module so, through path mapping, it can be - // referenced as the "underscore" module. - define(function() { - return lodash; - }); - } - // Check for `exports` after `define` in case a build optimizer adds it. - else if (freeModule) { - // Export for Node.js. - (freeModule.exports = lodash)._ = lodash; - // Export for CommonJS support. - freeExports._ = lodash; - } - else { - // Export to the global object. - root._ = lodash; - } -}.call(this)); diff --git a/packages/frontend-core/node_modules/lodash/core.min.js b/packages/frontend-core/node_modules/lodash/core.min.js deleted file mode 100644 index e425e4d4f5..0000000000 --- a/packages/frontend-core/node_modules/lodash/core.min.js +++ /dev/null @@ -1,29 +0,0 @@ -/** - * @license - * Lodash (Custom Build) lodash.com/license | Underscore.js 1.8.3 underscorejs.org/LICENSE - * Build: `lodash core -o ./dist/lodash.core.js` - */ -;(function(){function n(n){return H(n)&&pn.call(n,"callee")&&!yn.call(n,"callee")}function t(n,t){return n.push.apply(n,t),n}function r(n){return function(t){return null==t?Z:t[n]}}function e(n,t,r,e,u){return u(n,function(n,u,o){r=e?(e=false,n):t(r,n,u,o)}),r}function u(n,t){return j(t,function(t){return n[t]})}function o(n){return n instanceof i?n:new i(n)}function i(n,t){this.__wrapped__=n,this.__actions__=[],this.__chain__=!!t}function c(n,t,r){if(typeof n!="function")throw new TypeError("Expected a function"); -return setTimeout(function(){n.apply(Z,r)},t)}function f(n,t){var r=true;return mn(n,function(n,e,u){return r=!!t(n,e,u)}),r}function a(n,t,r){for(var e=-1,u=n.length;++et}function b(n,t,r,e,u){return n===t||(null==n||null==t||!H(n)&&!H(t)?n!==n&&t!==t:y(n,t,r,e,b,u))}function y(n,t,r,e,u,o){var i=Nn(n),c=Nn(t),f=i?"[object Array]":hn.call(n),a=c?"[object Array]":hn.call(t),f="[object Arguments]"==f?"[object Object]":f,a="[object Arguments]"==a?"[object Object]":a,l="[object Object]"==f,c="[object Object]"==a,a=f==a;o||(o=[]);var p=An(o,function(t){return t[0]==n}),s=An(o,function(n){ -return n[0]==t});if(p&&s)return p[1]==t;if(o.push([n,t]),o.push([t,n]),a&&!l){if(i)r=T(n,t,r,e,u,o);else n:{switch(f){case"[object Boolean]":case"[object Date]":case"[object Number]":r=J(+n,+t);break n;case"[object Error]":r=n.name==t.name&&n.message==t.message;break n;case"[object RegExp]":case"[object String]":r=n==t+"";break n}r=false}return o.pop(),r}return 1&r||(i=l&&pn.call(n,"__wrapped__"),f=c&&pn.call(t,"__wrapped__"),!i&&!f)?!!a&&(r=B(n,t,r,e,u,o),o.pop(),r):(i=i?n.value():n,f=f?t.value():t, -r=u(i,f,r,e,o),o.pop(),r)}function g(n){return typeof n=="function"?n:null==n?X:(typeof n=="object"?d:r)(n)}function _(n,t){return nt&&(t=-t>u?0:u+t),r=r>u?u:r,0>r&&(r+=u),u=t>r?0:r-t>>>0,t>>>=0,r=Array(u);++ei))return false;var c=o.get(n),f=o.get(t);if(c&&f)return c==t&&f==n;for(var c=-1,f=true,a=2&r?[]:Z;++cr?jn(e+r,0):r:0,r=(r||0)-1;for(var u=t===t;++rarguments.length,mn); -}function G(n,t){var r;if(typeof t!="function")throw new TypeError("Expected a function");return n=Fn(n),function(){return 0<--n&&(r=t.apply(this,arguments)),1>=n&&(t=Z),r}}function J(n,t){return n===t||n!==n&&t!==t}function M(n){var t;return(t=null!=n)&&(t=n.length,t=typeof t=="number"&&-1=t),t&&!U(n)}function U(n){return!!V(n)&&(n=hn.call(n),"[object Function]"==n||"[object GeneratorFunction]"==n||"[object AsyncFunction]"==n||"[object Proxy]"==n)}function V(n){var t=typeof n; -return null!=n&&("object"==t||"function"==t)}function H(n){return null!=n&&typeof n=="object"}function K(n){return typeof n=="number"||H(n)&&"[object Number]"==hn.call(n)}function L(n){return typeof n=="string"||!Nn(n)&&H(n)&&"[object String]"==hn.call(n)}function Q(n){return typeof n=="string"?n:null==n?"":n+""}function W(n){return null==n?[]:u(n,Dn(n))}function X(n){return n}function Y(n,r,e){var u=Dn(r),o=h(r,u);null!=e||V(r)&&(o.length||!u.length)||(e=r,r=n,n=this,o=h(r,Dn(r)));var i=!(V(e)&&"chain"in e&&!e.chain),c=U(n); -return mn(o,function(e){var u=r[e];n[e]=u,c&&(n.prototype[e]=function(){var r=this.__chain__;if(i||r){var e=n(this.__wrapped__);return(e.__actions__=A(this.__actions__)).push({func:u,args:arguments,thisArg:n}),e.__chain__=r,e}return u.apply(n,t([this.value()],arguments))})}),n}var Z,nn=1/0,tn=/[&<>"']/g,rn=RegExp(tn.source),en=/^(?:0|[1-9]\d*)$/,un=typeof self=="object"&&self&&self.Object===Object&&self,on=typeof global=="object"&&global&&global.Object===Object&&global||un||Function("return this")(),cn=(un=typeof exports=="object"&&exports&&!exports.nodeType&&exports)&&typeof module=="object"&&module&&!module.nodeType&&module,fn=function(n){ -return function(t){return null==n?Z:n[t]}}({"&":"&","<":"<",">":">",'"':""","'":"'"}),an=Array.prototype,ln=Object.prototype,pn=ln.hasOwnProperty,sn=0,hn=ln.toString,vn=on._,bn=Object.create,yn=ln.propertyIsEnumerable,gn=on.isFinite,_n=function(n,t){return function(r){return n(t(r))}}(Object.keys,Object),jn=Math.max,dn=function(){function n(){}return function(t){return V(t)?bn?bn(t):(n.prototype=t,t=new n,n.prototype=Z,t):{}}}();i.prototype=dn(o.prototype),i.prototype.constructor=i; -var mn=function(n,t){return function(r,e){if(null==r)return r;if(!M(r))return n(r,e);for(var u=r.length,o=t?u:-1,i=Object(r);(t?o--:++or&&(r=jn(e+r,0));n:{for(t=g(t),e=n.length,r+=-1;++re||o&&c&&a||!u&&a||!i){r=1;break n}if(!o&&r { '4': 1, '6': 2 } - * - * // The `_.property` iteratee shorthand. - * _.countBy(['one', 'two', 'three'], 'length'); - * // => { '3': 2, '5': 1 } - */ -var countBy = createAggregator(function(result, value, key) { - if (hasOwnProperty.call(result, key)) { - ++result[key]; - } else { - baseAssignValue(result, key, 1); - } -}); - -module.exports = countBy; diff --git a/packages/frontend-core/node_modules/lodash/create.js b/packages/frontend-core/node_modules/lodash/create.js deleted file mode 100644 index 919edb850f..0000000000 --- a/packages/frontend-core/node_modules/lodash/create.js +++ /dev/null @@ -1,43 +0,0 @@ -var baseAssign = require('./_baseAssign'), - baseCreate = require('./_baseCreate'); - -/** - * Creates an object that inherits from the `prototype` object. If a - * `properties` object is given, its own enumerable string keyed properties - * are assigned to the created object. - * - * @static - * @memberOf _ - * @since 2.3.0 - * @category Object - * @param {Object} prototype The object to inherit from. - * @param {Object} [properties] The properties to assign to the object. - * @returns {Object} Returns the new object. - * @example - * - * function Shape() { - * this.x = 0; - * this.y = 0; - * } - * - * function Circle() { - * Shape.call(this); - * } - * - * Circle.prototype = _.create(Shape.prototype, { - * 'constructor': Circle - * }); - * - * var circle = new Circle; - * circle instanceof Circle; - * // => true - * - * circle instanceof Shape; - * // => true - */ -function create(prototype, properties) { - var result = baseCreate(prototype); - return properties == null ? result : baseAssign(result, properties); -} - -module.exports = create; diff --git a/packages/frontend-core/node_modules/lodash/curry.js b/packages/frontend-core/node_modules/lodash/curry.js deleted file mode 100644 index 918db1a4a7..0000000000 --- a/packages/frontend-core/node_modules/lodash/curry.js +++ /dev/null @@ -1,57 +0,0 @@ -var createWrap = require('./_createWrap'); - -/** Used to compose bitmasks for function metadata. */ -var WRAP_CURRY_FLAG = 8; - -/** - * Creates a function that accepts arguments of `func` and either invokes - * `func` returning its result, if at least `arity` number of arguments have - * been provided, or returns a function that accepts the remaining `func` - * arguments, and so on. The arity of `func` may be specified if `func.length` - * is not sufficient. - * - * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds, - * may be used as a placeholder for provided arguments. - * - * **Note:** This method doesn't set the "length" property of curried functions. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Function - * @param {Function} func The function to curry. - * @param {number} [arity=func.length] The arity of `func`. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Function} Returns the new curried function. - * @example - * - * var abc = function(a, b, c) { - * return [a, b, c]; - * }; - * - * var curried = _.curry(abc); - * - * curried(1)(2)(3); - * // => [1, 2, 3] - * - * curried(1, 2)(3); - * // => [1, 2, 3] - * - * curried(1, 2, 3); - * // => [1, 2, 3] - * - * // Curried with placeholders. - * curried(1)(_, 3)(2); - * // => [1, 2, 3] - */ -function curry(func, arity, guard) { - arity = guard ? undefined : arity; - var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity); - result.placeholder = curry.placeholder; - return result; -} - -// Assign default placeholders. -curry.placeholder = {}; - -module.exports = curry; diff --git a/packages/frontend-core/node_modules/lodash/curryRight.js b/packages/frontend-core/node_modules/lodash/curryRight.js deleted file mode 100644 index c85b6f339b..0000000000 --- a/packages/frontend-core/node_modules/lodash/curryRight.js +++ /dev/null @@ -1,54 +0,0 @@ -var createWrap = require('./_createWrap'); - -/** Used to compose bitmasks for function metadata. */ -var WRAP_CURRY_RIGHT_FLAG = 16; - -/** - * This method is like `_.curry` except that arguments are applied to `func` - * in the manner of `_.partialRight` instead of `_.partial`. - * - * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic - * builds, may be used as a placeholder for provided arguments. - * - * **Note:** This method doesn't set the "length" property of curried functions. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Function - * @param {Function} func The function to curry. - * @param {number} [arity=func.length] The arity of `func`. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Function} Returns the new curried function. - * @example - * - * var abc = function(a, b, c) { - * return [a, b, c]; - * }; - * - * var curried = _.curryRight(abc); - * - * curried(3)(2)(1); - * // => [1, 2, 3] - * - * curried(2, 3)(1); - * // => [1, 2, 3] - * - * curried(1, 2, 3); - * // => [1, 2, 3] - * - * // Curried with placeholders. - * curried(3)(1, _)(2); - * // => [1, 2, 3] - */ -function curryRight(func, arity, guard) { - arity = guard ? undefined : arity; - var result = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity); - result.placeholder = curryRight.placeholder; - return result; -} - -// Assign default placeholders. -curryRight.placeholder = {}; - -module.exports = curryRight; diff --git a/packages/frontend-core/node_modules/lodash/date.js b/packages/frontend-core/node_modules/lodash/date.js deleted file mode 100644 index cbf5b41098..0000000000 --- a/packages/frontend-core/node_modules/lodash/date.js +++ /dev/null @@ -1,3 +0,0 @@ -module.exports = { - 'now': require('./now') -}; diff --git a/packages/frontend-core/node_modules/lodash/debounce.js b/packages/frontend-core/node_modules/lodash/debounce.js deleted file mode 100644 index 8f751d53d1..0000000000 --- a/packages/frontend-core/node_modules/lodash/debounce.js +++ /dev/null @@ -1,191 +0,0 @@ -var isObject = require('./isObject'), - now = require('./now'), - toNumber = require('./toNumber'); - -/** Error message constants. */ -var FUNC_ERROR_TEXT = 'Expected a function'; - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeMax = Math.max, - nativeMin = Math.min; - -/** - * Creates a debounced function that delays invoking `func` until after `wait` - * milliseconds have elapsed since the last time the debounced function was - * invoked. The debounced function comes with a `cancel` method to cancel - * delayed `func` invocations and a `flush` method to immediately invoke them. - * Provide `options` to indicate whether `func` should be invoked on the - * leading and/or trailing edge of the `wait` timeout. The `func` is invoked - * with the last arguments provided to the debounced function. Subsequent - * calls to the debounced function return the result of the last `func` - * invocation. - * - * **Note:** If `leading` and `trailing` options are `true`, `func` is - * invoked on the trailing edge of the timeout only if the debounced function - * is invoked more than once during the `wait` timeout. - * - * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred - * until to the next tick, similar to `setTimeout` with a timeout of `0`. - * - * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) - * for details over the differences between `_.debounce` and `_.throttle`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to debounce. - * @param {number} [wait=0] The number of milliseconds to delay. - * @param {Object} [options={}] The options object. - * @param {boolean} [options.leading=false] - * Specify invoking on the leading edge of the timeout. - * @param {number} [options.maxWait] - * The maximum time `func` is allowed to be delayed before it's invoked. - * @param {boolean} [options.trailing=true] - * Specify invoking on the trailing edge of the timeout. - * @returns {Function} Returns the new debounced function. - * @example - * - * // Avoid costly calculations while the window size is in flux. - * jQuery(window).on('resize', _.debounce(calculateLayout, 150)); - * - * // Invoke `sendMail` when clicked, debouncing subsequent calls. - * jQuery(element).on('click', _.debounce(sendMail, 300, { - * 'leading': true, - * 'trailing': false - * })); - * - * // Ensure `batchLog` is invoked once after 1 second of debounced calls. - * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 }); - * var source = new EventSource('/stream'); - * jQuery(source).on('message', debounced); - * - * // Cancel the trailing debounced invocation. - * jQuery(window).on('popstate', debounced.cancel); - */ -function debounce(func, wait, options) { - var lastArgs, - lastThis, - maxWait, - result, - timerId, - lastCallTime, - lastInvokeTime = 0, - leading = false, - maxing = false, - trailing = true; - - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - wait = toNumber(wait) || 0; - if (isObject(options)) { - leading = !!options.leading; - maxing = 'maxWait' in options; - maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait; - trailing = 'trailing' in options ? !!options.trailing : trailing; - } - - function invokeFunc(time) { - var args = lastArgs, - thisArg = lastThis; - - lastArgs = lastThis = undefined; - lastInvokeTime = time; - result = func.apply(thisArg, args); - return result; - } - - function leadingEdge(time) { - // Reset any `maxWait` timer. - lastInvokeTime = time; - // Start the timer for the trailing edge. - timerId = setTimeout(timerExpired, wait); - // Invoke the leading edge. - return leading ? invokeFunc(time) : result; - } - - function remainingWait(time) { - var timeSinceLastCall = time - lastCallTime, - timeSinceLastInvoke = time - lastInvokeTime, - timeWaiting = wait - timeSinceLastCall; - - return maxing - ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) - : timeWaiting; - } - - function shouldInvoke(time) { - var timeSinceLastCall = time - lastCallTime, - timeSinceLastInvoke = time - lastInvokeTime; - - // Either this is the first call, activity has stopped and we're at the - // trailing edge, the system time has gone backwards and we're treating - // it as the trailing edge, or we've hit the `maxWait` limit. - return (lastCallTime === undefined || (timeSinceLastCall >= wait) || - (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait)); - } - - function timerExpired() { - var time = now(); - if (shouldInvoke(time)) { - return trailingEdge(time); - } - // Restart the timer. - timerId = setTimeout(timerExpired, remainingWait(time)); - } - - function trailingEdge(time) { - timerId = undefined; - - // Only invoke if we have `lastArgs` which means `func` has been - // debounced at least once. - if (trailing && lastArgs) { - return invokeFunc(time); - } - lastArgs = lastThis = undefined; - return result; - } - - function cancel() { - if (timerId !== undefined) { - clearTimeout(timerId); - } - lastInvokeTime = 0; - lastArgs = lastCallTime = lastThis = timerId = undefined; - } - - function flush() { - return timerId === undefined ? result : trailingEdge(now()); - } - - function debounced() { - var time = now(), - isInvoking = shouldInvoke(time); - - lastArgs = arguments; - lastThis = this; - lastCallTime = time; - - if (isInvoking) { - if (timerId === undefined) { - return leadingEdge(lastCallTime); - } - if (maxing) { - // Handle invocations in a tight loop. - clearTimeout(timerId); - timerId = setTimeout(timerExpired, wait); - return invokeFunc(lastCallTime); - } - } - if (timerId === undefined) { - timerId = setTimeout(timerExpired, wait); - } - return result; - } - debounced.cancel = cancel; - debounced.flush = flush; - return debounced; -} - -module.exports = debounce; diff --git a/packages/frontend-core/node_modules/lodash/deburr.js b/packages/frontend-core/node_modules/lodash/deburr.js deleted file mode 100644 index f85e314a0c..0000000000 --- a/packages/frontend-core/node_modules/lodash/deburr.js +++ /dev/null @@ -1,45 +0,0 @@ -var deburrLetter = require('./_deburrLetter'), - toString = require('./toString'); - -/** Used to match Latin Unicode letters (excluding mathematical operators). */ -var reLatin = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g; - -/** Used to compose unicode character classes. */ -var rsComboMarksRange = '\\u0300-\\u036f', - reComboHalfMarksRange = '\\ufe20-\\ufe2f', - rsComboSymbolsRange = '\\u20d0-\\u20ff', - rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange; - -/** Used to compose unicode capture groups. */ -var rsCombo = '[' + rsComboRange + ']'; - -/** - * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and - * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols). - */ -var reComboMark = RegExp(rsCombo, 'g'); - -/** - * Deburrs `string` by converting - * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table) - * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A) - * letters to basic Latin letters and removing - * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to deburr. - * @returns {string} Returns the deburred string. - * @example - * - * _.deburr('déjà vu'); - * // => 'deja vu' - */ -function deburr(string) { - string = toString(string); - return string && string.replace(reLatin, deburrLetter).replace(reComboMark, ''); -} - -module.exports = deburr; diff --git a/packages/frontend-core/node_modules/lodash/defaultTo.js b/packages/frontend-core/node_modules/lodash/defaultTo.js deleted file mode 100644 index 5b333592e9..0000000000 --- a/packages/frontend-core/node_modules/lodash/defaultTo.js +++ /dev/null @@ -1,25 +0,0 @@ -/** - * Checks `value` to determine whether a default value should be returned in - * its place. The `defaultValue` is returned if `value` is `NaN`, `null`, - * or `undefined`. - * - * @static - * @memberOf _ - * @since 4.14.0 - * @category Util - * @param {*} value The value to check. - * @param {*} defaultValue The default value. - * @returns {*} Returns the resolved value. - * @example - * - * _.defaultTo(1, 10); - * // => 1 - * - * _.defaultTo(undefined, 10); - * // => 10 - */ -function defaultTo(value, defaultValue) { - return (value == null || value !== value) ? defaultValue : value; -} - -module.exports = defaultTo; diff --git a/packages/frontend-core/node_modules/lodash/defaults.js b/packages/frontend-core/node_modules/lodash/defaults.js deleted file mode 100644 index c74df044c4..0000000000 --- a/packages/frontend-core/node_modules/lodash/defaults.js +++ /dev/null @@ -1,64 +0,0 @@ -var baseRest = require('./_baseRest'), - eq = require('./eq'), - isIterateeCall = require('./_isIterateeCall'), - keysIn = require('./keysIn'); - -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * Assigns own and inherited enumerable string keyed properties of source - * objects to the destination object for all destination properties that - * resolve to `undefined`. Source objects are applied from left to right. - * Once a property is set, additional values of the same property are ignored. - * - * **Note:** This method mutates `object`. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @returns {Object} Returns `object`. - * @see _.defaultsDeep - * @example - * - * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); - * // => { 'a': 1, 'b': 2 } - */ -var defaults = baseRest(function(object, sources) { - object = Object(object); - - var index = -1; - var length = sources.length; - var guard = length > 2 ? sources[2] : undefined; - - if (guard && isIterateeCall(sources[0], sources[1], guard)) { - length = 1; - } - - while (++index < length) { - var source = sources[index]; - var props = keysIn(source); - var propsIndex = -1; - var propsLength = props.length; - - while (++propsIndex < propsLength) { - var key = props[propsIndex]; - var value = object[key]; - - if (value === undefined || - (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) { - object[key] = source[key]; - } - } - } - - return object; -}); - -module.exports = defaults; diff --git a/packages/frontend-core/node_modules/lodash/defaultsDeep.js b/packages/frontend-core/node_modules/lodash/defaultsDeep.js deleted file mode 100644 index 9b5fa3ee22..0000000000 --- a/packages/frontend-core/node_modules/lodash/defaultsDeep.js +++ /dev/null @@ -1,30 +0,0 @@ -var apply = require('./_apply'), - baseRest = require('./_baseRest'), - customDefaultsMerge = require('./_customDefaultsMerge'), - mergeWith = require('./mergeWith'); - -/** - * This method is like `_.defaults` except that it recursively assigns - * default properties. - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 3.10.0 - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @returns {Object} Returns `object`. - * @see _.defaults - * @example - * - * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } }); - * // => { 'a': { 'b': 2, 'c': 3 } } - */ -var defaultsDeep = baseRest(function(args) { - args.push(undefined, customDefaultsMerge); - return apply(mergeWith, undefined, args); -}); - -module.exports = defaultsDeep; diff --git a/packages/frontend-core/node_modules/lodash/defer.js b/packages/frontend-core/node_modules/lodash/defer.js deleted file mode 100644 index f6d6c6fa67..0000000000 --- a/packages/frontend-core/node_modules/lodash/defer.js +++ /dev/null @@ -1,26 +0,0 @@ -var baseDelay = require('./_baseDelay'), - baseRest = require('./_baseRest'); - -/** - * Defers invoking the `func` until the current call stack has cleared. Any - * additional arguments are provided to `func` when it's invoked. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to defer. - * @param {...*} [args] The arguments to invoke `func` with. - * @returns {number} Returns the timer id. - * @example - * - * _.defer(function(text) { - * console.log(text); - * }, 'deferred'); - * // => Logs 'deferred' after one millisecond. - */ -var defer = baseRest(function(func, args) { - return baseDelay(func, 1, args); -}); - -module.exports = defer; diff --git a/packages/frontend-core/node_modules/lodash/delay.js b/packages/frontend-core/node_modules/lodash/delay.js deleted file mode 100644 index bd554796fd..0000000000 --- a/packages/frontend-core/node_modules/lodash/delay.js +++ /dev/null @@ -1,28 +0,0 @@ -var baseDelay = require('./_baseDelay'), - baseRest = require('./_baseRest'), - toNumber = require('./toNumber'); - -/** - * Invokes `func` after `wait` milliseconds. Any additional arguments are - * provided to `func` when it's invoked. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to delay. - * @param {number} wait The number of milliseconds to delay invocation. - * @param {...*} [args] The arguments to invoke `func` with. - * @returns {number} Returns the timer id. - * @example - * - * _.delay(function(text) { - * console.log(text); - * }, 1000, 'later'); - * // => Logs 'later' after one second. - */ -var delay = baseRest(function(func, wait, args) { - return baseDelay(func, toNumber(wait) || 0, args); -}); - -module.exports = delay; diff --git a/packages/frontend-core/node_modules/lodash/difference.js b/packages/frontend-core/node_modules/lodash/difference.js deleted file mode 100644 index fa28bb301f..0000000000 --- a/packages/frontend-core/node_modules/lodash/difference.js +++ /dev/null @@ -1,33 +0,0 @@ -var baseDifference = require('./_baseDifference'), - baseFlatten = require('./_baseFlatten'), - baseRest = require('./_baseRest'), - isArrayLikeObject = require('./isArrayLikeObject'); - -/** - * Creates an array of `array` values not included in the other given arrays - * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. The order and references of result values are - * determined by the first array. - * - * **Note:** Unlike `_.pullAll`, this method returns a new array. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {...Array} [values] The values to exclude. - * @returns {Array} Returns the new array of filtered values. - * @see _.without, _.xor - * @example - * - * _.difference([2, 1], [2, 3]); - * // => [1] - */ -var difference = baseRest(function(array, values) { - return isArrayLikeObject(array) - ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true)) - : []; -}); - -module.exports = difference; diff --git a/packages/frontend-core/node_modules/lodash/differenceBy.js b/packages/frontend-core/node_modules/lodash/differenceBy.js deleted file mode 100644 index 2cd63e7ec0..0000000000 --- a/packages/frontend-core/node_modules/lodash/differenceBy.js +++ /dev/null @@ -1,44 +0,0 @@ -var baseDifference = require('./_baseDifference'), - baseFlatten = require('./_baseFlatten'), - baseIteratee = require('./_baseIteratee'), - baseRest = require('./_baseRest'), - isArrayLikeObject = require('./isArrayLikeObject'), - last = require('./last'); - -/** - * This method is like `_.difference` except that it accepts `iteratee` which - * is invoked for each element of `array` and `values` to generate the criterion - * by which they're compared. The order and references of result values are - * determined by the first array. The iteratee is invoked with one argument: - * (value). - * - * **Note:** Unlike `_.pullAllBy`, this method returns a new array. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {...Array} [values] The values to exclude. - * @param {Function} [iteratee=_.identity] The iteratee invoked per element. - * @returns {Array} Returns the new array of filtered values. - * @example - * - * _.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor); - * // => [1.2] - * - * // The `_.property` iteratee shorthand. - * _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x'); - * // => [{ 'x': 2 }] - */ -var differenceBy = baseRest(function(array, values) { - var iteratee = last(values); - if (isArrayLikeObject(iteratee)) { - iteratee = undefined; - } - return isArrayLikeObject(array) - ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), baseIteratee(iteratee, 2)) - : []; -}); - -module.exports = differenceBy; diff --git a/packages/frontend-core/node_modules/lodash/differenceWith.js b/packages/frontend-core/node_modules/lodash/differenceWith.js deleted file mode 100644 index c0233f4b9c..0000000000 --- a/packages/frontend-core/node_modules/lodash/differenceWith.js +++ /dev/null @@ -1,40 +0,0 @@ -var baseDifference = require('./_baseDifference'), - baseFlatten = require('./_baseFlatten'), - baseRest = require('./_baseRest'), - isArrayLikeObject = require('./isArrayLikeObject'), - last = require('./last'); - -/** - * This method is like `_.difference` except that it accepts `comparator` - * which is invoked to compare elements of `array` to `values`. The order and - * references of result values are determined by the first array. The comparator - * is invoked with two arguments: (arrVal, othVal). - * - * **Note:** Unlike `_.pullAllWith`, this method returns a new array. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {...Array} [values] The values to exclude. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new array of filtered values. - * @example - * - * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; - * - * _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual); - * // => [{ 'x': 2, 'y': 1 }] - */ -var differenceWith = baseRest(function(array, values) { - var comparator = last(values); - if (isArrayLikeObject(comparator)) { - comparator = undefined; - } - return isArrayLikeObject(array) - ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), undefined, comparator) - : []; -}); - -module.exports = differenceWith; diff --git a/packages/frontend-core/node_modules/lodash/divide.js b/packages/frontend-core/node_modules/lodash/divide.js deleted file mode 100644 index 8cae0cd1b0..0000000000 --- a/packages/frontend-core/node_modules/lodash/divide.js +++ /dev/null @@ -1,22 +0,0 @@ -var createMathOperation = require('./_createMathOperation'); - -/** - * Divide two numbers. - * - * @static - * @memberOf _ - * @since 4.7.0 - * @category Math - * @param {number} dividend The first number in a division. - * @param {number} divisor The second number in a division. - * @returns {number} Returns the quotient. - * @example - * - * _.divide(6, 4); - * // => 1.5 - */ -var divide = createMathOperation(function(dividend, divisor) { - return dividend / divisor; -}, 1); - -module.exports = divide; diff --git a/packages/frontend-core/node_modules/lodash/drop.js b/packages/frontend-core/node_modules/lodash/drop.js deleted file mode 100644 index d5c3cbaa4e..0000000000 --- a/packages/frontend-core/node_modules/lodash/drop.js +++ /dev/null @@ -1,38 +0,0 @@ -var baseSlice = require('./_baseSlice'), - toInteger = require('./toInteger'); - -/** - * Creates a slice of `array` with `n` elements dropped from the beginning. - * - * @static - * @memberOf _ - * @since 0.5.0 - * @category Array - * @param {Array} array The array to query. - * @param {number} [n=1] The number of elements to drop. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.drop([1, 2, 3]); - * // => [2, 3] - * - * _.drop([1, 2, 3], 2); - * // => [3] - * - * _.drop([1, 2, 3], 5); - * // => [] - * - * _.drop([1, 2, 3], 0); - * // => [1, 2, 3] - */ -function drop(array, n, guard) { - var length = array == null ? 0 : array.length; - if (!length) { - return []; - } - n = (guard || n === undefined) ? 1 : toInteger(n); - return baseSlice(array, n < 0 ? 0 : n, length); -} - -module.exports = drop; diff --git a/packages/frontend-core/node_modules/lodash/dropRight.js b/packages/frontend-core/node_modules/lodash/dropRight.js deleted file mode 100644 index 441fe99681..0000000000 --- a/packages/frontend-core/node_modules/lodash/dropRight.js +++ /dev/null @@ -1,39 +0,0 @@ -var baseSlice = require('./_baseSlice'), - toInteger = require('./toInteger'); - -/** - * Creates a slice of `array` with `n` elements dropped from the end. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to query. - * @param {number} [n=1] The number of elements to drop. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.dropRight([1, 2, 3]); - * // => [1, 2] - * - * _.dropRight([1, 2, 3], 2); - * // => [1] - * - * _.dropRight([1, 2, 3], 5); - * // => [] - * - * _.dropRight([1, 2, 3], 0); - * // => [1, 2, 3] - */ -function dropRight(array, n, guard) { - var length = array == null ? 0 : array.length; - if (!length) { - return []; - } - n = (guard || n === undefined) ? 1 : toInteger(n); - n = length - n; - return baseSlice(array, 0, n < 0 ? 0 : n); -} - -module.exports = dropRight; diff --git a/packages/frontend-core/node_modules/lodash/dropRightWhile.js b/packages/frontend-core/node_modules/lodash/dropRightWhile.js deleted file mode 100644 index 9ad36a0445..0000000000 --- a/packages/frontend-core/node_modules/lodash/dropRightWhile.js +++ /dev/null @@ -1,45 +0,0 @@ -var baseIteratee = require('./_baseIteratee'), - baseWhile = require('./_baseWhile'); - -/** - * Creates a slice of `array` excluding elements dropped from the end. - * Elements are dropped until `predicate` returns falsey. The predicate is - * invoked with three arguments: (value, index, array). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to query. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {Array} Returns the slice of `array`. - * @example - * - * var users = [ - * { 'user': 'barney', 'active': true }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': false } - * ]; - * - * _.dropRightWhile(users, function(o) { return !o.active; }); - * // => objects for ['barney'] - * - * // The `_.matches` iteratee shorthand. - * _.dropRightWhile(users, { 'user': 'pebbles', 'active': false }); - * // => objects for ['barney', 'fred'] - * - * // The `_.matchesProperty` iteratee shorthand. - * _.dropRightWhile(users, ['active', false]); - * // => objects for ['barney'] - * - * // The `_.property` iteratee shorthand. - * _.dropRightWhile(users, 'active'); - * // => objects for ['barney', 'fred', 'pebbles'] - */ -function dropRightWhile(array, predicate) { - return (array && array.length) - ? baseWhile(array, baseIteratee(predicate, 3), true, true) - : []; -} - -module.exports = dropRightWhile; diff --git a/packages/frontend-core/node_modules/lodash/dropWhile.js b/packages/frontend-core/node_modules/lodash/dropWhile.js deleted file mode 100644 index 903ef568c9..0000000000 --- a/packages/frontend-core/node_modules/lodash/dropWhile.js +++ /dev/null @@ -1,45 +0,0 @@ -var baseIteratee = require('./_baseIteratee'), - baseWhile = require('./_baseWhile'); - -/** - * Creates a slice of `array` excluding elements dropped from the beginning. - * Elements are dropped until `predicate` returns falsey. The predicate is - * invoked with three arguments: (value, index, array). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to query. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {Array} Returns the slice of `array`. - * @example - * - * var users = [ - * { 'user': 'barney', 'active': false }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': true } - * ]; - * - * _.dropWhile(users, function(o) { return !o.active; }); - * // => objects for ['pebbles'] - * - * // The `_.matches` iteratee shorthand. - * _.dropWhile(users, { 'user': 'barney', 'active': false }); - * // => objects for ['fred', 'pebbles'] - * - * // The `_.matchesProperty` iteratee shorthand. - * _.dropWhile(users, ['active', false]); - * // => objects for ['pebbles'] - * - * // The `_.property` iteratee shorthand. - * _.dropWhile(users, 'active'); - * // => objects for ['barney', 'fred', 'pebbles'] - */ -function dropWhile(array, predicate) { - return (array && array.length) - ? baseWhile(array, baseIteratee(predicate, 3), true) - : []; -} - -module.exports = dropWhile; diff --git a/packages/frontend-core/node_modules/lodash/each.js b/packages/frontend-core/node_modules/lodash/each.js deleted file mode 100644 index 8800f42046..0000000000 --- a/packages/frontend-core/node_modules/lodash/each.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./forEach'); diff --git a/packages/frontend-core/node_modules/lodash/eachRight.js b/packages/frontend-core/node_modules/lodash/eachRight.js deleted file mode 100644 index 3252b2aba3..0000000000 --- a/packages/frontend-core/node_modules/lodash/eachRight.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./forEachRight'); diff --git a/packages/frontend-core/node_modules/lodash/endsWith.js b/packages/frontend-core/node_modules/lodash/endsWith.js deleted file mode 100644 index 76fc866e3e..0000000000 --- a/packages/frontend-core/node_modules/lodash/endsWith.js +++ /dev/null @@ -1,43 +0,0 @@ -var baseClamp = require('./_baseClamp'), - baseToString = require('./_baseToString'), - toInteger = require('./toInteger'), - toString = require('./toString'); - -/** - * Checks if `string` ends with the given target string. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to inspect. - * @param {string} [target] The string to search for. - * @param {number} [position=string.length] The position to search up to. - * @returns {boolean} Returns `true` if `string` ends with `target`, - * else `false`. - * @example - * - * _.endsWith('abc', 'c'); - * // => true - * - * _.endsWith('abc', 'b'); - * // => false - * - * _.endsWith('abc', 'b', 2); - * // => true - */ -function endsWith(string, target, position) { - string = toString(string); - target = baseToString(target); - - var length = string.length; - position = position === undefined - ? length - : baseClamp(toInteger(position), 0, length); - - var end = position; - position -= target.length; - return position >= 0 && string.slice(position, end) == target; -} - -module.exports = endsWith; diff --git a/packages/frontend-core/node_modules/lodash/entries.js b/packages/frontend-core/node_modules/lodash/entries.js deleted file mode 100644 index 7a88df2044..0000000000 --- a/packages/frontend-core/node_modules/lodash/entries.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./toPairs'); diff --git a/packages/frontend-core/node_modules/lodash/entriesIn.js b/packages/frontend-core/node_modules/lodash/entriesIn.js deleted file mode 100644 index f6c6331c1d..0000000000 --- a/packages/frontend-core/node_modules/lodash/entriesIn.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./toPairsIn'); diff --git a/packages/frontend-core/node_modules/lodash/eq.js b/packages/frontend-core/node_modules/lodash/eq.js deleted file mode 100644 index a940688053..0000000000 --- a/packages/frontend-core/node_modules/lodash/eq.js +++ /dev/null @@ -1,37 +0,0 @@ -/** - * Performs a - * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * comparison between two values to determine if they are equivalent. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if the values are equivalent, else `false`. - * @example - * - * var object = { 'a': 1 }; - * var other = { 'a': 1 }; - * - * _.eq(object, object); - * // => true - * - * _.eq(object, other); - * // => false - * - * _.eq('a', 'a'); - * // => true - * - * _.eq('a', Object('a')); - * // => false - * - * _.eq(NaN, NaN); - * // => true - */ -function eq(value, other) { - return value === other || (value !== value && other !== other); -} - -module.exports = eq; diff --git a/packages/frontend-core/node_modules/lodash/escape.js b/packages/frontend-core/node_modules/lodash/escape.js deleted file mode 100644 index 9247e0029b..0000000000 --- a/packages/frontend-core/node_modules/lodash/escape.js +++ /dev/null @@ -1,43 +0,0 @@ -var escapeHtmlChar = require('./_escapeHtmlChar'), - toString = require('./toString'); - -/** Used to match HTML entities and HTML characters. */ -var reUnescapedHtml = /[&<>"']/g, - reHasUnescapedHtml = RegExp(reUnescapedHtml.source); - -/** - * Converts the characters "&", "<", ">", '"', and "'" in `string` to their - * corresponding HTML entities. - * - * **Note:** No other characters are escaped. To escape additional - * characters use a third-party library like [_he_](https://mths.be/he). - * - * Though the ">" character is escaped for symmetry, characters like - * ">" and "/" don't need escaping in HTML and have no special meaning - * unless they're part of a tag or unquoted attribute value. See - * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands) - * (under "semi-related fun fact") for more details. - * - * When working with HTML you should always - * [quote attribute values](http://wonko.com/post/html-escaping) to reduce - * XSS vectors. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category String - * @param {string} [string=''] The string to escape. - * @returns {string} Returns the escaped string. - * @example - * - * _.escape('fred, barney, & pebbles'); - * // => 'fred, barney, & pebbles' - */ -function escape(string) { - string = toString(string); - return (string && reHasUnescapedHtml.test(string)) - ? string.replace(reUnescapedHtml, escapeHtmlChar) - : string; -} - -module.exports = escape; diff --git a/packages/frontend-core/node_modules/lodash/escapeRegExp.js b/packages/frontend-core/node_modules/lodash/escapeRegExp.js deleted file mode 100644 index 0a58c69fc8..0000000000 --- a/packages/frontend-core/node_modules/lodash/escapeRegExp.js +++ /dev/null @@ -1,32 +0,0 @@ -var toString = require('./toString'); - -/** - * Used to match `RegExp` - * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). - */ -var reRegExpChar = /[\\^$.*+?()[\]{}|]/g, - reHasRegExpChar = RegExp(reRegExpChar.source); - -/** - * Escapes the `RegExp` special characters "^", "$", "\", ".", "*", "+", - * "?", "(", ")", "[", "]", "{", "}", and "|" in `string`. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to escape. - * @returns {string} Returns the escaped string. - * @example - * - * _.escapeRegExp('[lodash](https://lodash.com/)'); - * // => '\[lodash\]\(https://lodash\.com/\)' - */ -function escapeRegExp(string) { - string = toString(string); - return (string && reHasRegExpChar.test(string)) - ? string.replace(reRegExpChar, '\\$&') - : string; -} - -module.exports = escapeRegExp; diff --git a/packages/frontend-core/node_modules/lodash/every.js b/packages/frontend-core/node_modules/lodash/every.js deleted file mode 100644 index 25080dac49..0000000000 --- a/packages/frontend-core/node_modules/lodash/every.js +++ /dev/null @@ -1,56 +0,0 @@ -var arrayEvery = require('./_arrayEvery'), - baseEvery = require('./_baseEvery'), - baseIteratee = require('./_baseIteratee'), - isArray = require('./isArray'), - isIterateeCall = require('./_isIterateeCall'); - -/** - * Checks if `predicate` returns truthy for **all** elements of `collection`. - * Iteration is stopped once `predicate` returns falsey. The predicate is - * invoked with three arguments: (value, index|key, collection). - * - * **Note:** This method returns `true` for - * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because - * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of - * elements of empty collections. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {boolean} Returns `true` if all elements pass the predicate check, - * else `false`. - * @example - * - * _.every([true, 1, null, 'yes'], Boolean); - * // => false - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': false }, - * { 'user': 'fred', 'age': 40, 'active': false } - * ]; - * - * // The `_.matches` iteratee shorthand. - * _.every(users, { 'user': 'barney', 'active': false }); - * // => false - * - * // The `_.matchesProperty` iteratee shorthand. - * _.every(users, ['active', false]); - * // => true - * - * // The `_.property` iteratee shorthand. - * _.every(users, 'active'); - * // => false - */ -function every(collection, predicate, guard) { - var func = isArray(collection) ? arrayEvery : baseEvery; - if (guard && isIterateeCall(collection, predicate, guard)) { - predicate = undefined; - } - return func(collection, baseIteratee(predicate, 3)); -} - -module.exports = every; diff --git a/packages/frontend-core/node_modules/lodash/extend.js b/packages/frontend-core/node_modules/lodash/extend.js deleted file mode 100644 index e00166c206..0000000000 --- a/packages/frontend-core/node_modules/lodash/extend.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./assignIn'); diff --git a/packages/frontend-core/node_modules/lodash/extendWith.js b/packages/frontend-core/node_modules/lodash/extendWith.js deleted file mode 100644 index dbdcb3b4e4..0000000000 --- a/packages/frontend-core/node_modules/lodash/extendWith.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./assignInWith'); diff --git a/packages/frontend-core/node_modules/lodash/fill.js b/packages/frontend-core/node_modules/lodash/fill.js deleted file mode 100644 index ae13aa1c99..0000000000 --- a/packages/frontend-core/node_modules/lodash/fill.js +++ /dev/null @@ -1,45 +0,0 @@ -var baseFill = require('./_baseFill'), - isIterateeCall = require('./_isIterateeCall'); - -/** - * Fills elements of `array` with `value` from `start` up to, but not - * including, `end`. - * - * **Note:** This method mutates `array`. - * - * @static - * @memberOf _ - * @since 3.2.0 - * @category Array - * @param {Array} array The array to fill. - * @param {*} value The value to fill `array` with. - * @param {number} [start=0] The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns `array`. - * @example - * - * var array = [1, 2, 3]; - * - * _.fill(array, 'a'); - * console.log(array); - * // => ['a', 'a', 'a'] - * - * _.fill(Array(3), 2); - * // => [2, 2, 2] - * - * _.fill([4, 6, 8, 10], '*', 1, 3); - * // => [4, '*', '*', 10] - */ -function fill(array, value, start, end) { - var length = array == null ? 0 : array.length; - if (!length) { - return []; - } - if (start && typeof start != 'number' && isIterateeCall(array, value, start)) { - start = 0; - end = length; - } - return baseFill(array, value, start, end); -} - -module.exports = fill; diff --git a/packages/frontend-core/node_modules/lodash/filter.js b/packages/frontend-core/node_modules/lodash/filter.js deleted file mode 100644 index 89e0c8c481..0000000000 --- a/packages/frontend-core/node_modules/lodash/filter.js +++ /dev/null @@ -1,52 +0,0 @@ -var arrayFilter = require('./_arrayFilter'), - baseFilter = require('./_baseFilter'), - baseIteratee = require('./_baseIteratee'), - isArray = require('./isArray'); - -/** - * Iterates over elements of `collection`, returning an array of all elements - * `predicate` returns truthy for. The predicate is invoked with three - * arguments: (value, index|key, collection). - * - * **Note:** Unlike `_.remove`, this method returns a new array. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {Array} Returns the new filtered array. - * @see _.reject - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': true }, - * { 'user': 'fred', 'age': 40, 'active': false } - * ]; - * - * _.filter(users, function(o) { return !o.active; }); - * // => objects for ['fred'] - * - * // The `_.matches` iteratee shorthand. - * _.filter(users, { 'age': 36, 'active': true }); - * // => objects for ['barney'] - * - * // The `_.matchesProperty` iteratee shorthand. - * _.filter(users, ['active', false]); - * // => objects for ['fred'] - * - * // The `_.property` iteratee shorthand. - * _.filter(users, 'active'); - * // => objects for ['barney'] - * - * // Combining several predicates using `_.overEvery` or `_.overSome`. - * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]])); - * // => objects for ['fred', 'barney'] - */ -function filter(collection, predicate) { - var func = isArray(collection) ? arrayFilter : baseFilter; - return func(collection, baseIteratee(predicate, 3)); -} - -module.exports = filter; diff --git a/packages/frontend-core/node_modules/lodash/find.js b/packages/frontend-core/node_modules/lodash/find.js deleted file mode 100644 index de732ccb49..0000000000 --- a/packages/frontend-core/node_modules/lodash/find.js +++ /dev/null @@ -1,42 +0,0 @@ -var createFind = require('./_createFind'), - findIndex = require('./findIndex'); - -/** - * Iterates over elements of `collection`, returning the first element - * `predicate` returns truthy for. The predicate is invoked with three - * arguments: (value, index|key, collection). - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to inspect. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @param {number} [fromIndex=0] The index to search from. - * @returns {*} Returns the matched element, else `undefined`. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': true }, - * { 'user': 'fred', 'age': 40, 'active': false }, - * { 'user': 'pebbles', 'age': 1, 'active': true } - * ]; - * - * _.find(users, function(o) { return o.age < 40; }); - * // => object for 'barney' - * - * // The `_.matches` iteratee shorthand. - * _.find(users, { 'age': 1, 'active': true }); - * // => object for 'pebbles' - * - * // The `_.matchesProperty` iteratee shorthand. - * _.find(users, ['active', false]); - * // => object for 'fred' - * - * // The `_.property` iteratee shorthand. - * _.find(users, 'active'); - * // => object for 'barney' - */ -var find = createFind(findIndex); - -module.exports = find; diff --git a/packages/frontend-core/node_modules/lodash/findIndex.js b/packages/frontend-core/node_modules/lodash/findIndex.js deleted file mode 100644 index 4689069f81..0000000000 --- a/packages/frontend-core/node_modules/lodash/findIndex.js +++ /dev/null @@ -1,55 +0,0 @@ -var baseFindIndex = require('./_baseFindIndex'), - baseIteratee = require('./_baseIteratee'), - toInteger = require('./toInteger'); - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeMax = Math.max; - -/** - * This method is like `_.find` except that it returns the index of the first - * element `predicate` returns truthy for instead of the element itself. - * - * @static - * @memberOf _ - * @since 1.1.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @param {number} [fromIndex=0] The index to search from. - * @returns {number} Returns the index of the found element, else `-1`. - * @example - * - * var users = [ - * { 'user': 'barney', 'active': false }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': true } - * ]; - * - * _.findIndex(users, function(o) { return o.user == 'barney'; }); - * // => 0 - * - * // The `_.matches` iteratee shorthand. - * _.findIndex(users, { 'user': 'fred', 'active': false }); - * // => 1 - * - * // The `_.matchesProperty` iteratee shorthand. - * _.findIndex(users, ['active', false]); - * // => 0 - * - * // The `_.property` iteratee shorthand. - * _.findIndex(users, 'active'); - * // => 2 - */ -function findIndex(array, predicate, fromIndex) { - var length = array == null ? 0 : array.length; - if (!length) { - return -1; - } - var index = fromIndex == null ? 0 : toInteger(fromIndex); - if (index < 0) { - index = nativeMax(length + index, 0); - } - return baseFindIndex(array, baseIteratee(predicate, 3), index); -} - -module.exports = findIndex; diff --git a/packages/frontend-core/node_modules/lodash/findKey.js b/packages/frontend-core/node_modules/lodash/findKey.js deleted file mode 100644 index cac0248a9d..0000000000 --- a/packages/frontend-core/node_modules/lodash/findKey.js +++ /dev/null @@ -1,44 +0,0 @@ -var baseFindKey = require('./_baseFindKey'), - baseForOwn = require('./_baseForOwn'), - baseIteratee = require('./_baseIteratee'); - -/** - * This method is like `_.find` except that it returns the key of the first - * element `predicate` returns truthy for instead of the element itself. - * - * @static - * @memberOf _ - * @since 1.1.0 - * @category Object - * @param {Object} object The object to inspect. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {string|undefined} Returns the key of the matched element, - * else `undefined`. - * @example - * - * var users = { - * 'barney': { 'age': 36, 'active': true }, - * 'fred': { 'age': 40, 'active': false }, - * 'pebbles': { 'age': 1, 'active': true } - * }; - * - * _.findKey(users, function(o) { return o.age < 40; }); - * // => 'barney' (iteration order is not guaranteed) - * - * // The `_.matches` iteratee shorthand. - * _.findKey(users, { 'age': 1, 'active': true }); - * // => 'pebbles' - * - * // The `_.matchesProperty` iteratee shorthand. - * _.findKey(users, ['active', false]); - * // => 'fred' - * - * // The `_.property` iteratee shorthand. - * _.findKey(users, 'active'); - * // => 'barney' - */ -function findKey(object, predicate) { - return baseFindKey(object, baseIteratee(predicate, 3), baseForOwn); -} - -module.exports = findKey; diff --git a/packages/frontend-core/node_modules/lodash/findLast.js b/packages/frontend-core/node_modules/lodash/findLast.js deleted file mode 100644 index 70b4271dc3..0000000000 --- a/packages/frontend-core/node_modules/lodash/findLast.js +++ /dev/null @@ -1,25 +0,0 @@ -var createFind = require('./_createFind'), - findLastIndex = require('./findLastIndex'); - -/** - * This method is like `_.find` except that it iterates over elements of - * `collection` from right to left. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Collection - * @param {Array|Object} collection The collection to inspect. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @param {number} [fromIndex=collection.length-1] The index to search from. - * @returns {*} Returns the matched element, else `undefined`. - * @example - * - * _.findLast([1, 2, 3, 4], function(n) { - * return n % 2 == 1; - * }); - * // => 3 - */ -var findLast = createFind(findLastIndex); - -module.exports = findLast; diff --git a/packages/frontend-core/node_modules/lodash/findLastIndex.js b/packages/frontend-core/node_modules/lodash/findLastIndex.js deleted file mode 100644 index 7da3431f6d..0000000000 --- a/packages/frontend-core/node_modules/lodash/findLastIndex.js +++ /dev/null @@ -1,59 +0,0 @@ -var baseFindIndex = require('./_baseFindIndex'), - baseIteratee = require('./_baseIteratee'), - toInteger = require('./toInteger'); - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeMax = Math.max, - nativeMin = Math.min; - -/** - * This method is like `_.findIndex` except that it iterates over elements - * of `collection` from right to left. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @param {number} [fromIndex=array.length-1] The index to search from. - * @returns {number} Returns the index of the found element, else `-1`. - * @example - * - * var users = [ - * { 'user': 'barney', 'active': true }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': false } - * ]; - * - * _.findLastIndex(users, function(o) { return o.user == 'pebbles'; }); - * // => 2 - * - * // The `_.matches` iteratee shorthand. - * _.findLastIndex(users, { 'user': 'barney', 'active': true }); - * // => 0 - * - * // The `_.matchesProperty` iteratee shorthand. - * _.findLastIndex(users, ['active', false]); - * // => 2 - * - * // The `_.property` iteratee shorthand. - * _.findLastIndex(users, 'active'); - * // => 0 - */ -function findLastIndex(array, predicate, fromIndex) { - var length = array == null ? 0 : array.length; - if (!length) { - return -1; - } - var index = length - 1; - if (fromIndex !== undefined) { - index = toInteger(fromIndex); - index = fromIndex < 0 - ? nativeMax(length + index, 0) - : nativeMin(index, length - 1); - } - return baseFindIndex(array, baseIteratee(predicate, 3), index, true); -} - -module.exports = findLastIndex; diff --git a/packages/frontend-core/node_modules/lodash/findLastKey.js b/packages/frontend-core/node_modules/lodash/findLastKey.js deleted file mode 100644 index 66fb9fbcec..0000000000 --- a/packages/frontend-core/node_modules/lodash/findLastKey.js +++ /dev/null @@ -1,44 +0,0 @@ -var baseFindKey = require('./_baseFindKey'), - baseForOwnRight = require('./_baseForOwnRight'), - baseIteratee = require('./_baseIteratee'); - -/** - * This method is like `_.findKey` except that it iterates over elements of - * a collection in the opposite order. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Object - * @param {Object} object The object to inspect. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {string|undefined} Returns the key of the matched element, - * else `undefined`. - * @example - * - * var users = { - * 'barney': { 'age': 36, 'active': true }, - * 'fred': { 'age': 40, 'active': false }, - * 'pebbles': { 'age': 1, 'active': true } - * }; - * - * _.findLastKey(users, function(o) { return o.age < 40; }); - * // => returns 'pebbles' assuming `_.findKey` returns 'barney' - * - * // The `_.matches` iteratee shorthand. - * _.findLastKey(users, { 'age': 36, 'active': true }); - * // => 'barney' - * - * // The `_.matchesProperty` iteratee shorthand. - * _.findLastKey(users, ['active', false]); - * // => 'fred' - * - * // The `_.property` iteratee shorthand. - * _.findLastKey(users, 'active'); - * // => 'pebbles' - */ -function findLastKey(object, predicate) { - return baseFindKey(object, baseIteratee(predicate, 3), baseForOwnRight); -} - -module.exports = findLastKey; diff --git a/packages/frontend-core/node_modules/lodash/first.js b/packages/frontend-core/node_modules/lodash/first.js deleted file mode 100644 index 53f4ad13ee..0000000000 --- a/packages/frontend-core/node_modules/lodash/first.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./head'); diff --git a/packages/frontend-core/node_modules/lodash/flake.lock b/packages/frontend-core/node_modules/lodash/flake.lock deleted file mode 100644 index dd0325218d..0000000000 --- a/packages/frontend-core/node_modules/lodash/flake.lock +++ /dev/null @@ -1,40 +0,0 @@ -{ - "nodes": { - "nixpkgs": { - "locked": { - "lastModified": 1613582597, - "narHash": "sha256-6LvipIvFuhyorHpUqK3HjySC5Y6gshXHFBhU9EJ4DoM=", - "path": "/nix/store/srvplqq673sqd9vyfhyc5w1p88y1gfm4-source", - "rev": "6b1057b452c55bb3b463f0d7055bc4ec3fd1f381", - "type": "path" - }, - "original": { - "id": "nixpkgs", - "type": "indirect" - } - }, - "root": { - "inputs": { - "nixpkgs": "nixpkgs", - "utils": "utils" - } - }, - "utils": { - "locked": { - "lastModified": 1610051610, - "narHash": "sha256-U9rPz/usA1/Aohhk7Cmc2gBrEEKRzcW4nwPWMPwja4Y=", - "owner": "numtide", - "repo": "flake-utils", - "rev": "3982c9903e93927c2164caa727cd3f6a0e6d14cc", - "type": "github" - }, - "original": { - "owner": "numtide", - "repo": "flake-utils", - "type": "github" - } - } - }, - "root": "root", - "version": 7 -} diff --git a/packages/frontend-core/node_modules/lodash/flake.nix b/packages/frontend-core/node_modules/lodash/flake.nix deleted file mode 100644 index 15a451c6f2..0000000000 --- a/packages/frontend-core/node_modules/lodash/flake.nix +++ /dev/null @@ -1,20 +0,0 @@ -{ - inputs = { - utils.url = "github:numtide/flake-utils"; - }; - - outputs = { self, nixpkgs, utils }: - utils.lib.eachDefaultSystem (system: - let - pkgs = nixpkgs.legacyPackages."${system}"; - in rec { - devShell = pkgs.mkShell { - nativeBuildInputs = with pkgs; [ - yarn - nodejs-14_x - nodePackages.typescript-language-server - nodePackages.eslint - ]; - }; - }); -} diff --git a/packages/frontend-core/node_modules/lodash/flatMap.js b/packages/frontend-core/node_modules/lodash/flatMap.js deleted file mode 100644 index e6685068f5..0000000000 --- a/packages/frontend-core/node_modules/lodash/flatMap.js +++ /dev/null @@ -1,29 +0,0 @@ -var baseFlatten = require('./_baseFlatten'), - map = require('./map'); - -/** - * Creates a flattened array of values by running each element in `collection` - * thru `iteratee` and flattening the mapped results. The iteratee is invoked - * with three arguments: (value, index|key, collection). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Array} Returns the new flattened array. - * @example - * - * function duplicate(n) { - * return [n, n]; - * } - * - * _.flatMap([1, 2], duplicate); - * // => [1, 1, 2, 2] - */ -function flatMap(collection, iteratee) { - return baseFlatten(map(collection, iteratee), 1); -} - -module.exports = flatMap; diff --git a/packages/frontend-core/node_modules/lodash/flatMapDeep.js b/packages/frontend-core/node_modules/lodash/flatMapDeep.js deleted file mode 100644 index 4653d60333..0000000000 --- a/packages/frontend-core/node_modules/lodash/flatMapDeep.js +++ /dev/null @@ -1,31 +0,0 @@ -var baseFlatten = require('./_baseFlatten'), - map = require('./map'); - -/** Used as references for various `Number` constants. */ -var INFINITY = 1 / 0; - -/** - * This method is like `_.flatMap` except that it recursively flattens the - * mapped results. - * - * @static - * @memberOf _ - * @since 4.7.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Array} Returns the new flattened array. - * @example - * - * function duplicate(n) { - * return [[[n, n]]]; - * } - * - * _.flatMapDeep([1, 2], duplicate); - * // => [1, 1, 2, 2] - */ -function flatMapDeep(collection, iteratee) { - return baseFlatten(map(collection, iteratee), INFINITY); -} - -module.exports = flatMapDeep; diff --git a/packages/frontend-core/node_modules/lodash/flatMapDepth.js b/packages/frontend-core/node_modules/lodash/flatMapDepth.js deleted file mode 100644 index 6d72005c97..0000000000 --- a/packages/frontend-core/node_modules/lodash/flatMapDepth.js +++ /dev/null @@ -1,31 +0,0 @@ -var baseFlatten = require('./_baseFlatten'), - map = require('./map'), - toInteger = require('./toInteger'); - -/** - * This method is like `_.flatMap` except that it recursively flattens the - * mapped results up to `depth` times. - * - * @static - * @memberOf _ - * @since 4.7.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @param {number} [depth=1] The maximum recursion depth. - * @returns {Array} Returns the new flattened array. - * @example - * - * function duplicate(n) { - * return [[[n, n]]]; - * } - * - * _.flatMapDepth([1, 2], duplicate, 2); - * // => [[1, 1], [2, 2]] - */ -function flatMapDepth(collection, iteratee, depth) { - depth = depth === undefined ? 1 : toInteger(depth); - return baseFlatten(map(collection, iteratee), depth); -} - -module.exports = flatMapDepth; diff --git a/packages/frontend-core/node_modules/lodash/flatten.js b/packages/frontend-core/node_modules/lodash/flatten.js deleted file mode 100644 index 3f09f7f770..0000000000 --- a/packages/frontend-core/node_modules/lodash/flatten.js +++ /dev/null @@ -1,22 +0,0 @@ -var baseFlatten = require('./_baseFlatten'); - -/** - * Flattens `array` a single level deep. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to flatten. - * @returns {Array} Returns the new flattened array. - * @example - * - * _.flatten([1, [2, [3, [4]], 5]]); - * // => [1, 2, [3, [4]], 5] - */ -function flatten(array) { - var length = array == null ? 0 : array.length; - return length ? baseFlatten(array, 1) : []; -} - -module.exports = flatten; diff --git a/packages/frontend-core/node_modules/lodash/flattenDeep.js b/packages/frontend-core/node_modules/lodash/flattenDeep.js deleted file mode 100644 index 8ad585cf49..0000000000 --- a/packages/frontend-core/node_modules/lodash/flattenDeep.js +++ /dev/null @@ -1,25 +0,0 @@ -var baseFlatten = require('./_baseFlatten'); - -/** Used as references for various `Number` constants. */ -var INFINITY = 1 / 0; - -/** - * Recursively flattens `array`. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to flatten. - * @returns {Array} Returns the new flattened array. - * @example - * - * _.flattenDeep([1, [2, [3, [4]], 5]]); - * // => [1, 2, 3, 4, 5] - */ -function flattenDeep(array) { - var length = array == null ? 0 : array.length; - return length ? baseFlatten(array, INFINITY) : []; -} - -module.exports = flattenDeep; diff --git a/packages/frontend-core/node_modules/lodash/flattenDepth.js b/packages/frontend-core/node_modules/lodash/flattenDepth.js deleted file mode 100644 index 441fdcc224..0000000000 --- a/packages/frontend-core/node_modules/lodash/flattenDepth.js +++ /dev/null @@ -1,33 +0,0 @@ -var baseFlatten = require('./_baseFlatten'), - toInteger = require('./toInteger'); - -/** - * Recursively flatten `array` up to `depth` times. - * - * @static - * @memberOf _ - * @since 4.4.0 - * @category Array - * @param {Array} array The array to flatten. - * @param {number} [depth=1] The maximum recursion depth. - * @returns {Array} Returns the new flattened array. - * @example - * - * var array = [1, [2, [3, [4]], 5]]; - * - * _.flattenDepth(array, 1); - * // => [1, 2, [3, [4]], 5] - * - * _.flattenDepth(array, 2); - * // => [1, 2, 3, [4], 5] - */ -function flattenDepth(array, depth) { - var length = array == null ? 0 : array.length; - if (!length) { - return []; - } - depth = depth === undefined ? 1 : toInteger(depth); - return baseFlatten(array, depth); -} - -module.exports = flattenDepth; diff --git a/packages/frontend-core/node_modules/lodash/flip.js b/packages/frontend-core/node_modules/lodash/flip.js deleted file mode 100644 index c28dd7896f..0000000000 --- a/packages/frontend-core/node_modules/lodash/flip.js +++ /dev/null @@ -1,28 +0,0 @@ -var createWrap = require('./_createWrap'); - -/** Used to compose bitmasks for function metadata. */ -var WRAP_FLIP_FLAG = 512; - -/** - * Creates a function that invokes `func` with arguments reversed. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Function - * @param {Function} func The function to flip arguments for. - * @returns {Function} Returns the new flipped function. - * @example - * - * var flipped = _.flip(function() { - * return _.toArray(arguments); - * }); - * - * flipped('a', 'b', 'c', 'd'); - * // => ['d', 'c', 'b', 'a'] - */ -function flip(func) { - return createWrap(func, WRAP_FLIP_FLAG); -} - -module.exports = flip; diff --git a/packages/frontend-core/node_modules/lodash/floor.js b/packages/frontend-core/node_modules/lodash/floor.js deleted file mode 100644 index ab6dfa28a4..0000000000 --- a/packages/frontend-core/node_modules/lodash/floor.js +++ /dev/null @@ -1,26 +0,0 @@ -var createRound = require('./_createRound'); - -/** - * Computes `number` rounded down to `precision`. - * - * @static - * @memberOf _ - * @since 3.10.0 - * @category Math - * @param {number} number The number to round down. - * @param {number} [precision=0] The precision to round down to. - * @returns {number} Returns the rounded down number. - * @example - * - * _.floor(4.006); - * // => 4 - * - * _.floor(0.046, 2); - * // => 0.04 - * - * _.floor(4060, -2); - * // => 4000 - */ -var floor = createRound('floor'); - -module.exports = floor; diff --git a/packages/frontend-core/node_modules/lodash/flow.js b/packages/frontend-core/node_modules/lodash/flow.js deleted file mode 100644 index 74b6b62d40..0000000000 --- a/packages/frontend-core/node_modules/lodash/flow.js +++ /dev/null @@ -1,27 +0,0 @@ -var createFlow = require('./_createFlow'); - -/** - * Creates a function that returns the result of invoking the given functions - * with the `this` binding of the created function, where each successive - * invocation is supplied the return value of the previous. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Util - * @param {...(Function|Function[])} [funcs] The functions to invoke. - * @returns {Function} Returns the new composite function. - * @see _.flowRight - * @example - * - * function square(n) { - * return n * n; - * } - * - * var addSquare = _.flow([_.add, square]); - * addSquare(1, 2); - * // => 9 - */ -var flow = createFlow(); - -module.exports = flow; diff --git a/packages/frontend-core/node_modules/lodash/flowRight.js b/packages/frontend-core/node_modules/lodash/flowRight.js deleted file mode 100644 index 1146141059..0000000000 --- a/packages/frontend-core/node_modules/lodash/flowRight.js +++ /dev/null @@ -1,26 +0,0 @@ -var createFlow = require('./_createFlow'); - -/** - * This method is like `_.flow` except that it creates a function that - * invokes the given functions from right to left. - * - * @static - * @since 3.0.0 - * @memberOf _ - * @category Util - * @param {...(Function|Function[])} [funcs] The functions to invoke. - * @returns {Function} Returns the new composite function. - * @see _.flow - * @example - * - * function square(n) { - * return n * n; - * } - * - * var addSquare = _.flowRight([square, _.add]); - * addSquare(1, 2); - * // => 9 - */ -var flowRight = createFlow(true); - -module.exports = flowRight; diff --git a/packages/frontend-core/node_modules/lodash/forEach.js b/packages/frontend-core/node_modules/lodash/forEach.js deleted file mode 100644 index c64eaa73f1..0000000000 --- a/packages/frontend-core/node_modules/lodash/forEach.js +++ /dev/null @@ -1,41 +0,0 @@ -var arrayEach = require('./_arrayEach'), - baseEach = require('./_baseEach'), - castFunction = require('./_castFunction'), - isArray = require('./isArray'); - -/** - * Iterates over elements of `collection` and invokes `iteratee` for each element. - * The iteratee is invoked with three arguments: (value, index|key, collection). - * Iteratee functions may exit iteration early by explicitly returning `false`. - * - * **Note:** As with other "Collections" methods, objects with a "length" - * property are iterated like arrays. To avoid this behavior use `_.forIn` - * or `_.forOwn` for object iteration. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @alias each - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Array|Object} Returns `collection`. - * @see _.forEachRight - * @example - * - * _.forEach([1, 2], function(value) { - * console.log(value); - * }); - * // => Logs `1` then `2`. - * - * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) { - * console.log(key); - * }); - * // => Logs 'a' then 'b' (iteration order is not guaranteed). - */ -function forEach(collection, iteratee) { - var func = isArray(collection) ? arrayEach : baseEach; - return func(collection, castFunction(iteratee)); -} - -module.exports = forEach; diff --git a/packages/frontend-core/node_modules/lodash/forEachRight.js b/packages/frontend-core/node_modules/lodash/forEachRight.js deleted file mode 100644 index 7390ebaf85..0000000000 --- a/packages/frontend-core/node_modules/lodash/forEachRight.js +++ /dev/null @@ -1,31 +0,0 @@ -var arrayEachRight = require('./_arrayEachRight'), - baseEachRight = require('./_baseEachRight'), - castFunction = require('./_castFunction'), - isArray = require('./isArray'); - -/** - * This method is like `_.forEach` except that it iterates over elements of - * `collection` from right to left. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @alias eachRight - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Array|Object} Returns `collection`. - * @see _.forEach - * @example - * - * _.forEachRight([1, 2], function(value) { - * console.log(value); - * }); - * // => Logs `2` then `1`. - */ -function forEachRight(collection, iteratee) { - var func = isArray(collection) ? arrayEachRight : baseEachRight; - return func(collection, castFunction(iteratee)); -} - -module.exports = forEachRight; diff --git a/packages/frontend-core/node_modules/lodash/forIn.js b/packages/frontend-core/node_modules/lodash/forIn.js deleted file mode 100644 index 583a59638f..0000000000 --- a/packages/frontend-core/node_modules/lodash/forIn.js +++ /dev/null @@ -1,39 +0,0 @@ -var baseFor = require('./_baseFor'), - castFunction = require('./_castFunction'), - keysIn = require('./keysIn'); - -/** - * Iterates over own and inherited enumerable string keyed properties of an - * object and invokes `iteratee` for each property. The iteratee is invoked - * with three arguments: (value, key, object). Iteratee functions may exit - * iteration early by explicitly returning `false`. - * - * @static - * @memberOf _ - * @since 0.3.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Object} Returns `object`. - * @see _.forInRight - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.forIn(new Foo, function(value, key) { - * console.log(key); - * }); - * // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed). - */ -function forIn(object, iteratee) { - return object == null - ? object - : baseFor(object, castFunction(iteratee), keysIn); -} - -module.exports = forIn; diff --git a/packages/frontend-core/node_modules/lodash/forInRight.js b/packages/frontend-core/node_modules/lodash/forInRight.js deleted file mode 100644 index 4aedf58af5..0000000000 --- a/packages/frontend-core/node_modules/lodash/forInRight.js +++ /dev/null @@ -1,37 +0,0 @@ -var baseForRight = require('./_baseForRight'), - castFunction = require('./_castFunction'), - keysIn = require('./keysIn'); - -/** - * This method is like `_.forIn` except that it iterates over properties of - * `object` in the opposite order. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Object} Returns `object`. - * @see _.forIn - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.forInRight(new Foo, function(value, key) { - * console.log(key); - * }); - * // => Logs 'c', 'b', then 'a' assuming `_.forIn` logs 'a', 'b', then 'c'. - */ -function forInRight(object, iteratee) { - return object == null - ? object - : baseForRight(object, castFunction(iteratee), keysIn); -} - -module.exports = forInRight; diff --git a/packages/frontend-core/node_modules/lodash/forOwn.js b/packages/frontend-core/node_modules/lodash/forOwn.js deleted file mode 100644 index 94eed8402a..0000000000 --- a/packages/frontend-core/node_modules/lodash/forOwn.js +++ /dev/null @@ -1,36 +0,0 @@ -var baseForOwn = require('./_baseForOwn'), - castFunction = require('./_castFunction'); - -/** - * Iterates over own enumerable string keyed properties of an object and - * invokes `iteratee` for each property. The iteratee is invoked with three - * arguments: (value, key, object). Iteratee functions may exit iteration - * early by explicitly returning `false`. - * - * @static - * @memberOf _ - * @since 0.3.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Object} Returns `object`. - * @see _.forOwnRight - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.forOwn(new Foo, function(value, key) { - * console.log(key); - * }); - * // => Logs 'a' then 'b' (iteration order is not guaranteed). - */ -function forOwn(object, iteratee) { - return object && baseForOwn(object, castFunction(iteratee)); -} - -module.exports = forOwn; diff --git a/packages/frontend-core/node_modules/lodash/forOwnRight.js b/packages/frontend-core/node_modules/lodash/forOwnRight.js deleted file mode 100644 index 86f338f032..0000000000 --- a/packages/frontend-core/node_modules/lodash/forOwnRight.js +++ /dev/null @@ -1,34 +0,0 @@ -var baseForOwnRight = require('./_baseForOwnRight'), - castFunction = require('./_castFunction'); - -/** - * This method is like `_.forOwn` except that it iterates over properties of - * `object` in the opposite order. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Object} Returns `object`. - * @see _.forOwn - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.forOwnRight(new Foo, function(value, key) { - * console.log(key); - * }); - * // => Logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'. - */ -function forOwnRight(object, iteratee) { - return object && baseForOwnRight(object, castFunction(iteratee)); -} - -module.exports = forOwnRight; diff --git a/packages/frontend-core/node_modules/lodash/fp.js b/packages/frontend-core/node_modules/lodash/fp.js deleted file mode 100644 index e372dbbdf6..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp.js +++ /dev/null @@ -1,2 +0,0 @@ -var _ = require('./lodash.min').runInContext(); -module.exports = require('./fp/_baseConvert')(_, _); diff --git a/packages/frontend-core/node_modules/lodash/fp/F.js b/packages/frontend-core/node_modules/lodash/fp/F.js deleted file mode 100644 index a05a63ad9c..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/F.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./stubFalse'); diff --git a/packages/frontend-core/node_modules/lodash/fp/T.js b/packages/frontend-core/node_modules/lodash/fp/T.js deleted file mode 100644 index e2ba8ea569..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/T.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./stubTrue'); diff --git a/packages/frontend-core/node_modules/lodash/fp/__.js b/packages/frontend-core/node_modules/lodash/fp/__.js deleted file mode 100644 index 4af98deb4e..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/__.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./placeholder'); diff --git a/packages/frontend-core/node_modules/lodash/fp/_baseConvert.js b/packages/frontend-core/node_modules/lodash/fp/_baseConvert.js deleted file mode 100644 index 9baf8e1902..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/_baseConvert.js +++ /dev/null @@ -1,569 +0,0 @@ -var mapping = require('./_mapping'), - fallbackHolder = require('./placeholder'); - -/** Built-in value reference. */ -var push = Array.prototype.push; - -/** - * Creates a function, with an arity of `n`, that invokes `func` with the - * arguments it receives. - * - * @private - * @param {Function} func The function to wrap. - * @param {number} n The arity of the new function. - * @returns {Function} Returns the new function. - */ -function baseArity(func, n) { - return n == 2 - ? function(a, b) { return func.apply(undefined, arguments); } - : function(a) { return func.apply(undefined, arguments); }; -} - -/** - * Creates a function that invokes `func`, with up to `n` arguments, ignoring - * any additional arguments. - * - * @private - * @param {Function} func The function to cap arguments for. - * @param {number} n The arity cap. - * @returns {Function} Returns the new function. - */ -function baseAry(func, n) { - return n == 2 - ? function(a, b) { return func(a, b); } - : function(a) { return func(a); }; -} - -/** - * Creates a clone of `array`. - * - * @private - * @param {Array} array The array to clone. - * @returns {Array} Returns the cloned array. - */ -function cloneArray(array) { - var length = array ? array.length : 0, - result = Array(length); - - while (length--) { - result[length] = array[length]; - } - return result; -} - -/** - * Creates a function that clones a given object using the assignment `func`. - * - * @private - * @param {Function} func The assignment function. - * @returns {Function} Returns the new cloner function. - */ -function createCloner(func) { - return function(object) { - return func({}, object); - }; -} - -/** - * A specialized version of `_.spread` which flattens the spread array into - * the arguments of the invoked `func`. - * - * @private - * @param {Function} func The function to spread arguments over. - * @param {number} start The start position of the spread. - * @returns {Function} Returns the new function. - */ -function flatSpread(func, start) { - return function() { - var length = arguments.length, - lastIndex = length - 1, - args = Array(length); - - while (length--) { - args[length] = arguments[length]; - } - var array = args[start], - otherArgs = args.slice(0, start); - - if (array) { - push.apply(otherArgs, array); - } - if (start != lastIndex) { - push.apply(otherArgs, args.slice(start + 1)); - } - return func.apply(this, otherArgs); - }; -} - -/** - * Creates a function that wraps `func` and uses `cloner` to clone the first - * argument it receives. - * - * @private - * @param {Function} func The function to wrap. - * @param {Function} cloner The function to clone arguments. - * @returns {Function} Returns the new immutable function. - */ -function wrapImmutable(func, cloner) { - return function() { - var length = arguments.length; - if (!length) { - return; - } - var args = Array(length); - while (length--) { - args[length] = arguments[length]; - } - var result = args[0] = cloner.apply(undefined, args); - func.apply(undefined, args); - return result; - }; -} - -/** - * The base implementation of `convert` which accepts a `util` object of methods - * required to perform conversions. - * - * @param {Object} util The util object. - * @param {string} name The name of the function to convert. - * @param {Function} func The function to convert. - * @param {Object} [options] The options object. - * @param {boolean} [options.cap=true] Specify capping iteratee arguments. - * @param {boolean} [options.curry=true] Specify currying. - * @param {boolean} [options.fixed=true] Specify fixed arity. - * @param {boolean} [options.immutable=true] Specify immutable operations. - * @param {boolean} [options.rearg=true] Specify rearranging arguments. - * @returns {Function|Object} Returns the converted function or object. - */ -function baseConvert(util, name, func, options) { - var isLib = typeof name == 'function', - isObj = name === Object(name); - - if (isObj) { - options = func; - func = name; - name = undefined; - } - if (func == null) { - throw new TypeError; - } - options || (options = {}); - - var config = { - 'cap': 'cap' in options ? options.cap : true, - 'curry': 'curry' in options ? options.curry : true, - 'fixed': 'fixed' in options ? options.fixed : true, - 'immutable': 'immutable' in options ? options.immutable : true, - 'rearg': 'rearg' in options ? options.rearg : true - }; - - var defaultHolder = isLib ? func : fallbackHolder, - forceCurry = ('curry' in options) && options.curry, - forceFixed = ('fixed' in options) && options.fixed, - forceRearg = ('rearg' in options) && options.rearg, - pristine = isLib ? func.runInContext() : undefined; - - var helpers = isLib ? func : { - 'ary': util.ary, - 'assign': util.assign, - 'clone': util.clone, - 'curry': util.curry, - 'forEach': util.forEach, - 'isArray': util.isArray, - 'isError': util.isError, - 'isFunction': util.isFunction, - 'isWeakMap': util.isWeakMap, - 'iteratee': util.iteratee, - 'keys': util.keys, - 'rearg': util.rearg, - 'toInteger': util.toInteger, - 'toPath': util.toPath - }; - - var ary = helpers.ary, - assign = helpers.assign, - clone = helpers.clone, - curry = helpers.curry, - each = helpers.forEach, - isArray = helpers.isArray, - isError = helpers.isError, - isFunction = helpers.isFunction, - isWeakMap = helpers.isWeakMap, - keys = helpers.keys, - rearg = helpers.rearg, - toInteger = helpers.toInteger, - toPath = helpers.toPath; - - var aryMethodKeys = keys(mapping.aryMethod); - - var wrappers = { - 'castArray': function(castArray) { - return function() { - var value = arguments[0]; - return isArray(value) - ? castArray(cloneArray(value)) - : castArray.apply(undefined, arguments); - }; - }, - 'iteratee': function(iteratee) { - return function() { - var func = arguments[0], - arity = arguments[1], - result = iteratee(func, arity), - length = result.length; - - if (config.cap && typeof arity == 'number') { - arity = arity > 2 ? (arity - 2) : 1; - return (length && length <= arity) ? result : baseAry(result, arity); - } - return result; - }; - }, - 'mixin': function(mixin) { - return function(source) { - var func = this; - if (!isFunction(func)) { - return mixin(func, Object(source)); - } - var pairs = []; - each(keys(source), function(key) { - if (isFunction(source[key])) { - pairs.push([key, func.prototype[key]]); - } - }); - - mixin(func, Object(source)); - - each(pairs, function(pair) { - var value = pair[1]; - if (isFunction(value)) { - func.prototype[pair[0]] = value; - } else { - delete func.prototype[pair[0]]; - } - }); - return func; - }; - }, - 'nthArg': function(nthArg) { - return function(n) { - var arity = n < 0 ? 1 : (toInteger(n) + 1); - return curry(nthArg(n), arity); - }; - }, - 'rearg': function(rearg) { - return function(func, indexes) { - var arity = indexes ? indexes.length : 0; - return curry(rearg(func, indexes), arity); - }; - }, - 'runInContext': function(runInContext) { - return function(context) { - return baseConvert(util, runInContext(context), options); - }; - } - }; - - /*--------------------------------------------------------------------------*/ - - /** - * Casts `func` to a function with an arity capped iteratee if needed. - * - * @private - * @param {string} name The name of the function to inspect. - * @param {Function} func The function to inspect. - * @returns {Function} Returns the cast function. - */ - function castCap(name, func) { - if (config.cap) { - var indexes = mapping.iterateeRearg[name]; - if (indexes) { - return iterateeRearg(func, indexes); - } - var n = !isLib && mapping.iterateeAry[name]; - if (n) { - return iterateeAry(func, n); - } - } - return func; - } - - /** - * Casts `func` to a curried function if needed. - * - * @private - * @param {string} name The name of the function to inspect. - * @param {Function} func The function to inspect. - * @param {number} n The arity of `func`. - * @returns {Function} Returns the cast function. - */ - function castCurry(name, func, n) { - return (forceCurry || (config.curry && n > 1)) - ? curry(func, n) - : func; - } - - /** - * Casts `func` to a fixed arity function if needed. - * - * @private - * @param {string} name The name of the function to inspect. - * @param {Function} func The function to inspect. - * @param {number} n The arity cap. - * @returns {Function} Returns the cast function. - */ - function castFixed(name, func, n) { - if (config.fixed && (forceFixed || !mapping.skipFixed[name])) { - var data = mapping.methodSpread[name], - start = data && data.start; - - return start === undefined ? ary(func, n) : flatSpread(func, start); - } - return func; - } - - /** - * Casts `func` to an rearged function if needed. - * - * @private - * @param {string} name The name of the function to inspect. - * @param {Function} func The function to inspect. - * @param {number} n The arity of `func`. - * @returns {Function} Returns the cast function. - */ - function castRearg(name, func, n) { - return (config.rearg && n > 1 && (forceRearg || !mapping.skipRearg[name])) - ? rearg(func, mapping.methodRearg[name] || mapping.aryRearg[n]) - : func; - } - - /** - * Creates a clone of `object` by `path`. - * - * @private - * @param {Object} object The object to clone. - * @param {Array|string} path The path to clone by. - * @returns {Object} Returns the cloned object. - */ - function cloneByPath(object, path) { - path = toPath(path); - - var index = -1, - length = path.length, - lastIndex = length - 1, - result = clone(Object(object)), - nested = result; - - while (nested != null && ++index < length) { - var key = path[index], - value = nested[key]; - - if (value != null && - !(isFunction(value) || isError(value) || isWeakMap(value))) { - nested[key] = clone(index == lastIndex ? value : Object(value)); - } - nested = nested[key]; - } - return result; - } - - /** - * Converts `lodash` to an immutable auto-curried iteratee-first data-last - * version with conversion `options` applied. - * - * @param {Object} [options] The options object. See `baseConvert` for more details. - * @returns {Function} Returns the converted `lodash`. - */ - function convertLib(options) { - return _.runInContext.convert(options)(undefined); - } - - /** - * Create a converter function for `func` of `name`. - * - * @param {string} name The name of the function to convert. - * @param {Function} func The function to convert. - * @returns {Function} Returns the new converter function. - */ - function createConverter(name, func) { - var realName = mapping.aliasToReal[name] || name, - methodName = mapping.remap[realName] || realName, - oldOptions = options; - - return function(options) { - var newUtil = isLib ? pristine : helpers, - newFunc = isLib ? pristine[methodName] : func, - newOptions = assign(assign({}, oldOptions), options); - - return baseConvert(newUtil, realName, newFunc, newOptions); - }; - } - - /** - * Creates a function that wraps `func` to invoke its iteratee, with up to `n` - * arguments, ignoring any additional arguments. - * - * @private - * @param {Function} func The function to cap iteratee arguments for. - * @param {number} n The arity cap. - * @returns {Function} Returns the new function. - */ - function iterateeAry(func, n) { - return overArg(func, function(func) { - return typeof func == 'function' ? baseAry(func, n) : func; - }); - } - - /** - * Creates a function that wraps `func` to invoke its iteratee with arguments - * arranged according to the specified `indexes` where the argument value at - * the first index is provided as the first argument, the argument value at - * the second index is provided as the second argument, and so on. - * - * @private - * @param {Function} func The function to rearrange iteratee arguments for. - * @param {number[]} indexes The arranged argument indexes. - * @returns {Function} Returns the new function. - */ - function iterateeRearg(func, indexes) { - return overArg(func, function(func) { - var n = indexes.length; - return baseArity(rearg(baseAry(func, n), indexes), n); - }); - } - - /** - * Creates a function that invokes `func` with its first argument transformed. - * - * @private - * @param {Function} func The function to wrap. - * @param {Function} transform The argument transform. - * @returns {Function} Returns the new function. - */ - function overArg(func, transform) { - return function() { - var length = arguments.length; - if (!length) { - return func(); - } - var args = Array(length); - while (length--) { - args[length] = arguments[length]; - } - var index = config.rearg ? 0 : (length - 1); - args[index] = transform(args[index]); - return func.apply(undefined, args); - }; - } - - /** - * Creates a function that wraps `func` and applys the conversions - * rules by `name`. - * - * @private - * @param {string} name The name of the function to wrap. - * @param {Function} func The function to wrap. - * @returns {Function} Returns the converted function. - */ - function wrap(name, func, placeholder) { - var result, - realName = mapping.aliasToReal[name] || name, - wrapped = func, - wrapper = wrappers[realName]; - - if (wrapper) { - wrapped = wrapper(func); - } - else if (config.immutable) { - if (mapping.mutate.array[realName]) { - wrapped = wrapImmutable(func, cloneArray); - } - else if (mapping.mutate.object[realName]) { - wrapped = wrapImmutable(func, createCloner(func)); - } - else if (mapping.mutate.set[realName]) { - wrapped = wrapImmutable(func, cloneByPath); - } - } - each(aryMethodKeys, function(aryKey) { - each(mapping.aryMethod[aryKey], function(otherName) { - if (realName == otherName) { - var data = mapping.methodSpread[realName], - afterRearg = data && data.afterRearg; - - result = afterRearg - ? castFixed(realName, castRearg(realName, wrapped, aryKey), aryKey) - : castRearg(realName, castFixed(realName, wrapped, aryKey), aryKey); - - result = castCap(realName, result); - result = castCurry(realName, result, aryKey); - return false; - } - }); - return !result; - }); - - result || (result = wrapped); - if (result == func) { - result = forceCurry ? curry(result, 1) : function() { - return func.apply(this, arguments); - }; - } - result.convert = createConverter(realName, func); - result.placeholder = func.placeholder = placeholder; - - return result; - } - - /*--------------------------------------------------------------------------*/ - - if (!isObj) { - return wrap(name, func, defaultHolder); - } - var _ = func; - - // Convert methods by ary cap. - var pairs = []; - each(aryMethodKeys, function(aryKey) { - each(mapping.aryMethod[aryKey], function(key) { - var func = _[mapping.remap[key] || key]; - if (func) { - pairs.push([key, wrap(key, func, _)]); - } - }); - }); - - // Convert remaining methods. - each(keys(_), function(key) { - var func = _[key]; - if (typeof func == 'function') { - var length = pairs.length; - while (length--) { - if (pairs[length][0] == key) { - return; - } - } - func.convert = createConverter(key, func); - pairs.push([key, func]); - } - }); - - // Assign to `_` leaving `_.prototype` unchanged to allow chaining. - each(pairs, function(pair) { - _[pair[0]] = pair[1]; - }); - - _.convert = convertLib; - _.placeholder = _; - - // Assign aliases. - each(keys(_), function(key) { - each(mapping.realToAlias[key] || [], function(alias) { - _[alias] = _[key]; - }); - }); - - return _; -} - -module.exports = baseConvert; diff --git a/packages/frontend-core/node_modules/lodash/fp/_convertBrowser.js b/packages/frontend-core/node_modules/lodash/fp/_convertBrowser.js deleted file mode 100644 index bde030dc08..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/_convertBrowser.js +++ /dev/null @@ -1,18 +0,0 @@ -var baseConvert = require('./_baseConvert'); - -/** - * Converts `lodash` to an immutable auto-curried iteratee-first data-last - * version with conversion `options` applied. - * - * @param {Function} lodash The lodash function to convert. - * @param {Object} [options] The options object. See `baseConvert` for more details. - * @returns {Function} Returns the converted `lodash`. - */ -function browserConvert(lodash, options) { - return baseConvert(lodash, lodash, options); -} - -if (typeof _ == 'function' && typeof _.runInContext == 'function') { - _ = browserConvert(_.runInContext()); -} -module.exports = browserConvert; diff --git a/packages/frontend-core/node_modules/lodash/fp/_falseOptions.js b/packages/frontend-core/node_modules/lodash/fp/_falseOptions.js deleted file mode 100644 index 773235e343..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/_falseOptions.js +++ /dev/null @@ -1,7 +0,0 @@ -module.exports = { - 'cap': false, - 'curry': false, - 'fixed': false, - 'immutable': false, - 'rearg': false -}; diff --git a/packages/frontend-core/node_modules/lodash/fp/_mapping.js b/packages/frontend-core/node_modules/lodash/fp/_mapping.js deleted file mode 100644 index a642ec0584..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/_mapping.js +++ /dev/null @@ -1,358 +0,0 @@ -/** Used to map aliases to their real names. */ -exports.aliasToReal = { - - // Lodash aliases. - 'each': 'forEach', - 'eachRight': 'forEachRight', - 'entries': 'toPairs', - 'entriesIn': 'toPairsIn', - 'extend': 'assignIn', - 'extendAll': 'assignInAll', - 'extendAllWith': 'assignInAllWith', - 'extendWith': 'assignInWith', - 'first': 'head', - - // Methods that are curried variants of others. - 'conforms': 'conformsTo', - 'matches': 'isMatch', - 'property': 'get', - - // Ramda aliases. - '__': 'placeholder', - 'F': 'stubFalse', - 'T': 'stubTrue', - 'all': 'every', - 'allPass': 'overEvery', - 'always': 'constant', - 'any': 'some', - 'anyPass': 'overSome', - 'apply': 'spread', - 'assoc': 'set', - 'assocPath': 'set', - 'complement': 'negate', - 'compose': 'flowRight', - 'contains': 'includes', - 'dissoc': 'unset', - 'dissocPath': 'unset', - 'dropLast': 'dropRight', - 'dropLastWhile': 'dropRightWhile', - 'equals': 'isEqual', - 'identical': 'eq', - 'indexBy': 'keyBy', - 'init': 'initial', - 'invertObj': 'invert', - 'juxt': 'over', - 'omitAll': 'omit', - 'nAry': 'ary', - 'path': 'get', - 'pathEq': 'matchesProperty', - 'pathOr': 'getOr', - 'paths': 'at', - 'pickAll': 'pick', - 'pipe': 'flow', - 'pluck': 'map', - 'prop': 'get', - 'propEq': 'matchesProperty', - 'propOr': 'getOr', - 'props': 'at', - 'symmetricDifference': 'xor', - 'symmetricDifferenceBy': 'xorBy', - 'symmetricDifferenceWith': 'xorWith', - 'takeLast': 'takeRight', - 'takeLastWhile': 'takeRightWhile', - 'unapply': 'rest', - 'unnest': 'flatten', - 'useWith': 'overArgs', - 'where': 'conformsTo', - 'whereEq': 'isMatch', - 'zipObj': 'zipObject' -}; - -/** Used to map ary to method names. */ -exports.aryMethod = { - '1': [ - 'assignAll', 'assignInAll', 'attempt', 'castArray', 'ceil', 'create', - 'curry', 'curryRight', 'defaultsAll', 'defaultsDeepAll', 'floor', 'flow', - 'flowRight', 'fromPairs', 'invert', 'iteratee', 'memoize', 'method', 'mergeAll', - 'methodOf', 'mixin', 'nthArg', 'over', 'overEvery', 'overSome','rest', 'reverse', - 'round', 'runInContext', 'spread', 'template', 'trim', 'trimEnd', 'trimStart', - 'uniqueId', 'words', 'zipAll' - ], - '2': [ - 'add', 'after', 'ary', 'assign', 'assignAllWith', 'assignIn', 'assignInAllWith', - 'at', 'before', 'bind', 'bindAll', 'bindKey', 'chunk', 'cloneDeepWith', - 'cloneWith', 'concat', 'conformsTo', 'countBy', 'curryN', 'curryRightN', - 'debounce', 'defaults', 'defaultsDeep', 'defaultTo', 'delay', 'difference', - 'divide', 'drop', 'dropRight', 'dropRightWhile', 'dropWhile', 'endsWith', 'eq', - 'every', 'filter', 'find', 'findIndex', 'findKey', 'findLast', 'findLastIndex', - 'findLastKey', 'flatMap', 'flatMapDeep', 'flattenDepth', 'forEach', - 'forEachRight', 'forIn', 'forInRight', 'forOwn', 'forOwnRight', 'get', - 'groupBy', 'gt', 'gte', 'has', 'hasIn', 'includes', 'indexOf', 'intersection', - 'invertBy', 'invoke', 'invokeMap', 'isEqual', 'isMatch', 'join', 'keyBy', - 'lastIndexOf', 'lt', 'lte', 'map', 'mapKeys', 'mapValues', 'matchesProperty', - 'maxBy', 'meanBy', 'merge', 'mergeAllWith', 'minBy', 'multiply', 'nth', 'omit', - 'omitBy', 'overArgs', 'pad', 'padEnd', 'padStart', 'parseInt', 'partial', - 'partialRight', 'partition', 'pick', 'pickBy', 'propertyOf', 'pull', 'pullAll', - 'pullAt', 'random', 'range', 'rangeRight', 'rearg', 'reject', 'remove', - 'repeat', 'restFrom', 'result', 'sampleSize', 'some', 'sortBy', 'sortedIndex', - 'sortedIndexOf', 'sortedLastIndex', 'sortedLastIndexOf', 'sortedUniqBy', - 'split', 'spreadFrom', 'startsWith', 'subtract', 'sumBy', 'take', 'takeRight', - 'takeRightWhile', 'takeWhile', 'tap', 'throttle', 'thru', 'times', 'trimChars', - 'trimCharsEnd', 'trimCharsStart', 'truncate', 'union', 'uniqBy', 'uniqWith', - 'unset', 'unzipWith', 'without', 'wrap', 'xor', 'zip', 'zipObject', - 'zipObjectDeep' - ], - '3': [ - 'assignInWith', 'assignWith', 'clamp', 'differenceBy', 'differenceWith', - 'findFrom', 'findIndexFrom', 'findLastFrom', 'findLastIndexFrom', 'getOr', - 'includesFrom', 'indexOfFrom', 'inRange', 'intersectionBy', 'intersectionWith', - 'invokeArgs', 'invokeArgsMap', 'isEqualWith', 'isMatchWith', 'flatMapDepth', - 'lastIndexOfFrom', 'mergeWith', 'orderBy', 'padChars', 'padCharsEnd', - 'padCharsStart', 'pullAllBy', 'pullAllWith', 'rangeStep', 'rangeStepRight', - 'reduce', 'reduceRight', 'replace', 'set', 'slice', 'sortedIndexBy', - 'sortedLastIndexBy', 'transform', 'unionBy', 'unionWith', 'update', 'xorBy', - 'xorWith', 'zipWith' - ], - '4': [ - 'fill', 'setWith', 'updateWith' - ] -}; - -/** Used to map ary to rearg configs. */ -exports.aryRearg = { - '2': [1, 0], - '3': [2, 0, 1], - '4': [3, 2, 0, 1] -}; - -/** Used to map method names to their iteratee ary. */ -exports.iterateeAry = { - 'dropRightWhile': 1, - 'dropWhile': 1, - 'every': 1, - 'filter': 1, - 'find': 1, - 'findFrom': 1, - 'findIndex': 1, - 'findIndexFrom': 1, - 'findKey': 1, - 'findLast': 1, - 'findLastFrom': 1, - 'findLastIndex': 1, - 'findLastIndexFrom': 1, - 'findLastKey': 1, - 'flatMap': 1, - 'flatMapDeep': 1, - 'flatMapDepth': 1, - 'forEach': 1, - 'forEachRight': 1, - 'forIn': 1, - 'forInRight': 1, - 'forOwn': 1, - 'forOwnRight': 1, - 'map': 1, - 'mapKeys': 1, - 'mapValues': 1, - 'partition': 1, - 'reduce': 2, - 'reduceRight': 2, - 'reject': 1, - 'remove': 1, - 'some': 1, - 'takeRightWhile': 1, - 'takeWhile': 1, - 'times': 1, - 'transform': 2 -}; - -/** Used to map method names to iteratee rearg configs. */ -exports.iterateeRearg = { - 'mapKeys': [1], - 'reduceRight': [1, 0] -}; - -/** Used to map method names to rearg configs. */ -exports.methodRearg = { - 'assignInAllWith': [1, 0], - 'assignInWith': [1, 2, 0], - 'assignAllWith': [1, 0], - 'assignWith': [1, 2, 0], - 'differenceBy': [1, 2, 0], - 'differenceWith': [1, 2, 0], - 'getOr': [2, 1, 0], - 'intersectionBy': [1, 2, 0], - 'intersectionWith': [1, 2, 0], - 'isEqualWith': [1, 2, 0], - 'isMatchWith': [2, 1, 0], - 'mergeAllWith': [1, 0], - 'mergeWith': [1, 2, 0], - 'padChars': [2, 1, 0], - 'padCharsEnd': [2, 1, 0], - 'padCharsStart': [2, 1, 0], - 'pullAllBy': [2, 1, 0], - 'pullAllWith': [2, 1, 0], - 'rangeStep': [1, 2, 0], - 'rangeStepRight': [1, 2, 0], - 'setWith': [3, 1, 2, 0], - 'sortedIndexBy': [2, 1, 0], - 'sortedLastIndexBy': [2, 1, 0], - 'unionBy': [1, 2, 0], - 'unionWith': [1, 2, 0], - 'updateWith': [3, 1, 2, 0], - 'xorBy': [1, 2, 0], - 'xorWith': [1, 2, 0], - 'zipWith': [1, 2, 0] -}; - -/** Used to map method names to spread configs. */ -exports.methodSpread = { - 'assignAll': { 'start': 0 }, - 'assignAllWith': { 'start': 0 }, - 'assignInAll': { 'start': 0 }, - 'assignInAllWith': { 'start': 0 }, - 'defaultsAll': { 'start': 0 }, - 'defaultsDeepAll': { 'start': 0 }, - 'invokeArgs': { 'start': 2 }, - 'invokeArgsMap': { 'start': 2 }, - 'mergeAll': { 'start': 0 }, - 'mergeAllWith': { 'start': 0 }, - 'partial': { 'start': 1 }, - 'partialRight': { 'start': 1 }, - 'without': { 'start': 1 }, - 'zipAll': { 'start': 0 } -}; - -/** Used to identify methods which mutate arrays or objects. */ -exports.mutate = { - 'array': { - 'fill': true, - 'pull': true, - 'pullAll': true, - 'pullAllBy': true, - 'pullAllWith': true, - 'pullAt': true, - 'remove': true, - 'reverse': true - }, - 'object': { - 'assign': true, - 'assignAll': true, - 'assignAllWith': true, - 'assignIn': true, - 'assignInAll': true, - 'assignInAllWith': true, - 'assignInWith': true, - 'assignWith': true, - 'defaults': true, - 'defaultsAll': true, - 'defaultsDeep': true, - 'defaultsDeepAll': true, - 'merge': true, - 'mergeAll': true, - 'mergeAllWith': true, - 'mergeWith': true, - }, - 'set': { - 'set': true, - 'setWith': true, - 'unset': true, - 'update': true, - 'updateWith': true - } -}; - -/** Used to map real names to their aliases. */ -exports.realToAlias = (function() { - var hasOwnProperty = Object.prototype.hasOwnProperty, - object = exports.aliasToReal, - result = {}; - - for (var key in object) { - var value = object[key]; - if (hasOwnProperty.call(result, value)) { - result[value].push(key); - } else { - result[value] = [key]; - } - } - return result; -}()); - -/** Used to map method names to other names. */ -exports.remap = { - 'assignAll': 'assign', - 'assignAllWith': 'assignWith', - 'assignInAll': 'assignIn', - 'assignInAllWith': 'assignInWith', - 'curryN': 'curry', - 'curryRightN': 'curryRight', - 'defaultsAll': 'defaults', - 'defaultsDeepAll': 'defaultsDeep', - 'findFrom': 'find', - 'findIndexFrom': 'findIndex', - 'findLastFrom': 'findLast', - 'findLastIndexFrom': 'findLastIndex', - 'getOr': 'get', - 'includesFrom': 'includes', - 'indexOfFrom': 'indexOf', - 'invokeArgs': 'invoke', - 'invokeArgsMap': 'invokeMap', - 'lastIndexOfFrom': 'lastIndexOf', - 'mergeAll': 'merge', - 'mergeAllWith': 'mergeWith', - 'padChars': 'pad', - 'padCharsEnd': 'padEnd', - 'padCharsStart': 'padStart', - 'propertyOf': 'get', - 'rangeStep': 'range', - 'rangeStepRight': 'rangeRight', - 'restFrom': 'rest', - 'spreadFrom': 'spread', - 'trimChars': 'trim', - 'trimCharsEnd': 'trimEnd', - 'trimCharsStart': 'trimStart', - 'zipAll': 'zip' -}; - -/** Used to track methods that skip fixing their arity. */ -exports.skipFixed = { - 'castArray': true, - 'flow': true, - 'flowRight': true, - 'iteratee': true, - 'mixin': true, - 'rearg': true, - 'runInContext': true -}; - -/** Used to track methods that skip rearranging arguments. */ -exports.skipRearg = { - 'add': true, - 'assign': true, - 'assignIn': true, - 'bind': true, - 'bindKey': true, - 'concat': true, - 'difference': true, - 'divide': true, - 'eq': true, - 'gt': true, - 'gte': true, - 'isEqual': true, - 'lt': true, - 'lte': true, - 'matchesProperty': true, - 'merge': true, - 'multiply': true, - 'overArgs': true, - 'partial': true, - 'partialRight': true, - 'propertyOf': true, - 'random': true, - 'range': true, - 'rangeRight': true, - 'subtract': true, - 'zip': true, - 'zipObject': true, - 'zipObjectDeep': true -}; diff --git a/packages/frontend-core/node_modules/lodash/fp/_util.js b/packages/frontend-core/node_modules/lodash/fp/_util.js deleted file mode 100644 index 1dbf36f5d2..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/_util.js +++ /dev/null @@ -1,16 +0,0 @@ -module.exports = { - 'ary': require('../ary'), - 'assign': require('../_baseAssign'), - 'clone': require('../clone'), - 'curry': require('../curry'), - 'forEach': require('../_arrayEach'), - 'isArray': require('../isArray'), - 'isError': require('../isError'), - 'isFunction': require('../isFunction'), - 'isWeakMap': require('../isWeakMap'), - 'iteratee': require('../iteratee'), - 'keys': require('../_baseKeys'), - 'rearg': require('../rearg'), - 'toInteger': require('../toInteger'), - 'toPath': require('../toPath') -}; diff --git a/packages/frontend-core/node_modules/lodash/fp/add.js b/packages/frontend-core/node_modules/lodash/fp/add.js deleted file mode 100644 index 816eeece34..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/add.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('add', require('../add')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/after.js b/packages/frontend-core/node_modules/lodash/fp/after.js deleted file mode 100644 index 21a0167ab2..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/after.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('after', require('../after')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/all.js b/packages/frontend-core/node_modules/lodash/fp/all.js deleted file mode 100644 index d0839f77ed..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/all.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./every'); diff --git a/packages/frontend-core/node_modules/lodash/fp/allPass.js b/packages/frontend-core/node_modules/lodash/fp/allPass.js deleted file mode 100644 index 79b73ef845..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/allPass.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./overEvery'); diff --git a/packages/frontend-core/node_modules/lodash/fp/always.js b/packages/frontend-core/node_modules/lodash/fp/always.js deleted file mode 100644 index 988770307b..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/always.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./constant'); diff --git a/packages/frontend-core/node_modules/lodash/fp/any.js b/packages/frontend-core/node_modules/lodash/fp/any.js deleted file mode 100644 index 900ac25e83..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/any.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./some'); diff --git a/packages/frontend-core/node_modules/lodash/fp/anyPass.js b/packages/frontend-core/node_modules/lodash/fp/anyPass.js deleted file mode 100644 index 2774ab37a4..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/anyPass.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./overSome'); diff --git a/packages/frontend-core/node_modules/lodash/fp/apply.js b/packages/frontend-core/node_modules/lodash/fp/apply.js deleted file mode 100644 index 2b75712962..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/apply.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./spread'); diff --git a/packages/frontend-core/node_modules/lodash/fp/array.js b/packages/frontend-core/node_modules/lodash/fp/array.js deleted file mode 100644 index fe939c2c26..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/array.js +++ /dev/null @@ -1,2 +0,0 @@ -var convert = require('./convert'); -module.exports = convert(require('../array')); diff --git a/packages/frontend-core/node_modules/lodash/fp/ary.js b/packages/frontend-core/node_modules/lodash/fp/ary.js deleted file mode 100644 index 8edf18778d..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/ary.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('ary', require('../ary')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/assign.js b/packages/frontend-core/node_modules/lodash/fp/assign.js deleted file mode 100644 index 23f47af17e..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/assign.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('assign', require('../assign')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/assignAll.js b/packages/frontend-core/node_modules/lodash/fp/assignAll.js deleted file mode 100644 index b1d36c7ef8..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/assignAll.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('assignAll', require('../assign')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/assignAllWith.js b/packages/frontend-core/node_modules/lodash/fp/assignAllWith.js deleted file mode 100644 index 21e836e6f0..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/assignAllWith.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('assignAllWith', require('../assignWith')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/assignIn.js b/packages/frontend-core/node_modules/lodash/fp/assignIn.js deleted file mode 100644 index 6e7c65fad8..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/assignIn.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('assignIn', require('../assignIn')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/assignInAll.js b/packages/frontend-core/node_modules/lodash/fp/assignInAll.js deleted file mode 100644 index 7ba75dba11..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/assignInAll.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('assignInAll', require('../assignIn')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/assignInAllWith.js b/packages/frontend-core/node_modules/lodash/fp/assignInAllWith.js deleted file mode 100644 index e766903d4c..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/assignInAllWith.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('assignInAllWith', require('../assignInWith')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/assignInWith.js b/packages/frontend-core/node_modules/lodash/fp/assignInWith.js deleted file mode 100644 index acb5923675..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/assignInWith.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('assignInWith', require('../assignInWith')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/assignWith.js b/packages/frontend-core/node_modules/lodash/fp/assignWith.js deleted file mode 100644 index eb925212d5..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/assignWith.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('assignWith', require('../assignWith')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/assoc.js b/packages/frontend-core/node_modules/lodash/fp/assoc.js deleted file mode 100644 index 7648820c99..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/assoc.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./set'); diff --git a/packages/frontend-core/node_modules/lodash/fp/assocPath.js b/packages/frontend-core/node_modules/lodash/fp/assocPath.js deleted file mode 100644 index 7648820c99..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/assocPath.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./set'); diff --git a/packages/frontend-core/node_modules/lodash/fp/at.js b/packages/frontend-core/node_modules/lodash/fp/at.js deleted file mode 100644 index cc39d257c6..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/at.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('at', require('../at')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/attempt.js b/packages/frontend-core/node_modules/lodash/fp/attempt.js deleted file mode 100644 index 26ca42ea04..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/attempt.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('attempt', require('../attempt')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/before.js b/packages/frontend-core/node_modules/lodash/fp/before.js deleted file mode 100644 index 7a2de65d27..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/before.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('before', require('../before')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/bind.js b/packages/frontend-core/node_modules/lodash/fp/bind.js deleted file mode 100644 index 5cbe4f302f..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/bind.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('bind', require('../bind')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/bindAll.js b/packages/frontend-core/node_modules/lodash/fp/bindAll.js deleted file mode 100644 index 6b4a4a0f27..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/bindAll.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('bindAll', require('../bindAll')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/bindKey.js b/packages/frontend-core/node_modules/lodash/fp/bindKey.js deleted file mode 100644 index 6a46c6b19c..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/bindKey.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('bindKey', require('../bindKey')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/camelCase.js b/packages/frontend-core/node_modules/lodash/fp/camelCase.js deleted file mode 100644 index 87b77b4937..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/camelCase.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('camelCase', require('../camelCase'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/capitalize.js b/packages/frontend-core/node_modules/lodash/fp/capitalize.js deleted file mode 100644 index cac74e14f8..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/capitalize.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('capitalize', require('../capitalize'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/castArray.js b/packages/frontend-core/node_modules/lodash/fp/castArray.js deleted file mode 100644 index 8681c099ea..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/castArray.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('castArray', require('../castArray')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/ceil.js b/packages/frontend-core/node_modules/lodash/fp/ceil.js deleted file mode 100644 index f416b7294c..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/ceil.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('ceil', require('../ceil')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/chain.js b/packages/frontend-core/node_modules/lodash/fp/chain.js deleted file mode 100644 index 604fe398b1..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/chain.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('chain', require('../chain'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/chunk.js b/packages/frontend-core/node_modules/lodash/fp/chunk.js deleted file mode 100644 index 871ab08580..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/chunk.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('chunk', require('../chunk')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/clamp.js b/packages/frontend-core/node_modules/lodash/fp/clamp.js deleted file mode 100644 index 3b06c01ce1..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/clamp.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('clamp', require('../clamp')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/clone.js b/packages/frontend-core/node_modules/lodash/fp/clone.js deleted file mode 100644 index cadb59c917..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/clone.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('clone', require('../clone'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/cloneDeep.js b/packages/frontend-core/node_modules/lodash/fp/cloneDeep.js deleted file mode 100644 index a6107aac94..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/cloneDeep.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('cloneDeep', require('../cloneDeep'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/cloneDeepWith.js b/packages/frontend-core/node_modules/lodash/fp/cloneDeepWith.js deleted file mode 100644 index 6f01e44a34..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/cloneDeepWith.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('cloneDeepWith', require('../cloneDeepWith')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/cloneWith.js b/packages/frontend-core/node_modules/lodash/fp/cloneWith.js deleted file mode 100644 index aa8857810e..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/cloneWith.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('cloneWith', require('../cloneWith')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/collection.js b/packages/frontend-core/node_modules/lodash/fp/collection.js deleted file mode 100644 index fc8b328a0d..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/collection.js +++ /dev/null @@ -1,2 +0,0 @@ -var convert = require('./convert'); -module.exports = convert(require('../collection')); diff --git a/packages/frontend-core/node_modules/lodash/fp/commit.js b/packages/frontend-core/node_modules/lodash/fp/commit.js deleted file mode 100644 index 130a894f89..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/commit.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('commit', require('../commit'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/compact.js b/packages/frontend-core/node_modules/lodash/fp/compact.js deleted file mode 100644 index ce8f7a1ac3..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/compact.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('compact', require('../compact'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/complement.js b/packages/frontend-core/node_modules/lodash/fp/complement.js deleted file mode 100644 index 93eb462b35..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/complement.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./negate'); diff --git a/packages/frontend-core/node_modules/lodash/fp/compose.js b/packages/frontend-core/node_modules/lodash/fp/compose.js deleted file mode 100644 index 1954e94239..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/compose.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./flowRight'); diff --git a/packages/frontend-core/node_modules/lodash/fp/concat.js b/packages/frontend-core/node_modules/lodash/fp/concat.js deleted file mode 100644 index e59346ad98..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/concat.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('concat', require('../concat')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/cond.js b/packages/frontend-core/node_modules/lodash/fp/cond.js deleted file mode 100644 index 6a0120efd4..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/cond.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('cond', require('../cond'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/conforms.js b/packages/frontend-core/node_modules/lodash/fp/conforms.js deleted file mode 100644 index 3247f64a8c..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/conforms.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./conformsTo'); diff --git a/packages/frontend-core/node_modules/lodash/fp/conformsTo.js b/packages/frontend-core/node_modules/lodash/fp/conformsTo.js deleted file mode 100644 index aa7f41ec09..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/conformsTo.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('conformsTo', require('../conformsTo')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/constant.js b/packages/frontend-core/node_modules/lodash/fp/constant.js deleted file mode 100644 index 9e406fc09c..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/constant.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('constant', require('../constant'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/contains.js b/packages/frontend-core/node_modules/lodash/fp/contains.js deleted file mode 100644 index 594722af59..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/contains.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./includes'); diff --git a/packages/frontend-core/node_modules/lodash/fp/convert.js b/packages/frontend-core/node_modules/lodash/fp/convert.js deleted file mode 100644 index 4795dc4246..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/convert.js +++ /dev/null @@ -1,18 +0,0 @@ -var baseConvert = require('./_baseConvert'), - util = require('./_util'); - -/** - * Converts `func` of `name` to an immutable auto-curried iteratee-first data-last - * version with conversion `options` applied. If `name` is an object its methods - * will be converted. - * - * @param {string} name The name of the function to wrap. - * @param {Function} [func] The function to wrap. - * @param {Object} [options] The options object. See `baseConvert` for more details. - * @returns {Function|Object} Returns the converted function or object. - */ -function convert(name, func, options) { - return baseConvert(util, name, func, options); -} - -module.exports = convert; diff --git a/packages/frontend-core/node_modules/lodash/fp/countBy.js b/packages/frontend-core/node_modules/lodash/fp/countBy.js deleted file mode 100644 index dfa464326f..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/countBy.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('countBy', require('../countBy')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/create.js b/packages/frontend-core/node_modules/lodash/fp/create.js deleted file mode 100644 index 752025fb83..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/create.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('create', require('../create')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/curry.js b/packages/frontend-core/node_modules/lodash/fp/curry.js deleted file mode 100644 index b0b4168c50..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/curry.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('curry', require('../curry')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/curryN.js b/packages/frontend-core/node_modules/lodash/fp/curryN.js deleted file mode 100644 index 2ae7d00a62..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/curryN.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('curryN', require('../curry')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/curryRight.js b/packages/frontend-core/node_modules/lodash/fp/curryRight.js deleted file mode 100644 index cb619eb5d9..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/curryRight.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('curryRight', require('../curryRight')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/curryRightN.js b/packages/frontend-core/node_modules/lodash/fp/curryRightN.js deleted file mode 100644 index 2495afc89c..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/curryRightN.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('curryRightN', require('../curryRight')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/date.js b/packages/frontend-core/node_modules/lodash/fp/date.js deleted file mode 100644 index 82cb952bc4..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/date.js +++ /dev/null @@ -1,2 +0,0 @@ -var convert = require('./convert'); -module.exports = convert(require('../date')); diff --git a/packages/frontend-core/node_modules/lodash/fp/debounce.js b/packages/frontend-core/node_modules/lodash/fp/debounce.js deleted file mode 100644 index 26122293af..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/debounce.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('debounce', require('../debounce')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/deburr.js b/packages/frontend-core/node_modules/lodash/fp/deburr.js deleted file mode 100644 index 96463ab88e..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/deburr.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('deburr', require('../deburr'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/defaultTo.js b/packages/frontend-core/node_modules/lodash/fp/defaultTo.js deleted file mode 100644 index d6b52a4447..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/defaultTo.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('defaultTo', require('../defaultTo')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/defaults.js b/packages/frontend-core/node_modules/lodash/fp/defaults.js deleted file mode 100644 index e1a8e6e7db..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/defaults.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('defaults', require('../defaults')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/defaultsAll.js b/packages/frontend-core/node_modules/lodash/fp/defaultsAll.js deleted file mode 100644 index 238fcc3c2f..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/defaultsAll.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('defaultsAll', require('../defaults')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/defaultsDeep.js b/packages/frontend-core/node_modules/lodash/fp/defaultsDeep.js deleted file mode 100644 index 1f172ff944..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/defaultsDeep.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('defaultsDeep', require('../defaultsDeep')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/defaultsDeepAll.js b/packages/frontend-core/node_modules/lodash/fp/defaultsDeepAll.js deleted file mode 100644 index 6835f2f079..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/defaultsDeepAll.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('defaultsDeepAll', require('../defaultsDeep')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/defer.js b/packages/frontend-core/node_modules/lodash/fp/defer.js deleted file mode 100644 index ec7990fe22..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/defer.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('defer', require('../defer'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/delay.js b/packages/frontend-core/node_modules/lodash/fp/delay.js deleted file mode 100644 index 556dbd568e..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/delay.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('delay', require('../delay')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/difference.js b/packages/frontend-core/node_modules/lodash/fp/difference.js deleted file mode 100644 index 2d0376542a..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/difference.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('difference', require('../difference')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/differenceBy.js b/packages/frontend-core/node_modules/lodash/fp/differenceBy.js deleted file mode 100644 index 2f914910a9..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/differenceBy.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('differenceBy', require('../differenceBy')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/differenceWith.js b/packages/frontend-core/node_modules/lodash/fp/differenceWith.js deleted file mode 100644 index bcf5ad2e11..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/differenceWith.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('differenceWith', require('../differenceWith')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/dissoc.js b/packages/frontend-core/node_modules/lodash/fp/dissoc.js deleted file mode 100644 index 7ec7be190b..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/dissoc.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./unset'); diff --git a/packages/frontend-core/node_modules/lodash/fp/dissocPath.js b/packages/frontend-core/node_modules/lodash/fp/dissocPath.js deleted file mode 100644 index 7ec7be190b..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/dissocPath.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./unset'); diff --git a/packages/frontend-core/node_modules/lodash/fp/divide.js b/packages/frontend-core/node_modules/lodash/fp/divide.js deleted file mode 100644 index 82048c5e02..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/divide.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('divide', require('../divide')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/drop.js b/packages/frontend-core/node_modules/lodash/fp/drop.js deleted file mode 100644 index 2fa9b4faa5..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/drop.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('drop', require('../drop')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/dropLast.js b/packages/frontend-core/node_modules/lodash/fp/dropLast.js deleted file mode 100644 index 174e525512..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/dropLast.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./dropRight'); diff --git a/packages/frontend-core/node_modules/lodash/fp/dropLastWhile.js b/packages/frontend-core/node_modules/lodash/fp/dropLastWhile.js deleted file mode 100644 index be2a9d24ae..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/dropLastWhile.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./dropRightWhile'); diff --git a/packages/frontend-core/node_modules/lodash/fp/dropRight.js b/packages/frontend-core/node_modules/lodash/fp/dropRight.js deleted file mode 100644 index e98881fcd4..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/dropRight.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('dropRight', require('../dropRight')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/dropRightWhile.js b/packages/frontend-core/node_modules/lodash/fp/dropRightWhile.js deleted file mode 100644 index cacaa70191..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/dropRightWhile.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('dropRightWhile', require('../dropRightWhile')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/dropWhile.js b/packages/frontend-core/node_modules/lodash/fp/dropWhile.js deleted file mode 100644 index 285f864d12..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/dropWhile.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('dropWhile', require('../dropWhile')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/each.js b/packages/frontend-core/node_modules/lodash/fp/each.js deleted file mode 100644 index 8800f42046..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/each.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./forEach'); diff --git a/packages/frontend-core/node_modules/lodash/fp/eachRight.js b/packages/frontend-core/node_modules/lodash/fp/eachRight.js deleted file mode 100644 index 3252b2aba3..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/eachRight.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./forEachRight'); diff --git a/packages/frontend-core/node_modules/lodash/fp/endsWith.js b/packages/frontend-core/node_modules/lodash/fp/endsWith.js deleted file mode 100644 index 17dc2a4951..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/endsWith.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('endsWith', require('../endsWith')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/entries.js b/packages/frontend-core/node_modules/lodash/fp/entries.js deleted file mode 100644 index 7a88df2044..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/entries.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./toPairs'); diff --git a/packages/frontend-core/node_modules/lodash/fp/entriesIn.js b/packages/frontend-core/node_modules/lodash/fp/entriesIn.js deleted file mode 100644 index f6c6331c1d..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/entriesIn.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./toPairsIn'); diff --git a/packages/frontend-core/node_modules/lodash/fp/eq.js b/packages/frontend-core/node_modules/lodash/fp/eq.js deleted file mode 100644 index 9a3d21bf1d..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/eq.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('eq', require('../eq')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/equals.js b/packages/frontend-core/node_modules/lodash/fp/equals.js deleted file mode 100644 index e6a5ce0caf..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/equals.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./isEqual'); diff --git a/packages/frontend-core/node_modules/lodash/fp/escape.js b/packages/frontend-core/node_modules/lodash/fp/escape.js deleted file mode 100644 index 52c1fbba60..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/escape.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('escape', require('../escape'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/escapeRegExp.js b/packages/frontend-core/node_modules/lodash/fp/escapeRegExp.js deleted file mode 100644 index 369b2eff6e..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/escapeRegExp.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('escapeRegExp', require('../escapeRegExp'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/every.js b/packages/frontend-core/node_modules/lodash/fp/every.js deleted file mode 100644 index 95c2776c33..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/every.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('every', require('../every')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/extend.js b/packages/frontend-core/node_modules/lodash/fp/extend.js deleted file mode 100644 index e00166c206..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/extend.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./assignIn'); diff --git a/packages/frontend-core/node_modules/lodash/fp/extendAll.js b/packages/frontend-core/node_modules/lodash/fp/extendAll.js deleted file mode 100644 index cc55b64fcc..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/extendAll.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./assignInAll'); diff --git a/packages/frontend-core/node_modules/lodash/fp/extendAllWith.js b/packages/frontend-core/node_modules/lodash/fp/extendAllWith.js deleted file mode 100644 index 6679d208bc..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/extendAllWith.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./assignInAllWith'); diff --git a/packages/frontend-core/node_modules/lodash/fp/extendWith.js b/packages/frontend-core/node_modules/lodash/fp/extendWith.js deleted file mode 100644 index dbdcb3b4e4..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/extendWith.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./assignInWith'); diff --git a/packages/frontend-core/node_modules/lodash/fp/fill.js b/packages/frontend-core/node_modules/lodash/fp/fill.js deleted file mode 100644 index b2d47e84eb..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/fill.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('fill', require('../fill')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/filter.js b/packages/frontend-core/node_modules/lodash/fp/filter.js deleted file mode 100644 index 796d501ce8..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/filter.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('filter', require('../filter')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/find.js b/packages/frontend-core/node_modules/lodash/fp/find.js deleted file mode 100644 index f805d336aa..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/find.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('find', require('../find')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/findFrom.js b/packages/frontend-core/node_modules/lodash/fp/findFrom.js deleted file mode 100644 index da8275e840..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/findFrom.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('findFrom', require('../find')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/findIndex.js b/packages/frontend-core/node_modules/lodash/fp/findIndex.js deleted file mode 100644 index 8c15fd1160..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/findIndex.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('findIndex', require('../findIndex')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/findIndexFrom.js b/packages/frontend-core/node_modules/lodash/fp/findIndexFrom.js deleted file mode 100644 index 32e98cb953..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/findIndexFrom.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('findIndexFrom', require('../findIndex')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/findKey.js b/packages/frontend-core/node_modules/lodash/fp/findKey.js deleted file mode 100644 index 475bcfa8a5..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/findKey.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('findKey', require('../findKey')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/findLast.js b/packages/frontend-core/node_modules/lodash/fp/findLast.js deleted file mode 100644 index 093fe94e74..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/findLast.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('findLast', require('../findLast')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/findLastFrom.js b/packages/frontend-core/node_modules/lodash/fp/findLastFrom.js deleted file mode 100644 index 76c38fbad2..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/findLastFrom.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('findLastFrom', require('../findLast')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/findLastIndex.js b/packages/frontend-core/node_modules/lodash/fp/findLastIndex.js deleted file mode 100644 index 36986df0b8..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/findLastIndex.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('findLastIndex', require('../findLastIndex')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/findLastIndexFrom.js b/packages/frontend-core/node_modules/lodash/fp/findLastIndexFrom.js deleted file mode 100644 index 34c8176cf1..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/findLastIndexFrom.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('findLastIndexFrom', require('../findLastIndex')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/findLastKey.js b/packages/frontend-core/node_modules/lodash/fp/findLastKey.js deleted file mode 100644 index 5f81b604e8..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/findLastKey.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('findLastKey', require('../findLastKey')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/first.js b/packages/frontend-core/node_modules/lodash/fp/first.js deleted file mode 100644 index 53f4ad13ee..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/first.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./head'); diff --git a/packages/frontend-core/node_modules/lodash/fp/flatMap.js b/packages/frontend-core/node_modules/lodash/fp/flatMap.js deleted file mode 100644 index d01dc4d048..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/flatMap.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('flatMap', require('../flatMap')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/flatMapDeep.js b/packages/frontend-core/node_modules/lodash/fp/flatMapDeep.js deleted file mode 100644 index 569c42eb9f..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/flatMapDeep.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('flatMapDeep', require('../flatMapDeep')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/flatMapDepth.js b/packages/frontend-core/node_modules/lodash/fp/flatMapDepth.js deleted file mode 100644 index 6eb68fdeed..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/flatMapDepth.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('flatMapDepth', require('../flatMapDepth')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/flatten.js b/packages/frontend-core/node_modules/lodash/fp/flatten.js deleted file mode 100644 index 30425d8962..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/flatten.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('flatten', require('../flatten'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/flattenDeep.js b/packages/frontend-core/node_modules/lodash/fp/flattenDeep.js deleted file mode 100644 index aed5db27c0..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/flattenDeep.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('flattenDeep', require('../flattenDeep'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/flattenDepth.js b/packages/frontend-core/node_modules/lodash/fp/flattenDepth.js deleted file mode 100644 index ad65e378ef..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/flattenDepth.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('flattenDepth', require('../flattenDepth')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/flip.js b/packages/frontend-core/node_modules/lodash/fp/flip.js deleted file mode 100644 index 0547e7b4ea..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/flip.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('flip', require('../flip'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/floor.js b/packages/frontend-core/node_modules/lodash/fp/floor.js deleted file mode 100644 index a6cf3358ed..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/floor.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('floor', require('../floor')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/flow.js b/packages/frontend-core/node_modules/lodash/fp/flow.js deleted file mode 100644 index cd83677a62..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/flow.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('flow', require('../flow')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/flowRight.js b/packages/frontend-core/node_modules/lodash/fp/flowRight.js deleted file mode 100644 index 972a5b9b1c..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/flowRight.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('flowRight', require('../flowRight')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/forEach.js b/packages/frontend-core/node_modules/lodash/fp/forEach.js deleted file mode 100644 index 2f494521c8..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/forEach.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('forEach', require('../forEach')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/forEachRight.js b/packages/frontend-core/node_modules/lodash/fp/forEachRight.js deleted file mode 100644 index 3ff97336bb..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/forEachRight.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('forEachRight', require('../forEachRight')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/forIn.js b/packages/frontend-core/node_modules/lodash/fp/forIn.js deleted file mode 100644 index 9341749b1f..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/forIn.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('forIn', require('../forIn')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/forInRight.js b/packages/frontend-core/node_modules/lodash/fp/forInRight.js deleted file mode 100644 index cecf8bbfa6..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/forInRight.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('forInRight', require('../forInRight')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/forOwn.js b/packages/frontend-core/node_modules/lodash/fp/forOwn.js deleted file mode 100644 index 246449e9a8..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/forOwn.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('forOwn', require('../forOwn')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/forOwnRight.js b/packages/frontend-core/node_modules/lodash/fp/forOwnRight.js deleted file mode 100644 index c5e826e0d7..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/forOwnRight.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('forOwnRight', require('../forOwnRight')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/fromPairs.js b/packages/frontend-core/node_modules/lodash/fp/fromPairs.js deleted file mode 100644 index f8cc5968cd..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/fromPairs.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('fromPairs', require('../fromPairs')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/function.js b/packages/frontend-core/node_modules/lodash/fp/function.js deleted file mode 100644 index dfe69b1fa0..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/function.js +++ /dev/null @@ -1,2 +0,0 @@ -var convert = require('./convert'); -module.exports = convert(require('../function')); diff --git a/packages/frontend-core/node_modules/lodash/fp/functions.js b/packages/frontend-core/node_modules/lodash/fp/functions.js deleted file mode 100644 index 09d1bb1baa..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/functions.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('functions', require('../functions'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/functionsIn.js b/packages/frontend-core/node_modules/lodash/fp/functionsIn.js deleted file mode 100644 index 2cfeb83ebb..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/functionsIn.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('functionsIn', require('../functionsIn'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/get.js b/packages/frontend-core/node_modules/lodash/fp/get.js deleted file mode 100644 index 6d3a32863e..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/get.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('get', require('../get')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/getOr.js b/packages/frontend-core/node_modules/lodash/fp/getOr.js deleted file mode 100644 index 7dbf771f0c..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/getOr.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('getOr', require('../get')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/groupBy.js b/packages/frontend-core/node_modules/lodash/fp/groupBy.js deleted file mode 100644 index fc0bc78a57..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/groupBy.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('groupBy', require('../groupBy')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/gt.js b/packages/frontend-core/node_modules/lodash/fp/gt.js deleted file mode 100644 index 9e57c8085a..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/gt.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('gt', require('../gt')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/gte.js b/packages/frontend-core/node_modules/lodash/fp/gte.js deleted file mode 100644 index 4584786389..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/gte.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('gte', require('../gte')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/has.js b/packages/frontend-core/node_modules/lodash/fp/has.js deleted file mode 100644 index b901298398..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/has.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('has', require('../has')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/hasIn.js b/packages/frontend-core/node_modules/lodash/fp/hasIn.js deleted file mode 100644 index b3c3d1a3f3..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/hasIn.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('hasIn', require('../hasIn')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/head.js b/packages/frontend-core/node_modules/lodash/fp/head.js deleted file mode 100644 index 2694f0a21d..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/head.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('head', require('../head'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/identical.js b/packages/frontend-core/node_modules/lodash/fp/identical.js deleted file mode 100644 index 85563f4a46..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/identical.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./eq'); diff --git a/packages/frontend-core/node_modules/lodash/fp/identity.js b/packages/frontend-core/node_modules/lodash/fp/identity.js deleted file mode 100644 index 096415a5de..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/identity.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('identity', require('../identity'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/inRange.js b/packages/frontend-core/node_modules/lodash/fp/inRange.js deleted file mode 100644 index 202d940bae..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/inRange.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('inRange', require('../inRange')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/includes.js b/packages/frontend-core/node_modules/lodash/fp/includes.js deleted file mode 100644 index 11467805ce..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/includes.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('includes', require('../includes')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/includesFrom.js b/packages/frontend-core/node_modules/lodash/fp/includesFrom.js deleted file mode 100644 index 683afdb463..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/includesFrom.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('includesFrom', require('../includes')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/indexBy.js b/packages/frontend-core/node_modules/lodash/fp/indexBy.js deleted file mode 100644 index 7e64bc0fcd..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/indexBy.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./keyBy'); diff --git a/packages/frontend-core/node_modules/lodash/fp/indexOf.js b/packages/frontend-core/node_modules/lodash/fp/indexOf.js deleted file mode 100644 index 524658eb95..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/indexOf.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('indexOf', require('../indexOf')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/indexOfFrom.js b/packages/frontend-core/node_modules/lodash/fp/indexOfFrom.js deleted file mode 100644 index d99c822f46..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/indexOfFrom.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('indexOfFrom', require('../indexOf')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/init.js b/packages/frontend-core/node_modules/lodash/fp/init.js deleted file mode 100644 index 2f88d8b0e1..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/init.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./initial'); diff --git a/packages/frontend-core/node_modules/lodash/fp/initial.js b/packages/frontend-core/node_modules/lodash/fp/initial.js deleted file mode 100644 index b732ba0bd6..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/initial.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('initial', require('../initial'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/intersection.js b/packages/frontend-core/node_modules/lodash/fp/intersection.js deleted file mode 100644 index 52936d560c..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/intersection.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('intersection', require('../intersection')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/intersectionBy.js b/packages/frontend-core/node_modules/lodash/fp/intersectionBy.js deleted file mode 100644 index 72629f277d..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/intersectionBy.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('intersectionBy', require('../intersectionBy')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/intersectionWith.js b/packages/frontend-core/node_modules/lodash/fp/intersectionWith.js deleted file mode 100644 index e064f400f8..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/intersectionWith.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('intersectionWith', require('../intersectionWith')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/invert.js b/packages/frontend-core/node_modules/lodash/fp/invert.js deleted file mode 100644 index 2d5d1f0d45..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/invert.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('invert', require('../invert')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/invertBy.js b/packages/frontend-core/node_modules/lodash/fp/invertBy.js deleted file mode 100644 index 63ca97ecb2..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/invertBy.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('invertBy', require('../invertBy')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/invertObj.js b/packages/frontend-core/node_modules/lodash/fp/invertObj.js deleted file mode 100644 index f1d842e49b..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/invertObj.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./invert'); diff --git a/packages/frontend-core/node_modules/lodash/fp/invoke.js b/packages/frontend-core/node_modules/lodash/fp/invoke.js deleted file mode 100644 index fcf17f0d57..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/invoke.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('invoke', require('../invoke')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/invokeArgs.js b/packages/frontend-core/node_modules/lodash/fp/invokeArgs.js deleted file mode 100644 index d3f2953fa3..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/invokeArgs.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('invokeArgs', require('../invoke')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/invokeArgsMap.js b/packages/frontend-core/node_modules/lodash/fp/invokeArgsMap.js deleted file mode 100644 index eaa9f84ffb..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/invokeArgsMap.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('invokeArgsMap', require('../invokeMap')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/invokeMap.js b/packages/frontend-core/node_modules/lodash/fp/invokeMap.js deleted file mode 100644 index 6515fd73f1..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/invokeMap.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('invokeMap', require('../invokeMap')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/isArguments.js b/packages/frontend-core/node_modules/lodash/fp/isArguments.js deleted file mode 100644 index 1d93c9e599..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/isArguments.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isArguments', require('../isArguments'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/isArray.js b/packages/frontend-core/node_modules/lodash/fp/isArray.js deleted file mode 100644 index ba7ade8ddc..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/isArray.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isArray', require('../isArray'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/isArrayBuffer.js b/packages/frontend-core/node_modules/lodash/fp/isArrayBuffer.js deleted file mode 100644 index 5088513faf..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/isArrayBuffer.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isArrayBuffer', require('../isArrayBuffer'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/isArrayLike.js b/packages/frontend-core/node_modules/lodash/fp/isArrayLike.js deleted file mode 100644 index 8f1856bf6f..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/isArrayLike.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isArrayLike', require('../isArrayLike'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/isArrayLikeObject.js b/packages/frontend-core/node_modules/lodash/fp/isArrayLikeObject.js deleted file mode 100644 index 21084984bc..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/isArrayLikeObject.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isArrayLikeObject', require('../isArrayLikeObject'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/isBoolean.js b/packages/frontend-core/node_modules/lodash/fp/isBoolean.js deleted file mode 100644 index 9339f75b1f..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/isBoolean.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isBoolean', require('../isBoolean'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/isBuffer.js b/packages/frontend-core/node_modules/lodash/fp/isBuffer.js deleted file mode 100644 index e60b123818..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/isBuffer.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isBuffer', require('../isBuffer'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/isDate.js b/packages/frontend-core/node_modules/lodash/fp/isDate.js deleted file mode 100644 index dc41d089ec..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/isDate.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isDate', require('../isDate'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/isElement.js b/packages/frontend-core/node_modules/lodash/fp/isElement.js deleted file mode 100644 index 18ee039a2d..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/isElement.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isElement', require('../isElement'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/isEmpty.js b/packages/frontend-core/node_modules/lodash/fp/isEmpty.js deleted file mode 100644 index 0f4ae841e2..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/isEmpty.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isEmpty', require('../isEmpty'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/isEqual.js b/packages/frontend-core/node_modules/lodash/fp/isEqual.js deleted file mode 100644 index 41383865f2..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/isEqual.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isEqual', require('../isEqual')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/isEqualWith.js b/packages/frontend-core/node_modules/lodash/fp/isEqualWith.js deleted file mode 100644 index 029ff5cdaa..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/isEqualWith.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isEqualWith', require('../isEqualWith')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/isError.js b/packages/frontend-core/node_modules/lodash/fp/isError.js deleted file mode 100644 index 3dfd81ccc2..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/isError.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isError', require('../isError'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/isFinite.js b/packages/frontend-core/node_modules/lodash/fp/isFinite.js deleted file mode 100644 index 0b647b841e..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/isFinite.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isFinite', require('../isFinite'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/isFunction.js b/packages/frontend-core/node_modules/lodash/fp/isFunction.js deleted file mode 100644 index ff8e5c4585..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/isFunction.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isFunction', require('../isFunction'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/isInteger.js b/packages/frontend-core/node_modules/lodash/fp/isInteger.js deleted file mode 100644 index 67af4ff6db..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/isInteger.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isInteger', require('../isInteger'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/isLength.js b/packages/frontend-core/node_modules/lodash/fp/isLength.js deleted file mode 100644 index fc101c5a64..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/isLength.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isLength', require('../isLength'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/isMap.js b/packages/frontend-core/node_modules/lodash/fp/isMap.js deleted file mode 100644 index a209aa66fc..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/isMap.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isMap', require('../isMap'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/isMatch.js b/packages/frontend-core/node_modules/lodash/fp/isMatch.js deleted file mode 100644 index 6264ca17fa..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/isMatch.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isMatch', require('../isMatch')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/isMatchWith.js b/packages/frontend-core/node_modules/lodash/fp/isMatchWith.js deleted file mode 100644 index d95f319353..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/isMatchWith.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isMatchWith', require('../isMatchWith')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/isNaN.js b/packages/frontend-core/node_modules/lodash/fp/isNaN.js deleted file mode 100644 index 66a978f111..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/isNaN.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isNaN', require('../isNaN'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/isNative.js b/packages/frontend-core/node_modules/lodash/fp/isNative.js deleted file mode 100644 index 3d775ba953..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/isNative.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isNative', require('../isNative'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/isNil.js b/packages/frontend-core/node_modules/lodash/fp/isNil.js deleted file mode 100644 index 5952c028a9..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/isNil.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isNil', require('../isNil'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/isNull.js b/packages/frontend-core/node_modules/lodash/fp/isNull.js deleted file mode 100644 index f201a354b4..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/isNull.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isNull', require('../isNull'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/isNumber.js b/packages/frontend-core/node_modules/lodash/fp/isNumber.js deleted file mode 100644 index a2b5fa049f..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/isNumber.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isNumber', require('../isNumber'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/isObject.js b/packages/frontend-core/node_modules/lodash/fp/isObject.js deleted file mode 100644 index 231ace03bc..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/isObject.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isObject', require('../isObject'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/isObjectLike.js b/packages/frontend-core/node_modules/lodash/fp/isObjectLike.js deleted file mode 100644 index f16082e6fe..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/isObjectLike.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isObjectLike', require('../isObjectLike'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/isPlainObject.js b/packages/frontend-core/node_modules/lodash/fp/isPlainObject.js deleted file mode 100644 index b5bea90d3a..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/isPlainObject.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isPlainObject', require('../isPlainObject'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/isRegExp.js b/packages/frontend-core/node_modules/lodash/fp/isRegExp.js deleted file mode 100644 index 12a1a3d718..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/isRegExp.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isRegExp', require('../isRegExp'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/isSafeInteger.js b/packages/frontend-core/node_modules/lodash/fp/isSafeInteger.js deleted file mode 100644 index 7230f5520a..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/isSafeInteger.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isSafeInteger', require('../isSafeInteger'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/isSet.js b/packages/frontend-core/node_modules/lodash/fp/isSet.js deleted file mode 100644 index 35c01f6fa1..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/isSet.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isSet', require('../isSet'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/isString.js b/packages/frontend-core/node_modules/lodash/fp/isString.js deleted file mode 100644 index 1fd0679ef8..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/isString.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isString', require('../isString'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/isSymbol.js b/packages/frontend-core/node_modules/lodash/fp/isSymbol.js deleted file mode 100644 index 38676956da..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/isSymbol.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isSymbol', require('../isSymbol'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/isTypedArray.js b/packages/frontend-core/node_modules/lodash/fp/isTypedArray.js deleted file mode 100644 index 8567953875..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/isTypedArray.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isTypedArray', require('../isTypedArray'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/isUndefined.js b/packages/frontend-core/node_modules/lodash/fp/isUndefined.js deleted file mode 100644 index ddbca31ca7..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/isUndefined.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isUndefined', require('../isUndefined'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/isWeakMap.js b/packages/frontend-core/node_modules/lodash/fp/isWeakMap.js deleted file mode 100644 index ef60c613c4..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/isWeakMap.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isWeakMap', require('../isWeakMap'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/isWeakSet.js b/packages/frontend-core/node_modules/lodash/fp/isWeakSet.js deleted file mode 100644 index c99bfaa6d9..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/isWeakSet.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('isWeakSet', require('../isWeakSet'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/iteratee.js b/packages/frontend-core/node_modules/lodash/fp/iteratee.js deleted file mode 100644 index 9f0f71738a..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/iteratee.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('iteratee', require('../iteratee')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/join.js b/packages/frontend-core/node_modules/lodash/fp/join.js deleted file mode 100644 index a220e003c4..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/join.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('join', require('../join')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/juxt.js b/packages/frontend-core/node_modules/lodash/fp/juxt.js deleted file mode 100644 index f71e04e000..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/juxt.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./over'); diff --git a/packages/frontend-core/node_modules/lodash/fp/kebabCase.js b/packages/frontend-core/node_modules/lodash/fp/kebabCase.js deleted file mode 100644 index 60737f17cd..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/kebabCase.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('kebabCase', require('../kebabCase'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/keyBy.js b/packages/frontend-core/node_modules/lodash/fp/keyBy.js deleted file mode 100644 index 9a6a85d422..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/keyBy.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('keyBy', require('../keyBy')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/keys.js b/packages/frontend-core/node_modules/lodash/fp/keys.js deleted file mode 100644 index e12bb07f13..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/keys.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('keys', require('../keys'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/keysIn.js b/packages/frontend-core/node_modules/lodash/fp/keysIn.js deleted file mode 100644 index f3eb36a8d2..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/keysIn.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('keysIn', require('../keysIn'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/lang.js b/packages/frontend-core/node_modules/lodash/fp/lang.js deleted file mode 100644 index 08cc9c14bd..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/lang.js +++ /dev/null @@ -1,2 +0,0 @@ -var convert = require('./convert'); -module.exports = convert(require('../lang')); diff --git a/packages/frontend-core/node_modules/lodash/fp/last.js b/packages/frontend-core/node_modules/lodash/fp/last.js deleted file mode 100644 index 0f716993fc..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/last.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('last', require('../last'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/lastIndexOf.js b/packages/frontend-core/node_modules/lodash/fp/lastIndexOf.js deleted file mode 100644 index ddf39c3013..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/lastIndexOf.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('lastIndexOf', require('../lastIndexOf')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/lastIndexOfFrom.js b/packages/frontend-core/node_modules/lodash/fp/lastIndexOfFrom.js deleted file mode 100644 index 1ff6a0b5ad..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/lastIndexOfFrom.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('lastIndexOfFrom', require('../lastIndexOf')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/lowerCase.js b/packages/frontend-core/node_modules/lodash/fp/lowerCase.js deleted file mode 100644 index ea64bc15d6..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/lowerCase.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('lowerCase', require('../lowerCase'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/lowerFirst.js b/packages/frontend-core/node_modules/lodash/fp/lowerFirst.js deleted file mode 100644 index 539720a3da..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/lowerFirst.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('lowerFirst', require('../lowerFirst'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/lt.js b/packages/frontend-core/node_modules/lodash/fp/lt.js deleted file mode 100644 index a31d21ecc6..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/lt.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('lt', require('../lt')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/lte.js b/packages/frontend-core/node_modules/lodash/fp/lte.js deleted file mode 100644 index d795d10ee7..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/lte.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('lte', require('../lte')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/map.js b/packages/frontend-core/node_modules/lodash/fp/map.js deleted file mode 100644 index cf98794362..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/map.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('map', require('../map')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/mapKeys.js b/packages/frontend-core/node_modules/lodash/fp/mapKeys.js deleted file mode 100644 index 1684587099..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/mapKeys.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('mapKeys', require('../mapKeys')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/mapValues.js b/packages/frontend-core/node_modules/lodash/fp/mapValues.js deleted file mode 100644 index 4004972751..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/mapValues.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('mapValues', require('../mapValues')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/matches.js b/packages/frontend-core/node_modules/lodash/fp/matches.js deleted file mode 100644 index 29d1e1e4f1..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/matches.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./isMatch'); diff --git a/packages/frontend-core/node_modules/lodash/fp/matchesProperty.js b/packages/frontend-core/node_modules/lodash/fp/matchesProperty.js deleted file mode 100644 index 4575bd2431..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/matchesProperty.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('matchesProperty', require('../matchesProperty')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/math.js b/packages/frontend-core/node_modules/lodash/fp/math.js deleted file mode 100644 index e8f50f7927..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/math.js +++ /dev/null @@ -1,2 +0,0 @@ -var convert = require('./convert'); -module.exports = convert(require('../math')); diff --git a/packages/frontend-core/node_modules/lodash/fp/max.js b/packages/frontend-core/node_modules/lodash/fp/max.js deleted file mode 100644 index a66acac220..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/max.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('max', require('../max'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/maxBy.js b/packages/frontend-core/node_modules/lodash/fp/maxBy.js deleted file mode 100644 index d083fd64fd..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/maxBy.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('maxBy', require('../maxBy')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/mean.js b/packages/frontend-core/node_modules/lodash/fp/mean.js deleted file mode 100644 index 31172460c3..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/mean.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('mean', require('../mean'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/meanBy.js b/packages/frontend-core/node_modules/lodash/fp/meanBy.js deleted file mode 100644 index 556f25edfe..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/meanBy.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('meanBy', require('../meanBy')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/memoize.js b/packages/frontend-core/node_modules/lodash/fp/memoize.js deleted file mode 100644 index 638eec63ba..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/memoize.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('memoize', require('../memoize')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/merge.js b/packages/frontend-core/node_modules/lodash/fp/merge.js deleted file mode 100644 index ac66adde12..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/merge.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('merge', require('../merge')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/mergeAll.js b/packages/frontend-core/node_modules/lodash/fp/mergeAll.js deleted file mode 100644 index a3674d6716..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/mergeAll.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('mergeAll', require('../merge')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/mergeAllWith.js b/packages/frontend-core/node_modules/lodash/fp/mergeAllWith.js deleted file mode 100644 index 4bd4206dc7..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/mergeAllWith.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('mergeAllWith', require('../mergeWith')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/mergeWith.js b/packages/frontend-core/node_modules/lodash/fp/mergeWith.js deleted file mode 100644 index 00d44d5e1a..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/mergeWith.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('mergeWith', require('../mergeWith')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/method.js b/packages/frontend-core/node_modules/lodash/fp/method.js deleted file mode 100644 index f4060c6878..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/method.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('method', require('../method')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/methodOf.js b/packages/frontend-core/node_modules/lodash/fp/methodOf.js deleted file mode 100644 index 61399056f3..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/methodOf.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('methodOf', require('../methodOf')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/min.js b/packages/frontend-core/node_modules/lodash/fp/min.js deleted file mode 100644 index d12c6b40d3..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/min.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('min', require('../min'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/minBy.js b/packages/frontend-core/node_modules/lodash/fp/minBy.js deleted file mode 100644 index fdb9e24d8a..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/minBy.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('minBy', require('../minBy')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/mixin.js b/packages/frontend-core/node_modules/lodash/fp/mixin.js deleted file mode 100644 index 332e6fbfdd..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/mixin.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('mixin', require('../mixin')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/multiply.js b/packages/frontend-core/node_modules/lodash/fp/multiply.js deleted file mode 100644 index 4dcf0b0d4a..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/multiply.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('multiply', require('../multiply')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/nAry.js b/packages/frontend-core/node_modules/lodash/fp/nAry.js deleted file mode 100644 index f262a76ccd..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/nAry.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./ary'); diff --git a/packages/frontend-core/node_modules/lodash/fp/negate.js b/packages/frontend-core/node_modules/lodash/fp/negate.js deleted file mode 100644 index 8b6dc7c5b8..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/negate.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('negate', require('../negate'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/next.js b/packages/frontend-core/node_modules/lodash/fp/next.js deleted file mode 100644 index 140155e232..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/next.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('next', require('../next'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/noop.js b/packages/frontend-core/node_modules/lodash/fp/noop.js deleted file mode 100644 index b9e32cc8cd..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/noop.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('noop', require('../noop'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/now.js b/packages/frontend-core/node_modules/lodash/fp/now.js deleted file mode 100644 index 6de2068aac..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/now.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('now', require('../now'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/nth.js b/packages/frontend-core/node_modules/lodash/fp/nth.js deleted file mode 100644 index da4fda7409..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/nth.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('nth', require('../nth')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/nthArg.js b/packages/frontend-core/node_modules/lodash/fp/nthArg.js deleted file mode 100644 index fce3165942..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/nthArg.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('nthArg', require('../nthArg')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/number.js b/packages/frontend-core/node_modules/lodash/fp/number.js deleted file mode 100644 index 5c10b8842d..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/number.js +++ /dev/null @@ -1,2 +0,0 @@ -var convert = require('./convert'); -module.exports = convert(require('../number')); diff --git a/packages/frontend-core/node_modules/lodash/fp/object.js b/packages/frontend-core/node_modules/lodash/fp/object.js deleted file mode 100644 index ae39a1346c..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/object.js +++ /dev/null @@ -1,2 +0,0 @@ -var convert = require('./convert'); -module.exports = convert(require('../object')); diff --git a/packages/frontend-core/node_modules/lodash/fp/omit.js b/packages/frontend-core/node_modules/lodash/fp/omit.js deleted file mode 100644 index fd685291e6..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/omit.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('omit', require('../omit')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/omitAll.js b/packages/frontend-core/node_modules/lodash/fp/omitAll.js deleted file mode 100644 index 144cf4b96e..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/omitAll.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./omit'); diff --git a/packages/frontend-core/node_modules/lodash/fp/omitBy.js b/packages/frontend-core/node_modules/lodash/fp/omitBy.js deleted file mode 100644 index 90df738026..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/omitBy.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('omitBy', require('../omitBy')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/once.js b/packages/frontend-core/node_modules/lodash/fp/once.js deleted file mode 100644 index f8f0a5c73e..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/once.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('once', require('../once'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/orderBy.js b/packages/frontend-core/node_modules/lodash/fp/orderBy.js deleted file mode 100644 index 848e210754..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/orderBy.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('orderBy', require('../orderBy')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/over.js b/packages/frontend-core/node_modules/lodash/fp/over.js deleted file mode 100644 index 01eba7b984..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/over.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('over', require('../over')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/overArgs.js b/packages/frontend-core/node_modules/lodash/fp/overArgs.js deleted file mode 100644 index 738556f0c0..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/overArgs.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('overArgs', require('../overArgs')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/overEvery.js b/packages/frontend-core/node_modules/lodash/fp/overEvery.js deleted file mode 100644 index 9f5a032dc7..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/overEvery.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('overEvery', require('../overEvery')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/overSome.js b/packages/frontend-core/node_modules/lodash/fp/overSome.js deleted file mode 100644 index 15939d5865..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/overSome.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('overSome', require('../overSome')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/pad.js b/packages/frontend-core/node_modules/lodash/fp/pad.js deleted file mode 100644 index f1dea4a98f..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/pad.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('pad', require('../pad')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/padChars.js b/packages/frontend-core/node_modules/lodash/fp/padChars.js deleted file mode 100644 index d6e0804cd6..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/padChars.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('padChars', require('../pad')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/padCharsEnd.js b/packages/frontend-core/node_modules/lodash/fp/padCharsEnd.js deleted file mode 100644 index d4ab79ad30..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/padCharsEnd.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('padCharsEnd', require('../padEnd')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/padCharsStart.js b/packages/frontend-core/node_modules/lodash/fp/padCharsStart.js deleted file mode 100644 index a08a30000a..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/padCharsStart.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('padCharsStart', require('../padStart')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/padEnd.js b/packages/frontend-core/node_modules/lodash/fp/padEnd.js deleted file mode 100644 index a8522ec36a..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/padEnd.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('padEnd', require('../padEnd')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/padStart.js b/packages/frontend-core/node_modules/lodash/fp/padStart.js deleted file mode 100644 index f4ca79d4af..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/padStart.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('padStart', require('../padStart')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/parseInt.js b/packages/frontend-core/node_modules/lodash/fp/parseInt.js deleted file mode 100644 index 27314ccbca..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/parseInt.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('parseInt', require('../parseInt')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/partial.js b/packages/frontend-core/node_modules/lodash/fp/partial.js deleted file mode 100644 index 5d4601598b..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/partial.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('partial', require('../partial')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/partialRight.js b/packages/frontend-core/node_modules/lodash/fp/partialRight.js deleted file mode 100644 index 7f05fed0ab..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/partialRight.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('partialRight', require('../partialRight')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/partition.js b/packages/frontend-core/node_modules/lodash/fp/partition.js deleted file mode 100644 index 2ebcacc1f4..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/partition.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('partition', require('../partition')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/path.js b/packages/frontend-core/node_modules/lodash/fp/path.js deleted file mode 100644 index b29cfb2139..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/path.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./get'); diff --git a/packages/frontend-core/node_modules/lodash/fp/pathEq.js b/packages/frontend-core/node_modules/lodash/fp/pathEq.js deleted file mode 100644 index 36c027a383..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/pathEq.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./matchesProperty'); diff --git a/packages/frontend-core/node_modules/lodash/fp/pathOr.js b/packages/frontend-core/node_modules/lodash/fp/pathOr.js deleted file mode 100644 index 4ab582091b..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/pathOr.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./getOr'); diff --git a/packages/frontend-core/node_modules/lodash/fp/paths.js b/packages/frontend-core/node_modules/lodash/fp/paths.js deleted file mode 100644 index 1eb7950ac0..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/paths.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./at'); diff --git a/packages/frontend-core/node_modules/lodash/fp/pick.js b/packages/frontend-core/node_modules/lodash/fp/pick.js deleted file mode 100644 index 197393de1d..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/pick.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('pick', require('../pick')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/pickAll.js b/packages/frontend-core/node_modules/lodash/fp/pickAll.js deleted file mode 100644 index a8ecd46131..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/pickAll.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./pick'); diff --git a/packages/frontend-core/node_modules/lodash/fp/pickBy.js b/packages/frontend-core/node_modules/lodash/fp/pickBy.js deleted file mode 100644 index d832d16b6c..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/pickBy.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('pickBy', require('../pickBy')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/pipe.js b/packages/frontend-core/node_modules/lodash/fp/pipe.js deleted file mode 100644 index b2e1e2cc8d..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/pipe.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./flow'); diff --git a/packages/frontend-core/node_modules/lodash/fp/placeholder.js b/packages/frontend-core/node_modules/lodash/fp/placeholder.js deleted file mode 100644 index 1ce17393b9..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/placeholder.js +++ /dev/null @@ -1,6 +0,0 @@ -/** - * The default argument placeholder value for methods. - * - * @type {Object} - */ -module.exports = {}; diff --git a/packages/frontend-core/node_modules/lodash/fp/plant.js b/packages/frontend-core/node_modules/lodash/fp/plant.js deleted file mode 100644 index eca8f32b4a..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/plant.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('plant', require('../plant'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/pluck.js b/packages/frontend-core/node_modules/lodash/fp/pluck.js deleted file mode 100644 index 0d1e1abfaf..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/pluck.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./map'); diff --git a/packages/frontend-core/node_modules/lodash/fp/prop.js b/packages/frontend-core/node_modules/lodash/fp/prop.js deleted file mode 100644 index b29cfb2139..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/prop.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./get'); diff --git a/packages/frontend-core/node_modules/lodash/fp/propEq.js b/packages/frontend-core/node_modules/lodash/fp/propEq.js deleted file mode 100644 index 36c027a383..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/propEq.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./matchesProperty'); diff --git a/packages/frontend-core/node_modules/lodash/fp/propOr.js b/packages/frontend-core/node_modules/lodash/fp/propOr.js deleted file mode 100644 index 4ab582091b..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/propOr.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./getOr'); diff --git a/packages/frontend-core/node_modules/lodash/fp/property.js b/packages/frontend-core/node_modules/lodash/fp/property.js deleted file mode 100644 index b29cfb2139..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/property.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./get'); diff --git a/packages/frontend-core/node_modules/lodash/fp/propertyOf.js b/packages/frontend-core/node_modules/lodash/fp/propertyOf.js deleted file mode 100644 index f6273ee47a..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/propertyOf.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('propertyOf', require('../get')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/props.js b/packages/frontend-core/node_modules/lodash/fp/props.js deleted file mode 100644 index 1eb7950ac0..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/props.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./at'); diff --git a/packages/frontend-core/node_modules/lodash/fp/pull.js b/packages/frontend-core/node_modules/lodash/fp/pull.js deleted file mode 100644 index 8d7084f079..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/pull.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('pull', require('../pull')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/pullAll.js b/packages/frontend-core/node_modules/lodash/fp/pullAll.js deleted file mode 100644 index 98d5c9a73a..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/pullAll.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('pullAll', require('../pullAll')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/pullAllBy.js b/packages/frontend-core/node_modules/lodash/fp/pullAllBy.js deleted file mode 100644 index 876bc3bf1c..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/pullAllBy.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('pullAllBy', require('../pullAllBy')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/pullAllWith.js b/packages/frontend-core/node_modules/lodash/fp/pullAllWith.js deleted file mode 100644 index f71ba4d73d..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/pullAllWith.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('pullAllWith', require('../pullAllWith')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/pullAt.js b/packages/frontend-core/node_modules/lodash/fp/pullAt.js deleted file mode 100644 index e8b3bb6125..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/pullAt.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('pullAt', require('../pullAt')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/random.js b/packages/frontend-core/node_modules/lodash/fp/random.js deleted file mode 100644 index 99d852e4ab..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/random.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('random', require('../random')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/range.js b/packages/frontend-core/node_modules/lodash/fp/range.js deleted file mode 100644 index a6bb59118b..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/range.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('range', require('../range')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/rangeRight.js b/packages/frontend-core/node_modules/lodash/fp/rangeRight.js deleted file mode 100644 index fdb712f94e..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/rangeRight.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('rangeRight', require('../rangeRight')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/rangeStep.js b/packages/frontend-core/node_modules/lodash/fp/rangeStep.js deleted file mode 100644 index d72dfc200c..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/rangeStep.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('rangeStep', require('../range')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/rangeStepRight.js b/packages/frontend-core/node_modules/lodash/fp/rangeStepRight.js deleted file mode 100644 index 8b2a67bc65..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/rangeStepRight.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('rangeStepRight', require('../rangeRight')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/rearg.js b/packages/frontend-core/node_modules/lodash/fp/rearg.js deleted file mode 100644 index 678e02a32a..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/rearg.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('rearg', require('../rearg')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/reduce.js b/packages/frontend-core/node_modules/lodash/fp/reduce.js deleted file mode 100644 index 4cef0a0083..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/reduce.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('reduce', require('../reduce')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/reduceRight.js b/packages/frontend-core/node_modules/lodash/fp/reduceRight.js deleted file mode 100644 index caf5bb5155..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/reduceRight.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('reduceRight', require('../reduceRight')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/reject.js b/packages/frontend-core/node_modules/lodash/fp/reject.js deleted file mode 100644 index c163273861..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/reject.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('reject', require('../reject')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/remove.js b/packages/frontend-core/node_modules/lodash/fp/remove.js deleted file mode 100644 index e9d1327368..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/remove.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('remove', require('../remove')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/repeat.js b/packages/frontend-core/node_modules/lodash/fp/repeat.js deleted file mode 100644 index 08470f247a..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/repeat.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('repeat', require('../repeat')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/replace.js b/packages/frontend-core/node_modules/lodash/fp/replace.js deleted file mode 100644 index 2227db6257..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/replace.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('replace', require('../replace')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/rest.js b/packages/frontend-core/node_modules/lodash/fp/rest.js deleted file mode 100644 index c1f3d64bdc..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/rest.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('rest', require('../rest')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/restFrom.js b/packages/frontend-core/node_modules/lodash/fp/restFrom.js deleted file mode 100644 index 714e42b5d6..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/restFrom.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('restFrom', require('../rest')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/result.js b/packages/frontend-core/node_modules/lodash/fp/result.js deleted file mode 100644 index f86ce07126..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/result.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('result', require('../result')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/reverse.js b/packages/frontend-core/node_modules/lodash/fp/reverse.js deleted file mode 100644 index 07c9f5e493..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/reverse.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('reverse', require('../reverse')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/round.js b/packages/frontend-core/node_modules/lodash/fp/round.js deleted file mode 100644 index 4c0e5c8299..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/round.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('round', require('../round')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/sample.js b/packages/frontend-core/node_modules/lodash/fp/sample.js deleted file mode 100644 index 6bea1254de..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/sample.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('sample', require('../sample'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/sampleSize.js b/packages/frontend-core/node_modules/lodash/fp/sampleSize.js deleted file mode 100644 index 359ed6fcda..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/sampleSize.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('sampleSize', require('../sampleSize')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/seq.js b/packages/frontend-core/node_modules/lodash/fp/seq.js deleted file mode 100644 index d8f42b0a4d..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/seq.js +++ /dev/null @@ -1,2 +0,0 @@ -var convert = require('./convert'); -module.exports = convert(require('../seq')); diff --git a/packages/frontend-core/node_modules/lodash/fp/set.js b/packages/frontend-core/node_modules/lodash/fp/set.js deleted file mode 100644 index 0b56a56c8a..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/set.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('set', require('../set')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/setWith.js b/packages/frontend-core/node_modules/lodash/fp/setWith.js deleted file mode 100644 index 0b584952b6..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/setWith.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('setWith', require('../setWith')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/shuffle.js b/packages/frontend-core/node_modules/lodash/fp/shuffle.js deleted file mode 100644 index aa3a1ca5be..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/shuffle.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('shuffle', require('../shuffle'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/size.js b/packages/frontend-core/node_modules/lodash/fp/size.js deleted file mode 100644 index 7490136e1c..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/size.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('size', require('../size'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/slice.js b/packages/frontend-core/node_modules/lodash/fp/slice.js deleted file mode 100644 index 15945d321f..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/slice.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('slice', require('../slice')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/snakeCase.js b/packages/frontend-core/node_modules/lodash/fp/snakeCase.js deleted file mode 100644 index a0ff7808eb..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/snakeCase.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('snakeCase', require('../snakeCase'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/some.js b/packages/frontend-core/node_modules/lodash/fp/some.js deleted file mode 100644 index a4fa2d0060..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/some.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('some', require('../some')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/sortBy.js b/packages/frontend-core/node_modules/lodash/fp/sortBy.js deleted file mode 100644 index e0790ad5b7..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/sortBy.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('sortBy', require('../sortBy')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/sortedIndex.js b/packages/frontend-core/node_modules/lodash/fp/sortedIndex.js deleted file mode 100644 index 364a05435e..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/sortedIndex.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('sortedIndex', require('../sortedIndex')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/sortedIndexBy.js b/packages/frontend-core/node_modules/lodash/fp/sortedIndexBy.js deleted file mode 100644 index 9593dbd13d..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/sortedIndexBy.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('sortedIndexBy', require('../sortedIndexBy')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/sortedIndexOf.js b/packages/frontend-core/node_modules/lodash/fp/sortedIndexOf.js deleted file mode 100644 index c9084cab6a..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/sortedIndexOf.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('sortedIndexOf', require('../sortedIndexOf')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/sortedLastIndex.js b/packages/frontend-core/node_modules/lodash/fp/sortedLastIndex.js deleted file mode 100644 index 47fe241af7..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/sortedLastIndex.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('sortedLastIndex', require('../sortedLastIndex')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/sortedLastIndexBy.js b/packages/frontend-core/node_modules/lodash/fp/sortedLastIndexBy.js deleted file mode 100644 index 0f9a347326..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/sortedLastIndexBy.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('sortedLastIndexBy', require('../sortedLastIndexBy')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/sortedLastIndexOf.js b/packages/frontend-core/node_modules/lodash/fp/sortedLastIndexOf.js deleted file mode 100644 index 0d4d93278f..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/sortedLastIndexOf.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('sortedLastIndexOf', require('../sortedLastIndexOf')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/sortedUniq.js b/packages/frontend-core/node_modules/lodash/fp/sortedUniq.js deleted file mode 100644 index 882d283702..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/sortedUniq.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('sortedUniq', require('../sortedUniq'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/sortedUniqBy.js b/packages/frontend-core/node_modules/lodash/fp/sortedUniqBy.js deleted file mode 100644 index 033db91ca9..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/sortedUniqBy.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('sortedUniqBy', require('../sortedUniqBy')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/split.js b/packages/frontend-core/node_modules/lodash/fp/split.js deleted file mode 100644 index 14de1a7efd..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/split.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('split', require('../split')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/spread.js b/packages/frontend-core/node_modules/lodash/fp/spread.js deleted file mode 100644 index 2d11b70722..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/spread.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('spread', require('../spread')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/spreadFrom.js b/packages/frontend-core/node_modules/lodash/fp/spreadFrom.js deleted file mode 100644 index 0b630df1b3..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/spreadFrom.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('spreadFrom', require('../spread')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/startCase.js b/packages/frontend-core/node_modules/lodash/fp/startCase.js deleted file mode 100644 index ada98c943d..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/startCase.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('startCase', require('../startCase'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/startsWith.js b/packages/frontend-core/node_modules/lodash/fp/startsWith.js deleted file mode 100644 index 985e2f2948..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/startsWith.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('startsWith', require('../startsWith')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/string.js b/packages/frontend-core/node_modules/lodash/fp/string.js deleted file mode 100644 index 773b037048..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/string.js +++ /dev/null @@ -1,2 +0,0 @@ -var convert = require('./convert'); -module.exports = convert(require('../string')); diff --git a/packages/frontend-core/node_modules/lodash/fp/stubArray.js b/packages/frontend-core/node_modules/lodash/fp/stubArray.js deleted file mode 100644 index cd604cb493..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/stubArray.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('stubArray', require('../stubArray'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/stubFalse.js b/packages/frontend-core/node_modules/lodash/fp/stubFalse.js deleted file mode 100644 index 3296664544..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/stubFalse.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('stubFalse', require('../stubFalse'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/stubObject.js b/packages/frontend-core/node_modules/lodash/fp/stubObject.js deleted file mode 100644 index c6c8ec472c..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/stubObject.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('stubObject', require('../stubObject'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/stubString.js b/packages/frontend-core/node_modules/lodash/fp/stubString.js deleted file mode 100644 index 701051e8b3..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/stubString.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('stubString', require('../stubString'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/stubTrue.js b/packages/frontend-core/node_modules/lodash/fp/stubTrue.js deleted file mode 100644 index 9249082ce9..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/stubTrue.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('stubTrue', require('../stubTrue'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/subtract.js b/packages/frontend-core/node_modules/lodash/fp/subtract.js deleted file mode 100644 index d32b16d479..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/subtract.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('subtract', require('../subtract')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/sum.js b/packages/frontend-core/node_modules/lodash/fp/sum.js deleted file mode 100644 index 5cce12b325..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/sum.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('sum', require('../sum'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/sumBy.js b/packages/frontend-core/node_modules/lodash/fp/sumBy.js deleted file mode 100644 index c8826565f9..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/sumBy.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('sumBy', require('../sumBy')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/symmetricDifference.js b/packages/frontend-core/node_modules/lodash/fp/symmetricDifference.js deleted file mode 100644 index 78c16add62..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/symmetricDifference.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./xor'); diff --git a/packages/frontend-core/node_modules/lodash/fp/symmetricDifferenceBy.js b/packages/frontend-core/node_modules/lodash/fp/symmetricDifferenceBy.js deleted file mode 100644 index 298fc7ff68..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/symmetricDifferenceBy.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./xorBy'); diff --git a/packages/frontend-core/node_modules/lodash/fp/symmetricDifferenceWith.js b/packages/frontend-core/node_modules/lodash/fp/symmetricDifferenceWith.js deleted file mode 100644 index 70bc6faf28..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/symmetricDifferenceWith.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./xorWith'); diff --git a/packages/frontend-core/node_modules/lodash/fp/tail.js b/packages/frontend-core/node_modules/lodash/fp/tail.js deleted file mode 100644 index f122f0ac34..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/tail.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('tail', require('../tail'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/take.js b/packages/frontend-core/node_modules/lodash/fp/take.js deleted file mode 100644 index 9af98a7bdb..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/take.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('take', require('../take')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/takeLast.js b/packages/frontend-core/node_modules/lodash/fp/takeLast.js deleted file mode 100644 index e98c84a162..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/takeLast.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./takeRight'); diff --git a/packages/frontend-core/node_modules/lodash/fp/takeLastWhile.js b/packages/frontend-core/node_modules/lodash/fp/takeLastWhile.js deleted file mode 100644 index 5367968a3d..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/takeLastWhile.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./takeRightWhile'); diff --git a/packages/frontend-core/node_modules/lodash/fp/takeRight.js b/packages/frontend-core/node_modules/lodash/fp/takeRight.js deleted file mode 100644 index b82950a696..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/takeRight.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('takeRight', require('../takeRight')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/takeRightWhile.js b/packages/frontend-core/node_modules/lodash/fp/takeRightWhile.js deleted file mode 100644 index 8ffb0a2857..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/takeRightWhile.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('takeRightWhile', require('../takeRightWhile')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/takeWhile.js b/packages/frontend-core/node_modules/lodash/fp/takeWhile.js deleted file mode 100644 index 28136644fe..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/takeWhile.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('takeWhile', require('../takeWhile')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/tap.js b/packages/frontend-core/node_modules/lodash/fp/tap.js deleted file mode 100644 index d33ad6ec1e..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/tap.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('tap', require('../tap')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/template.js b/packages/frontend-core/node_modules/lodash/fp/template.js deleted file mode 100644 index 74857e1c84..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/template.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('template', require('../template')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/templateSettings.js b/packages/frontend-core/node_modules/lodash/fp/templateSettings.js deleted file mode 100644 index 7bcc0a82b9..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/templateSettings.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('templateSettings', require('../templateSettings'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/throttle.js b/packages/frontend-core/node_modules/lodash/fp/throttle.js deleted file mode 100644 index 77fff14284..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/throttle.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('throttle', require('../throttle')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/thru.js b/packages/frontend-core/node_modules/lodash/fp/thru.js deleted file mode 100644 index d42b3b1d84..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/thru.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('thru', require('../thru')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/times.js b/packages/frontend-core/node_modules/lodash/fp/times.js deleted file mode 100644 index 0dab06dad1..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/times.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('times', require('../times')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/toArray.js b/packages/frontend-core/node_modules/lodash/fp/toArray.js deleted file mode 100644 index f0c360aca3..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/toArray.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('toArray', require('../toArray'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/toFinite.js b/packages/frontend-core/node_modules/lodash/fp/toFinite.js deleted file mode 100644 index 3a47687d6b..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/toFinite.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('toFinite', require('../toFinite'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/toInteger.js b/packages/frontend-core/node_modules/lodash/fp/toInteger.js deleted file mode 100644 index e0af6a750e..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/toInteger.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('toInteger', require('../toInteger'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/toIterator.js b/packages/frontend-core/node_modules/lodash/fp/toIterator.js deleted file mode 100644 index 65e6baa9dd..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/toIterator.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('toIterator', require('../toIterator'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/toJSON.js b/packages/frontend-core/node_modules/lodash/fp/toJSON.js deleted file mode 100644 index 2d718d0bc1..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/toJSON.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('toJSON', require('../toJSON'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/toLength.js b/packages/frontend-core/node_modules/lodash/fp/toLength.js deleted file mode 100644 index b97cdd9351..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/toLength.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('toLength', require('../toLength'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/toLower.js b/packages/frontend-core/node_modules/lodash/fp/toLower.js deleted file mode 100644 index 616ef36ada..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/toLower.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('toLower', require('../toLower'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/toNumber.js b/packages/frontend-core/node_modules/lodash/fp/toNumber.js deleted file mode 100644 index d0c6f4d3d6..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/toNumber.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('toNumber', require('../toNumber'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/toPairs.js b/packages/frontend-core/node_modules/lodash/fp/toPairs.js deleted file mode 100644 index af783786ee..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/toPairs.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('toPairs', require('../toPairs'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/toPairsIn.js b/packages/frontend-core/node_modules/lodash/fp/toPairsIn.js deleted file mode 100644 index 66504abf1f..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/toPairsIn.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('toPairsIn', require('../toPairsIn'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/toPath.js b/packages/frontend-core/node_modules/lodash/fp/toPath.js deleted file mode 100644 index b4d5e50fb7..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/toPath.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('toPath', require('../toPath'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/toPlainObject.js b/packages/frontend-core/node_modules/lodash/fp/toPlainObject.js deleted file mode 100644 index 278bb86398..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/toPlainObject.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('toPlainObject', require('../toPlainObject'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/toSafeInteger.js b/packages/frontend-core/node_modules/lodash/fp/toSafeInteger.js deleted file mode 100644 index 367a26fddc..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/toSafeInteger.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('toSafeInteger', require('../toSafeInteger'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/toString.js b/packages/frontend-core/node_modules/lodash/fp/toString.js deleted file mode 100644 index cec4f8e223..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/toString.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('toString', require('../toString'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/toUpper.js b/packages/frontend-core/node_modules/lodash/fp/toUpper.js deleted file mode 100644 index 54f9a56058..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/toUpper.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('toUpper', require('../toUpper'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/transform.js b/packages/frontend-core/node_modules/lodash/fp/transform.js deleted file mode 100644 index 759d088f1a..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/transform.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('transform', require('../transform')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/trim.js b/packages/frontend-core/node_modules/lodash/fp/trim.js deleted file mode 100644 index e6319a741c..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/trim.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('trim', require('../trim')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/trimChars.js b/packages/frontend-core/node_modules/lodash/fp/trimChars.js deleted file mode 100644 index c9294de48c..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/trimChars.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('trimChars', require('../trim')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/trimCharsEnd.js b/packages/frontend-core/node_modules/lodash/fp/trimCharsEnd.js deleted file mode 100644 index 284bc2f813..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/trimCharsEnd.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('trimCharsEnd', require('../trimEnd')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/trimCharsStart.js b/packages/frontend-core/node_modules/lodash/fp/trimCharsStart.js deleted file mode 100644 index ff0ee65dfb..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/trimCharsStart.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('trimCharsStart', require('../trimStart')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/trimEnd.js b/packages/frontend-core/node_modules/lodash/fp/trimEnd.js deleted file mode 100644 index 71908805fc..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/trimEnd.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('trimEnd', require('../trimEnd')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/trimStart.js b/packages/frontend-core/node_modules/lodash/fp/trimStart.js deleted file mode 100644 index fda902c389..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/trimStart.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('trimStart', require('../trimStart')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/truncate.js b/packages/frontend-core/node_modules/lodash/fp/truncate.js deleted file mode 100644 index d265c1decb..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/truncate.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('truncate', require('../truncate')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/unapply.js b/packages/frontend-core/node_modules/lodash/fp/unapply.js deleted file mode 100644 index c5dfe779d6..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/unapply.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./rest'); diff --git a/packages/frontend-core/node_modules/lodash/fp/unary.js b/packages/frontend-core/node_modules/lodash/fp/unary.js deleted file mode 100644 index 286c945fb6..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/unary.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('unary', require('../unary'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/unescape.js b/packages/frontend-core/node_modules/lodash/fp/unescape.js deleted file mode 100644 index fddcb46e2d..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/unescape.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('unescape', require('../unescape'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/union.js b/packages/frontend-core/node_modules/lodash/fp/union.js deleted file mode 100644 index ef8228d74c..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/union.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('union', require('../union')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/unionBy.js b/packages/frontend-core/node_modules/lodash/fp/unionBy.js deleted file mode 100644 index 603687a188..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/unionBy.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('unionBy', require('../unionBy')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/unionWith.js b/packages/frontend-core/node_modules/lodash/fp/unionWith.js deleted file mode 100644 index 65bb3a7928..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/unionWith.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('unionWith', require('../unionWith')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/uniq.js b/packages/frontend-core/node_modules/lodash/fp/uniq.js deleted file mode 100644 index bc1852490b..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/uniq.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('uniq', require('../uniq'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/uniqBy.js b/packages/frontend-core/node_modules/lodash/fp/uniqBy.js deleted file mode 100644 index 634c6a8bb3..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/uniqBy.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('uniqBy', require('../uniqBy')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/uniqWith.js b/packages/frontend-core/node_modules/lodash/fp/uniqWith.js deleted file mode 100644 index 0ec601a910..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/uniqWith.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('uniqWith', require('../uniqWith')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/uniqueId.js b/packages/frontend-core/node_modules/lodash/fp/uniqueId.js deleted file mode 100644 index aa8fc2f739..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/uniqueId.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('uniqueId', require('../uniqueId')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/unnest.js b/packages/frontend-core/node_modules/lodash/fp/unnest.js deleted file mode 100644 index 5d34060aa7..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/unnest.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./flatten'); diff --git a/packages/frontend-core/node_modules/lodash/fp/unset.js b/packages/frontend-core/node_modules/lodash/fp/unset.js deleted file mode 100644 index ea203a0f39..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/unset.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('unset', require('../unset')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/unzip.js b/packages/frontend-core/node_modules/lodash/fp/unzip.js deleted file mode 100644 index cc364b3c5a..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/unzip.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('unzip', require('../unzip'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/unzipWith.js b/packages/frontend-core/node_modules/lodash/fp/unzipWith.js deleted file mode 100644 index 182eaa1042..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/unzipWith.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('unzipWith', require('../unzipWith')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/update.js b/packages/frontend-core/node_modules/lodash/fp/update.js deleted file mode 100644 index b8ce2cc9e1..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/update.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('update', require('../update')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/updateWith.js b/packages/frontend-core/node_modules/lodash/fp/updateWith.js deleted file mode 100644 index d5e8282d94..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/updateWith.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('updateWith', require('../updateWith')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/upperCase.js b/packages/frontend-core/node_modules/lodash/fp/upperCase.js deleted file mode 100644 index c886f20216..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/upperCase.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('upperCase', require('../upperCase'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/upperFirst.js b/packages/frontend-core/node_modules/lodash/fp/upperFirst.js deleted file mode 100644 index d8c04df54b..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/upperFirst.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('upperFirst', require('../upperFirst'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/useWith.js b/packages/frontend-core/node_modules/lodash/fp/useWith.js deleted file mode 100644 index d8b3df5a4e..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/useWith.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./overArgs'); diff --git a/packages/frontend-core/node_modules/lodash/fp/util.js b/packages/frontend-core/node_modules/lodash/fp/util.js deleted file mode 100644 index 18c00baed4..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/util.js +++ /dev/null @@ -1,2 +0,0 @@ -var convert = require('./convert'); -module.exports = convert(require('../util')); diff --git a/packages/frontend-core/node_modules/lodash/fp/value.js b/packages/frontend-core/node_modules/lodash/fp/value.js deleted file mode 100644 index 555eec7a38..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/value.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('value', require('../value'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/valueOf.js b/packages/frontend-core/node_modules/lodash/fp/valueOf.js deleted file mode 100644 index f968807d70..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/valueOf.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('valueOf', require('../valueOf'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/values.js b/packages/frontend-core/node_modules/lodash/fp/values.js deleted file mode 100644 index 2dfc56136b..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/values.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('values', require('../values'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/valuesIn.js b/packages/frontend-core/node_modules/lodash/fp/valuesIn.js deleted file mode 100644 index a1b2bb8725..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/valuesIn.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('valuesIn', require('../valuesIn'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/where.js b/packages/frontend-core/node_modules/lodash/fp/where.js deleted file mode 100644 index 3247f64a8c..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/where.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./conformsTo'); diff --git a/packages/frontend-core/node_modules/lodash/fp/whereEq.js b/packages/frontend-core/node_modules/lodash/fp/whereEq.js deleted file mode 100644 index 29d1e1e4f1..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/whereEq.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./isMatch'); diff --git a/packages/frontend-core/node_modules/lodash/fp/without.js b/packages/frontend-core/node_modules/lodash/fp/without.js deleted file mode 100644 index bad9e125bc..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/without.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('without', require('../without')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/words.js b/packages/frontend-core/node_modules/lodash/fp/words.js deleted file mode 100644 index 4a901414b8..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/words.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('words', require('../words')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/wrap.js b/packages/frontend-core/node_modules/lodash/fp/wrap.js deleted file mode 100644 index e93bd8a1de..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/wrap.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('wrap', require('../wrap')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/wrapperAt.js b/packages/frontend-core/node_modules/lodash/fp/wrapperAt.js deleted file mode 100644 index 8f0a310fea..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/wrapperAt.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('wrapperAt', require('../wrapperAt'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/wrapperChain.js b/packages/frontend-core/node_modules/lodash/fp/wrapperChain.js deleted file mode 100644 index 2a48ea2b5b..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/wrapperChain.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('wrapperChain', require('../wrapperChain'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/wrapperLodash.js b/packages/frontend-core/node_modules/lodash/fp/wrapperLodash.js deleted file mode 100644 index a7162d084c..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/wrapperLodash.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('wrapperLodash', require('../wrapperLodash'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/wrapperReverse.js b/packages/frontend-core/node_modules/lodash/fp/wrapperReverse.js deleted file mode 100644 index e1481aab91..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/wrapperReverse.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('wrapperReverse', require('../wrapperReverse'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/wrapperValue.js b/packages/frontend-core/node_modules/lodash/fp/wrapperValue.js deleted file mode 100644 index 8eb9112f61..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/wrapperValue.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('wrapperValue', require('../wrapperValue'), require('./_falseOptions')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/xor.js b/packages/frontend-core/node_modules/lodash/fp/xor.js deleted file mode 100644 index 29e2819489..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/xor.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('xor', require('../xor')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/xorBy.js b/packages/frontend-core/node_modules/lodash/fp/xorBy.js deleted file mode 100644 index b355686db6..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/xorBy.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('xorBy', require('../xorBy')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/xorWith.js b/packages/frontend-core/node_modules/lodash/fp/xorWith.js deleted file mode 100644 index 8e05739ad3..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/xorWith.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('xorWith', require('../xorWith')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/zip.js b/packages/frontend-core/node_modules/lodash/fp/zip.js deleted file mode 100644 index 69e147a441..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/zip.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('zip', require('../zip')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/zipAll.js b/packages/frontend-core/node_modules/lodash/fp/zipAll.js deleted file mode 100644 index efa8ccbfbb..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/zipAll.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('zipAll', require('../zip')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/zipObj.js b/packages/frontend-core/node_modules/lodash/fp/zipObj.js deleted file mode 100644 index f4a34531b1..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/zipObj.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./zipObject'); diff --git a/packages/frontend-core/node_modules/lodash/fp/zipObject.js b/packages/frontend-core/node_modules/lodash/fp/zipObject.js deleted file mode 100644 index 462dbb68cb..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/zipObject.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('zipObject', require('../zipObject')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/zipObjectDeep.js b/packages/frontend-core/node_modules/lodash/fp/zipObjectDeep.js deleted file mode 100644 index 53a5d33807..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/zipObjectDeep.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('zipObjectDeep', require('../zipObjectDeep')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fp/zipWith.js b/packages/frontend-core/node_modules/lodash/fp/zipWith.js deleted file mode 100644 index c5cf9e2128..0000000000 --- a/packages/frontend-core/node_modules/lodash/fp/zipWith.js +++ /dev/null @@ -1,5 +0,0 @@ -var convert = require('./convert'), - func = convert('zipWith', require('../zipWith')); - -func.placeholder = require('./placeholder'); -module.exports = func; diff --git a/packages/frontend-core/node_modules/lodash/fromPairs.js b/packages/frontend-core/node_modules/lodash/fromPairs.js deleted file mode 100644 index ee7940d240..0000000000 --- a/packages/frontend-core/node_modules/lodash/fromPairs.js +++ /dev/null @@ -1,28 +0,0 @@ -/** - * The inverse of `_.toPairs`; this method returns an object composed - * from key-value `pairs`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} pairs The key-value pairs. - * @returns {Object} Returns the new object. - * @example - * - * _.fromPairs([['a', 1], ['b', 2]]); - * // => { 'a': 1, 'b': 2 } - */ -function fromPairs(pairs) { - var index = -1, - length = pairs == null ? 0 : pairs.length, - result = {}; - - while (++index < length) { - var pair = pairs[index]; - result[pair[0]] = pair[1]; - } - return result; -} - -module.exports = fromPairs; diff --git a/packages/frontend-core/node_modules/lodash/function.js b/packages/frontend-core/node_modules/lodash/function.js deleted file mode 100644 index b0fc6d93e3..0000000000 --- a/packages/frontend-core/node_modules/lodash/function.js +++ /dev/null @@ -1,25 +0,0 @@ -module.exports = { - 'after': require('./after'), - 'ary': require('./ary'), - 'before': require('./before'), - 'bind': require('./bind'), - 'bindKey': require('./bindKey'), - 'curry': require('./curry'), - 'curryRight': require('./curryRight'), - 'debounce': require('./debounce'), - 'defer': require('./defer'), - 'delay': require('./delay'), - 'flip': require('./flip'), - 'memoize': require('./memoize'), - 'negate': require('./negate'), - 'once': require('./once'), - 'overArgs': require('./overArgs'), - 'partial': require('./partial'), - 'partialRight': require('./partialRight'), - 'rearg': require('./rearg'), - 'rest': require('./rest'), - 'spread': require('./spread'), - 'throttle': require('./throttle'), - 'unary': require('./unary'), - 'wrap': require('./wrap') -}; diff --git a/packages/frontend-core/node_modules/lodash/functions.js b/packages/frontend-core/node_modules/lodash/functions.js deleted file mode 100644 index 9722928f50..0000000000 --- a/packages/frontend-core/node_modules/lodash/functions.js +++ /dev/null @@ -1,31 +0,0 @@ -var baseFunctions = require('./_baseFunctions'), - keys = require('./keys'); - -/** - * Creates an array of function property names from own enumerable properties - * of `object`. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The object to inspect. - * @returns {Array} Returns the function names. - * @see _.functionsIn - * @example - * - * function Foo() { - * this.a = _.constant('a'); - * this.b = _.constant('b'); - * } - * - * Foo.prototype.c = _.constant('c'); - * - * _.functions(new Foo); - * // => ['a', 'b'] - */ -function functions(object) { - return object == null ? [] : baseFunctions(object, keys(object)); -} - -module.exports = functions; diff --git a/packages/frontend-core/node_modules/lodash/functionsIn.js b/packages/frontend-core/node_modules/lodash/functionsIn.js deleted file mode 100644 index f00345d066..0000000000 --- a/packages/frontend-core/node_modules/lodash/functionsIn.js +++ /dev/null @@ -1,31 +0,0 @@ -var baseFunctions = require('./_baseFunctions'), - keysIn = require('./keysIn'); - -/** - * Creates an array of function property names from own and inherited - * enumerable properties of `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The object to inspect. - * @returns {Array} Returns the function names. - * @see _.functions - * @example - * - * function Foo() { - * this.a = _.constant('a'); - * this.b = _.constant('b'); - * } - * - * Foo.prototype.c = _.constant('c'); - * - * _.functionsIn(new Foo); - * // => ['a', 'b', 'c'] - */ -function functionsIn(object) { - return object == null ? [] : baseFunctions(object, keysIn(object)); -} - -module.exports = functionsIn; diff --git a/packages/frontend-core/node_modules/lodash/get.js b/packages/frontend-core/node_modules/lodash/get.js deleted file mode 100644 index 8805ff92c1..0000000000 --- a/packages/frontend-core/node_modules/lodash/get.js +++ /dev/null @@ -1,33 +0,0 @@ -var baseGet = require('./_baseGet'); - -/** - * Gets the value at `path` of `object`. If the resolved value is - * `undefined`, the `defaultValue` is returned in its place. - * - * @static - * @memberOf _ - * @since 3.7.0 - * @category Object - * @param {Object} object The object to query. - * @param {Array|string} path The path of the property to get. - * @param {*} [defaultValue] The value returned for `undefined` resolved values. - * @returns {*} Returns the resolved value. - * @example - * - * var object = { 'a': [{ 'b': { 'c': 3 } }] }; - * - * _.get(object, 'a[0].b.c'); - * // => 3 - * - * _.get(object, ['a', '0', 'b', 'c']); - * // => 3 - * - * _.get(object, 'a.b.c', 'default'); - * // => 'default' - */ -function get(object, path, defaultValue) { - var result = object == null ? undefined : baseGet(object, path); - return result === undefined ? defaultValue : result; -} - -module.exports = get; diff --git a/packages/frontend-core/node_modules/lodash/groupBy.js b/packages/frontend-core/node_modules/lodash/groupBy.js deleted file mode 100644 index babf4f6baa..0000000000 --- a/packages/frontend-core/node_modules/lodash/groupBy.js +++ /dev/null @@ -1,41 +0,0 @@ -var baseAssignValue = require('./_baseAssignValue'), - createAggregator = require('./_createAggregator'); - -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * Creates an object composed of keys generated from the results of running - * each element of `collection` thru `iteratee`. The order of grouped values - * is determined by the order they occur in `collection`. The corresponding - * value of each key is an array of elements responsible for generating the - * key. The iteratee is invoked with one argument: (value). - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The iteratee to transform keys. - * @returns {Object} Returns the composed aggregate object. - * @example - * - * _.groupBy([6.1, 4.2, 6.3], Math.floor); - * // => { '4': [4.2], '6': [6.1, 6.3] } - * - * // The `_.property` iteratee shorthand. - * _.groupBy(['one', 'two', 'three'], 'length'); - * // => { '3': ['one', 'two'], '5': ['three'] } - */ -var groupBy = createAggregator(function(result, value, key) { - if (hasOwnProperty.call(result, key)) { - result[key].push(value); - } else { - baseAssignValue(result, key, [value]); - } -}); - -module.exports = groupBy; diff --git a/packages/frontend-core/node_modules/lodash/gt.js b/packages/frontend-core/node_modules/lodash/gt.js deleted file mode 100644 index 3a66282880..0000000000 --- a/packages/frontend-core/node_modules/lodash/gt.js +++ /dev/null @@ -1,29 +0,0 @@ -var baseGt = require('./_baseGt'), - createRelationalOperation = require('./_createRelationalOperation'); - -/** - * Checks if `value` is greater than `other`. - * - * @static - * @memberOf _ - * @since 3.9.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if `value` is greater than `other`, - * else `false`. - * @see _.lt - * @example - * - * _.gt(3, 1); - * // => true - * - * _.gt(3, 3); - * // => false - * - * _.gt(1, 3); - * // => false - */ -var gt = createRelationalOperation(baseGt); - -module.exports = gt; diff --git a/packages/frontend-core/node_modules/lodash/gte.js b/packages/frontend-core/node_modules/lodash/gte.js deleted file mode 100644 index 4180a687d7..0000000000 --- a/packages/frontend-core/node_modules/lodash/gte.js +++ /dev/null @@ -1,30 +0,0 @@ -var createRelationalOperation = require('./_createRelationalOperation'); - -/** - * Checks if `value` is greater than or equal to `other`. - * - * @static - * @memberOf _ - * @since 3.9.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if `value` is greater than or equal to - * `other`, else `false`. - * @see _.lte - * @example - * - * _.gte(3, 1); - * // => true - * - * _.gte(3, 3); - * // => true - * - * _.gte(1, 3); - * // => false - */ -var gte = createRelationalOperation(function(value, other) { - return value >= other; -}); - -module.exports = gte; diff --git a/packages/frontend-core/node_modules/lodash/has.js b/packages/frontend-core/node_modules/lodash/has.js deleted file mode 100644 index 34df55e8e2..0000000000 --- a/packages/frontend-core/node_modules/lodash/has.js +++ /dev/null @@ -1,35 +0,0 @@ -var baseHas = require('./_baseHas'), - hasPath = require('./_hasPath'); - -/** - * Checks if `path` is a direct property of `object`. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @param {Array|string} path The path to check. - * @returns {boolean} Returns `true` if `path` exists, else `false`. - * @example - * - * var object = { 'a': { 'b': 2 } }; - * var other = _.create({ 'a': _.create({ 'b': 2 }) }); - * - * _.has(object, 'a'); - * // => true - * - * _.has(object, 'a.b'); - * // => true - * - * _.has(object, ['a', 'b']); - * // => true - * - * _.has(other, 'a'); - * // => false - */ -function has(object, path) { - return object != null && hasPath(object, path, baseHas); -} - -module.exports = has; diff --git a/packages/frontend-core/node_modules/lodash/hasIn.js b/packages/frontend-core/node_modules/lodash/hasIn.js deleted file mode 100644 index 06a3686542..0000000000 --- a/packages/frontend-core/node_modules/lodash/hasIn.js +++ /dev/null @@ -1,34 +0,0 @@ -var baseHasIn = require('./_baseHasIn'), - hasPath = require('./_hasPath'); - -/** - * Checks if `path` is a direct or inherited property of `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The object to query. - * @param {Array|string} path The path to check. - * @returns {boolean} Returns `true` if `path` exists, else `false`. - * @example - * - * var object = _.create({ 'a': _.create({ 'b': 2 }) }); - * - * _.hasIn(object, 'a'); - * // => true - * - * _.hasIn(object, 'a.b'); - * // => true - * - * _.hasIn(object, ['a', 'b']); - * // => true - * - * _.hasIn(object, 'b'); - * // => false - */ -function hasIn(object, path) { - return object != null && hasPath(object, path, baseHasIn); -} - -module.exports = hasIn; diff --git a/packages/frontend-core/node_modules/lodash/head.js b/packages/frontend-core/node_modules/lodash/head.js deleted file mode 100644 index dee9d1f1e7..0000000000 --- a/packages/frontend-core/node_modules/lodash/head.js +++ /dev/null @@ -1,23 +0,0 @@ -/** - * Gets the first element of `array`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @alias first - * @category Array - * @param {Array} array The array to query. - * @returns {*} Returns the first element of `array`. - * @example - * - * _.head([1, 2, 3]); - * // => 1 - * - * _.head([]); - * // => undefined - */ -function head(array) { - return (array && array.length) ? array[0] : undefined; -} - -module.exports = head; diff --git a/packages/frontend-core/node_modules/lodash/identity.js b/packages/frontend-core/node_modules/lodash/identity.js deleted file mode 100644 index 2d5d963cd2..0000000000 --- a/packages/frontend-core/node_modules/lodash/identity.js +++ /dev/null @@ -1,21 +0,0 @@ -/** - * This method returns the first argument it receives. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Util - * @param {*} value Any value. - * @returns {*} Returns `value`. - * @example - * - * var object = { 'a': 1 }; - * - * console.log(_.identity(object) === object); - * // => true - */ -function identity(value) { - return value; -} - -module.exports = identity; diff --git a/packages/frontend-core/node_modules/lodash/inRange.js b/packages/frontend-core/node_modules/lodash/inRange.js deleted file mode 100644 index f20728d920..0000000000 --- a/packages/frontend-core/node_modules/lodash/inRange.js +++ /dev/null @@ -1,55 +0,0 @@ -var baseInRange = require('./_baseInRange'), - toFinite = require('./toFinite'), - toNumber = require('./toNumber'); - -/** - * Checks if `n` is between `start` and up to, but not including, `end`. If - * `end` is not specified, it's set to `start` with `start` then set to `0`. - * If `start` is greater than `end` the params are swapped to support - * negative ranges. - * - * @static - * @memberOf _ - * @since 3.3.0 - * @category Number - * @param {number} number The number to check. - * @param {number} [start=0] The start of the range. - * @param {number} end The end of the range. - * @returns {boolean} Returns `true` if `number` is in the range, else `false`. - * @see _.range, _.rangeRight - * @example - * - * _.inRange(3, 2, 4); - * // => true - * - * _.inRange(4, 8); - * // => true - * - * _.inRange(4, 2); - * // => false - * - * _.inRange(2, 2); - * // => false - * - * _.inRange(1.2, 2); - * // => true - * - * _.inRange(5.2, 4); - * // => false - * - * _.inRange(-3, -2, -6); - * // => true - */ -function inRange(number, start, end) { - start = toFinite(start); - if (end === undefined) { - end = start; - start = 0; - } else { - end = toFinite(end); - } - number = toNumber(number); - return baseInRange(number, start, end); -} - -module.exports = inRange; diff --git a/packages/frontend-core/node_modules/lodash/includes.js b/packages/frontend-core/node_modules/lodash/includes.js deleted file mode 100644 index ae0deedc90..0000000000 --- a/packages/frontend-core/node_modules/lodash/includes.js +++ /dev/null @@ -1,53 +0,0 @@ -var baseIndexOf = require('./_baseIndexOf'), - isArrayLike = require('./isArrayLike'), - isString = require('./isString'), - toInteger = require('./toInteger'), - values = require('./values'); - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeMax = Math.max; - -/** - * Checks if `value` is in `collection`. If `collection` is a string, it's - * checked for a substring of `value`, otherwise - * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * is used for equality comparisons. If `fromIndex` is negative, it's used as - * the offset from the end of `collection`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object|string} collection The collection to inspect. - * @param {*} value The value to search for. - * @param {number} [fromIndex=0] The index to search from. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`. - * @returns {boolean} Returns `true` if `value` is found, else `false`. - * @example - * - * _.includes([1, 2, 3], 1); - * // => true - * - * _.includes([1, 2, 3], 1, 2); - * // => false - * - * _.includes({ 'a': 1, 'b': 2 }, 1); - * // => true - * - * _.includes('abcd', 'bc'); - * // => true - */ -function includes(collection, value, fromIndex, guard) { - collection = isArrayLike(collection) ? collection : values(collection); - fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0; - - var length = collection.length; - if (fromIndex < 0) { - fromIndex = nativeMax(length + fromIndex, 0); - } - return isString(collection) - ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1) - : (!!length && baseIndexOf(collection, value, fromIndex) > -1); -} - -module.exports = includes; diff --git a/packages/frontend-core/node_modules/lodash/index.js b/packages/frontend-core/node_modules/lodash/index.js deleted file mode 100644 index 5d063e21f3..0000000000 --- a/packages/frontend-core/node_modules/lodash/index.js +++ /dev/null @@ -1 +0,0 @@ -module.exports = require('./lodash'); \ No newline at end of file diff --git a/packages/frontend-core/node_modules/lodash/indexOf.js b/packages/frontend-core/node_modules/lodash/indexOf.js deleted file mode 100644 index 3c644af2ef..0000000000 --- a/packages/frontend-core/node_modules/lodash/indexOf.js +++ /dev/null @@ -1,42 +0,0 @@ -var baseIndexOf = require('./_baseIndexOf'), - toInteger = require('./toInteger'); - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeMax = Math.max; - -/** - * Gets the index at which the first occurrence of `value` is found in `array` - * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. If `fromIndex` is negative, it's used as the - * offset from the end of `array`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @param {number} [fromIndex=0] The index to search from. - * @returns {number} Returns the index of the matched value, else `-1`. - * @example - * - * _.indexOf([1, 2, 1, 2], 2); - * // => 1 - * - * // Search from the `fromIndex`. - * _.indexOf([1, 2, 1, 2], 2, 2); - * // => 3 - */ -function indexOf(array, value, fromIndex) { - var length = array == null ? 0 : array.length; - if (!length) { - return -1; - } - var index = fromIndex == null ? 0 : toInteger(fromIndex); - if (index < 0) { - index = nativeMax(length + index, 0); - } - return baseIndexOf(array, value, index); -} - -module.exports = indexOf; diff --git a/packages/frontend-core/node_modules/lodash/initial.js b/packages/frontend-core/node_modules/lodash/initial.js deleted file mode 100644 index f47fc50928..0000000000 --- a/packages/frontend-core/node_modules/lodash/initial.js +++ /dev/null @@ -1,22 +0,0 @@ -var baseSlice = require('./_baseSlice'); - -/** - * Gets all but the last element of `array`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to query. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.initial([1, 2, 3]); - * // => [1, 2] - */ -function initial(array) { - var length = array == null ? 0 : array.length; - return length ? baseSlice(array, 0, -1) : []; -} - -module.exports = initial; diff --git a/packages/frontend-core/node_modules/lodash/intersection.js b/packages/frontend-core/node_modules/lodash/intersection.js deleted file mode 100644 index a94c13512a..0000000000 --- a/packages/frontend-core/node_modules/lodash/intersection.js +++ /dev/null @@ -1,30 +0,0 @@ -var arrayMap = require('./_arrayMap'), - baseIntersection = require('./_baseIntersection'), - baseRest = require('./_baseRest'), - castArrayLikeObject = require('./_castArrayLikeObject'); - -/** - * Creates an array of unique values that are included in all given arrays - * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. The order and references of result values are - * determined by the first array. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @returns {Array} Returns the new array of intersecting values. - * @example - * - * _.intersection([2, 1], [2, 3]); - * // => [2] - */ -var intersection = baseRest(function(arrays) { - var mapped = arrayMap(arrays, castArrayLikeObject); - return (mapped.length && mapped[0] === arrays[0]) - ? baseIntersection(mapped) - : []; -}); - -module.exports = intersection; diff --git a/packages/frontend-core/node_modules/lodash/intersectionBy.js b/packages/frontend-core/node_modules/lodash/intersectionBy.js deleted file mode 100644 index 31461aae53..0000000000 --- a/packages/frontend-core/node_modules/lodash/intersectionBy.js +++ /dev/null @@ -1,45 +0,0 @@ -var arrayMap = require('./_arrayMap'), - baseIntersection = require('./_baseIntersection'), - baseIteratee = require('./_baseIteratee'), - baseRest = require('./_baseRest'), - castArrayLikeObject = require('./_castArrayLikeObject'), - last = require('./last'); - -/** - * This method is like `_.intersection` except that it accepts `iteratee` - * which is invoked for each element of each `arrays` to generate the criterion - * by which they're compared. The order and references of result values are - * determined by the first array. The iteratee is invoked with one argument: - * (value). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @param {Function} [iteratee=_.identity] The iteratee invoked per element. - * @returns {Array} Returns the new array of intersecting values. - * @example - * - * _.intersectionBy([2.1, 1.2], [2.3, 3.4], Math.floor); - * // => [2.1] - * - * // The `_.property` iteratee shorthand. - * _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); - * // => [{ 'x': 1 }] - */ -var intersectionBy = baseRest(function(arrays) { - var iteratee = last(arrays), - mapped = arrayMap(arrays, castArrayLikeObject); - - if (iteratee === last(mapped)) { - iteratee = undefined; - } else { - mapped.pop(); - } - return (mapped.length && mapped[0] === arrays[0]) - ? baseIntersection(mapped, baseIteratee(iteratee, 2)) - : []; -}); - -module.exports = intersectionBy; diff --git a/packages/frontend-core/node_modules/lodash/intersectionWith.js b/packages/frontend-core/node_modules/lodash/intersectionWith.js deleted file mode 100644 index 63cabfaa40..0000000000 --- a/packages/frontend-core/node_modules/lodash/intersectionWith.js +++ /dev/null @@ -1,41 +0,0 @@ -var arrayMap = require('./_arrayMap'), - baseIntersection = require('./_baseIntersection'), - baseRest = require('./_baseRest'), - castArrayLikeObject = require('./_castArrayLikeObject'), - last = require('./last'); - -/** - * This method is like `_.intersection` except that it accepts `comparator` - * which is invoked to compare elements of `arrays`. The order and references - * of result values are determined by the first array. The comparator is - * invoked with two arguments: (arrVal, othVal). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new array of intersecting values. - * @example - * - * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; - * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; - * - * _.intersectionWith(objects, others, _.isEqual); - * // => [{ 'x': 1, 'y': 2 }] - */ -var intersectionWith = baseRest(function(arrays) { - var comparator = last(arrays), - mapped = arrayMap(arrays, castArrayLikeObject); - - comparator = typeof comparator == 'function' ? comparator : undefined; - if (comparator) { - mapped.pop(); - } - return (mapped.length && mapped[0] === arrays[0]) - ? baseIntersection(mapped, undefined, comparator) - : []; -}); - -module.exports = intersectionWith; diff --git a/packages/frontend-core/node_modules/lodash/invert.js b/packages/frontend-core/node_modules/lodash/invert.js deleted file mode 100644 index 8c4795097b..0000000000 --- a/packages/frontend-core/node_modules/lodash/invert.js +++ /dev/null @@ -1,42 +0,0 @@ -var constant = require('./constant'), - createInverter = require('./_createInverter'), - identity = require('./identity'); - -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** - * Used to resolve the - * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) - * of values. - */ -var nativeObjectToString = objectProto.toString; - -/** - * Creates an object composed of the inverted keys and values of `object`. - * If `object` contains duplicate values, subsequent values overwrite - * property assignments of previous values. - * - * @static - * @memberOf _ - * @since 0.7.0 - * @category Object - * @param {Object} object The object to invert. - * @returns {Object} Returns the new inverted object. - * @example - * - * var object = { 'a': 1, 'b': 2, 'c': 1 }; - * - * _.invert(object); - * // => { '1': 'c', '2': 'b' } - */ -var invert = createInverter(function(result, value, key) { - if (value != null && - typeof value.toString != 'function') { - value = nativeObjectToString.call(value); - } - - result[value] = key; -}, constant(identity)); - -module.exports = invert; diff --git a/packages/frontend-core/node_modules/lodash/invertBy.js b/packages/frontend-core/node_modules/lodash/invertBy.js deleted file mode 100644 index 3f4f7e532c..0000000000 --- a/packages/frontend-core/node_modules/lodash/invertBy.js +++ /dev/null @@ -1,56 +0,0 @@ -var baseIteratee = require('./_baseIteratee'), - createInverter = require('./_createInverter'); - -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * Used to resolve the - * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) - * of values. - */ -var nativeObjectToString = objectProto.toString; - -/** - * This method is like `_.invert` except that the inverted object is generated - * from the results of running each element of `object` thru `iteratee`. The - * corresponding inverted value of each inverted key is an array of keys - * responsible for generating the inverted value. The iteratee is invoked - * with one argument: (value). - * - * @static - * @memberOf _ - * @since 4.1.0 - * @category Object - * @param {Object} object The object to invert. - * @param {Function} [iteratee=_.identity] The iteratee invoked per element. - * @returns {Object} Returns the new inverted object. - * @example - * - * var object = { 'a': 1, 'b': 2, 'c': 1 }; - * - * _.invertBy(object); - * // => { '1': ['a', 'c'], '2': ['b'] } - * - * _.invertBy(object, function(value) { - * return 'group' + value; - * }); - * // => { 'group1': ['a', 'c'], 'group2': ['b'] } - */ -var invertBy = createInverter(function(result, value, key) { - if (value != null && - typeof value.toString != 'function') { - value = nativeObjectToString.call(value); - } - - if (hasOwnProperty.call(result, value)) { - result[value].push(key); - } else { - result[value] = [key]; - } -}, baseIteratee); - -module.exports = invertBy; diff --git a/packages/frontend-core/node_modules/lodash/invoke.js b/packages/frontend-core/node_modules/lodash/invoke.js deleted file mode 100644 index 97d51eb5bc..0000000000 --- a/packages/frontend-core/node_modules/lodash/invoke.js +++ /dev/null @@ -1,24 +0,0 @@ -var baseInvoke = require('./_baseInvoke'), - baseRest = require('./_baseRest'); - -/** - * Invokes the method at `path` of `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The object to query. - * @param {Array|string} path The path of the method to invoke. - * @param {...*} [args] The arguments to invoke the method with. - * @returns {*} Returns the result of the invoked method. - * @example - * - * var object = { 'a': [{ 'b': { 'c': [1, 2, 3, 4] } }] }; - * - * _.invoke(object, 'a[0].b.c.slice', 1, 3); - * // => [2, 3] - */ -var invoke = baseRest(baseInvoke); - -module.exports = invoke; diff --git a/packages/frontend-core/node_modules/lodash/invokeMap.js b/packages/frontend-core/node_modules/lodash/invokeMap.js deleted file mode 100644 index 8da5126c61..0000000000 --- a/packages/frontend-core/node_modules/lodash/invokeMap.js +++ /dev/null @@ -1,41 +0,0 @@ -var apply = require('./_apply'), - baseEach = require('./_baseEach'), - baseInvoke = require('./_baseInvoke'), - baseRest = require('./_baseRest'), - isArrayLike = require('./isArrayLike'); - -/** - * Invokes the method at `path` of each element in `collection`, returning - * an array of the results of each invoked method. Any additional arguments - * are provided to each invoked method. If `path` is a function, it's invoked - * for, and `this` bound to, each element in `collection`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Array|Function|string} path The path of the method to invoke or - * the function invoked per iteration. - * @param {...*} [args] The arguments to invoke each method with. - * @returns {Array} Returns the array of results. - * @example - * - * _.invokeMap([[5, 1, 7], [3, 2, 1]], 'sort'); - * // => [[1, 5, 7], [1, 2, 3]] - * - * _.invokeMap([123, 456], String.prototype.split, ''); - * // => [['1', '2', '3'], ['4', '5', '6']] - */ -var invokeMap = baseRest(function(collection, path, args) { - var index = -1, - isFunc = typeof path == 'function', - result = isArrayLike(collection) ? Array(collection.length) : []; - - baseEach(collection, function(value) { - result[++index] = isFunc ? apply(path, value, args) : baseInvoke(value, path, args); - }); - return result; -}); - -module.exports = invokeMap; diff --git a/packages/frontend-core/node_modules/lodash/isArguments.js b/packages/frontend-core/node_modules/lodash/isArguments.js deleted file mode 100644 index 8b9ed66cdd..0000000000 --- a/packages/frontend-core/node_modules/lodash/isArguments.js +++ /dev/null @@ -1,36 +0,0 @@ -var baseIsArguments = require('./_baseIsArguments'), - isObjectLike = require('./isObjectLike'); - -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** Built-in value references. */ -var propertyIsEnumerable = objectProto.propertyIsEnumerable; - -/** - * Checks if `value` is likely an `arguments` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an `arguments` object, - * else `false`. - * @example - * - * _.isArguments(function() { return arguments; }()); - * // => true - * - * _.isArguments([1, 2, 3]); - * // => false - */ -var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) { - return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && - !propertyIsEnumerable.call(value, 'callee'); -}; - -module.exports = isArguments; diff --git a/packages/frontend-core/node_modules/lodash/isArray.js b/packages/frontend-core/node_modules/lodash/isArray.js deleted file mode 100644 index 88ab55fd0a..0000000000 --- a/packages/frontend-core/node_modules/lodash/isArray.js +++ /dev/null @@ -1,26 +0,0 @@ -/** - * Checks if `value` is classified as an `Array` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an array, else `false`. - * @example - * - * _.isArray([1, 2, 3]); - * // => true - * - * _.isArray(document.body.children); - * // => false - * - * _.isArray('abc'); - * // => false - * - * _.isArray(_.noop); - * // => false - */ -var isArray = Array.isArray; - -module.exports = isArray; diff --git a/packages/frontend-core/node_modules/lodash/isArrayBuffer.js b/packages/frontend-core/node_modules/lodash/isArrayBuffer.js deleted file mode 100644 index 12904a64b4..0000000000 --- a/packages/frontend-core/node_modules/lodash/isArrayBuffer.js +++ /dev/null @@ -1,27 +0,0 @@ -var baseIsArrayBuffer = require('./_baseIsArrayBuffer'), - baseUnary = require('./_baseUnary'), - nodeUtil = require('./_nodeUtil'); - -/* Node.js helper references. */ -var nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer; - -/** - * Checks if `value` is classified as an `ArrayBuffer` object. - * - * @static - * @memberOf _ - * @since 4.3.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`. - * @example - * - * _.isArrayBuffer(new ArrayBuffer(2)); - * // => true - * - * _.isArrayBuffer(new Array(2)); - * // => false - */ -var isArrayBuffer = nodeIsArrayBuffer ? baseUnary(nodeIsArrayBuffer) : baseIsArrayBuffer; - -module.exports = isArrayBuffer; diff --git a/packages/frontend-core/node_modules/lodash/isArrayLike.js b/packages/frontend-core/node_modules/lodash/isArrayLike.js deleted file mode 100644 index 0f9668056e..0000000000 --- a/packages/frontend-core/node_modules/lodash/isArrayLike.js +++ /dev/null @@ -1,33 +0,0 @@ -var isFunction = require('./isFunction'), - isLength = require('./isLength'); - -/** - * Checks if `value` is array-like. A value is considered array-like if it's - * not a function and has a `value.length` that's an integer greater than or - * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is array-like, else `false`. - * @example - * - * _.isArrayLike([1, 2, 3]); - * // => true - * - * _.isArrayLike(document.body.children); - * // => true - * - * _.isArrayLike('abc'); - * // => true - * - * _.isArrayLike(_.noop); - * // => false - */ -function isArrayLike(value) { - return value != null && isLength(value.length) && !isFunction(value); -} - -module.exports = isArrayLike; diff --git a/packages/frontend-core/node_modules/lodash/isArrayLikeObject.js b/packages/frontend-core/node_modules/lodash/isArrayLikeObject.js deleted file mode 100644 index 6c4812a8d8..0000000000 --- a/packages/frontend-core/node_modules/lodash/isArrayLikeObject.js +++ /dev/null @@ -1,33 +0,0 @@ -var isArrayLike = require('./isArrayLike'), - isObjectLike = require('./isObjectLike'); - -/** - * This method is like `_.isArrayLike` except that it also checks if `value` - * is an object. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an array-like object, - * else `false`. - * @example - * - * _.isArrayLikeObject([1, 2, 3]); - * // => true - * - * _.isArrayLikeObject(document.body.children); - * // => true - * - * _.isArrayLikeObject('abc'); - * // => false - * - * _.isArrayLikeObject(_.noop); - * // => false - */ -function isArrayLikeObject(value) { - return isObjectLike(value) && isArrayLike(value); -} - -module.exports = isArrayLikeObject; diff --git a/packages/frontend-core/node_modules/lodash/isBoolean.js b/packages/frontend-core/node_modules/lodash/isBoolean.js deleted file mode 100644 index a43ed4b8fc..0000000000 --- a/packages/frontend-core/node_modules/lodash/isBoolean.js +++ /dev/null @@ -1,29 +0,0 @@ -var baseGetTag = require('./_baseGetTag'), - isObjectLike = require('./isObjectLike'); - -/** `Object#toString` result references. */ -var boolTag = '[object Boolean]'; - -/** - * Checks if `value` is classified as a boolean primitive or object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a boolean, else `false`. - * @example - * - * _.isBoolean(false); - * // => true - * - * _.isBoolean(null); - * // => false - */ -function isBoolean(value) { - return value === true || value === false || - (isObjectLike(value) && baseGetTag(value) == boolTag); -} - -module.exports = isBoolean; diff --git a/packages/frontend-core/node_modules/lodash/isBuffer.js b/packages/frontend-core/node_modules/lodash/isBuffer.js deleted file mode 100644 index c103cc74e7..0000000000 --- a/packages/frontend-core/node_modules/lodash/isBuffer.js +++ /dev/null @@ -1,38 +0,0 @@ -var root = require('./_root'), - stubFalse = require('./stubFalse'); - -/** Detect free variable `exports`. */ -var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; - -/** Detect free variable `module`. */ -var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; - -/** Detect the popular CommonJS extension `module.exports`. */ -var moduleExports = freeModule && freeModule.exports === freeExports; - -/** Built-in value references. */ -var Buffer = moduleExports ? root.Buffer : undefined; - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined; - -/** - * Checks if `value` is a buffer. - * - * @static - * @memberOf _ - * @since 4.3.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a buffer, else `false`. - * @example - * - * _.isBuffer(new Buffer(2)); - * // => true - * - * _.isBuffer(new Uint8Array(2)); - * // => false - */ -var isBuffer = nativeIsBuffer || stubFalse; - -module.exports = isBuffer; diff --git a/packages/frontend-core/node_modules/lodash/isDate.js b/packages/frontend-core/node_modules/lodash/isDate.js deleted file mode 100644 index 7f0209fca7..0000000000 --- a/packages/frontend-core/node_modules/lodash/isDate.js +++ /dev/null @@ -1,27 +0,0 @@ -var baseIsDate = require('./_baseIsDate'), - baseUnary = require('./_baseUnary'), - nodeUtil = require('./_nodeUtil'); - -/* Node.js helper references. */ -var nodeIsDate = nodeUtil && nodeUtil.isDate; - -/** - * Checks if `value` is classified as a `Date` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a date object, else `false`. - * @example - * - * _.isDate(new Date); - * // => true - * - * _.isDate('Mon April 23 2012'); - * // => false - */ -var isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate; - -module.exports = isDate; diff --git a/packages/frontend-core/node_modules/lodash/isElement.js b/packages/frontend-core/node_modules/lodash/isElement.js deleted file mode 100644 index 76ae29c3bf..0000000000 --- a/packages/frontend-core/node_modules/lodash/isElement.js +++ /dev/null @@ -1,25 +0,0 @@ -var isObjectLike = require('./isObjectLike'), - isPlainObject = require('./isPlainObject'); - -/** - * Checks if `value` is likely a DOM element. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a DOM element, else `false`. - * @example - * - * _.isElement(document.body); - * // => true - * - * _.isElement(''); - * // => false - */ -function isElement(value) { - return isObjectLike(value) && value.nodeType === 1 && !isPlainObject(value); -} - -module.exports = isElement; diff --git a/packages/frontend-core/node_modules/lodash/isEmpty.js b/packages/frontend-core/node_modules/lodash/isEmpty.js deleted file mode 100644 index 3597294a47..0000000000 --- a/packages/frontend-core/node_modules/lodash/isEmpty.js +++ /dev/null @@ -1,77 +0,0 @@ -var baseKeys = require('./_baseKeys'), - getTag = require('./_getTag'), - isArguments = require('./isArguments'), - isArray = require('./isArray'), - isArrayLike = require('./isArrayLike'), - isBuffer = require('./isBuffer'), - isPrototype = require('./_isPrototype'), - isTypedArray = require('./isTypedArray'); - -/** `Object#toString` result references. */ -var mapTag = '[object Map]', - setTag = '[object Set]'; - -/** Used for built-in method references. */ -var objectProto = Object.prototype; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** - * Checks if `value` is an empty object, collection, map, or set. - * - * Objects are considered empty if they have no own enumerable string keyed - * properties. - * - * Array-like values such as `arguments` objects, arrays, buffers, strings, or - * jQuery-like collections are considered empty if they have a `length` of `0`. - * Similarly, maps and sets are considered empty if they have a `size` of `0`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is empty, else `false`. - * @example - * - * _.isEmpty(null); - * // => true - * - * _.isEmpty(true); - * // => true - * - * _.isEmpty(1); - * // => true - * - * _.isEmpty([1, 2, 3]); - * // => false - * - * _.isEmpty({ 'a': 1 }); - * // => false - */ -function isEmpty(value) { - if (value == null) { - return true; - } - if (isArrayLike(value) && - (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' || - isBuffer(value) || isTypedArray(value) || isArguments(value))) { - return !value.length; - } - var tag = getTag(value); - if (tag == mapTag || tag == setTag) { - return !value.size; - } - if (isPrototype(value)) { - return !baseKeys(value).length; - } - for (var key in value) { - if (hasOwnProperty.call(value, key)) { - return false; - } - } - return true; -} - -module.exports = isEmpty; diff --git a/packages/frontend-core/node_modules/lodash/isEqual.js b/packages/frontend-core/node_modules/lodash/isEqual.js deleted file mode 100644 index 5e23e76c94..0000000000 --- a/packages/frontend-core/node_modules/lodash/isEqual.js +++ /dev/null @@ -1,35 +0,0 @@ -var baseIsEqual = require('./_baseIsEqual'); - -/** - * Performs a deep comparison between two values to determine if they are - * equivalent. - * - * **Note:** This method supports comparing arrays, array buffers, booleans, - * date objects, error objects, maps, numbers, `Object` objects, regexes, - * sets, strings, symbols, and typed arrays. `Object` objects are compared - * by their own, not inherited, enumerable properties. Functions and DOM - * nodes are compared by strict equality, i.e. `===`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if the values are equivalent, else `false`. - * @example - * - * var object = { 'a': 1 }; - * var other = { 'a': 1 }; - * - * _.isEqual(object, other); - * // => true - * - * object === other; - * // => false - */ -function isEqual(value, other) { - return baseIsEqual(value, other); -} - -module.exports = isEqual; diff --git a/packages/frontend-core/node_modules/lodash/isEqualWith.js b/packages/frontend-core/node_modules/lodash/isEqualWith.js deleted file mode 100644 index 21bdc7ffe3..0000000000 --- a/packages/frontend-core/node_modules/lodash/isEqualWith.js +++ /dev/null @@ -1,41 +0,0 @@ -var baseIsEqual = require('./_baseIsEqual'); - -/** - * This method is like `_.isEqual` except that it accepts `customizer` which - * is invoked to compare values. If `customizer` returns `undefined`, comparisons - * are handled by the method instead. The `customizer` is invoked with up to - * six arguments: (objValue, othValue [, index|key, object, other, stack]). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @param {Function} [customizer] The function to customize comparisons. - * @returns {boolean} Returns `true` if the values are equivalent, else `false`. - * @example - * - * function isGreeting(value) { - * return /^h(?:i|ello)$/.test(value); - * } - * - * function customizer(objValue, othValue) { - * if (isGreeting(objValue) && isGreeting(othValue)) { - * return true; - * } - * } - * - * var array = ['hello', 'goodbye']; - * var other = ['hi', 'goodbye']; - * - * _.isEqualWith(array, other, customizer); - * // => true - */ -function isEqualWith(value, other, customizer) { - customizer = typeof customizer == 'function' ? customizer : undefined; - var result = customizer ? customizer(value, other) : undefined; - return result === undefined ? baseIsEqual(value, other, undefined, customizer) : !!result; -} - -module.exports = isEqualWith; diff --git a/packages/frontend-core/node_modules/lodash/isError.js b/packages/frontend-core/node_modules/lodash/isError.js deleted file mode 100644 index b4f41e000d..0000000000 --- a/packages/frontend-core/node_modules/lodash/isError.js +++ /dev/null @@ -1,36 +0,0 @@ -var baseGetTag = require('./_baseGetTag'), - isObjectLike = require('./isObjectLike'), - isPlainObject = require('./isPlainObject'); - -/** `Object#toString` result references. */ -var domExcTag = '[object DOMException]', - errorTag = '[object Error]'; - -/** - * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`, - * `SyntaxError`, `TypeError`, or `URIError` object. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an error object, else `false`. - * @example - * - * _.isError(new Error); - * // => true - * - * _.isError(Error); - * // => false - */ -function isError(value) { - if (!isObjectLike(value)) { - return false; - } - var tag = baseGetTag(value); - return tag == errorTag || tag == domExcTag || - (typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value)); -} - -module.exports = isError; diff --git a/packages/frontend-core/node_modules/lodash/isFinite.js b/packages/frontend-core/node_modules/lodash/isFinite.js deleted file mode 100644 index 601842bc40..0000000000 --- a/packages/frontend-core/node_modules/lodash/isFinite.js +++ /dev/null @@ -1,36 +0,0 @@ -var root = require('./_root'); - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeIsFinite = root.isFinite; - -/** - * Checks if `value` is a finite primitive number. - * - * **Note:** This method is based on - * [`Number.isFinite`](https://mdn.io/Number/isFinite). - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a finite number, else `false`. - * @example - * - * _.isFinite(3); - * // => true - * - * _.isFinite(Number.MIN_VALUE); - * // => true - * - * _.isFinite(Infinity); - * // => false - * - * _.isFinite('3'); - * // => false - */ -function isFinite(value) { - return typeof value == 'number' && nativeIsFinite(value); -} - -module.exports = isFinite; diff --git a/packages/frontend-core/node_modules/lodash/isFunction.js b/packages/frontend-core/node_modules/lodash/isFunction.js deleted file mode 100644 index 907a8cd8bf..0000000000 --- a/packages/frontend-core/node_modules/lodash/isFunction.js +++ /dev/null @@ -1,37 +0,0 @@ -var baseGetTag = require('./_baseGetTag'), - isObject = require('./isObject'); - -/** `Object#toString` result references. */ -var asyncTag = '[object AsyncFunction]', - funcTag = '[object Function]', - genTag = '[object GeneratorFunction]', - proxyTag = '[object Proxy]'; - -/** - * Checks if `value` is classified as a `Function` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a function, else `false`. - * @example - * - * _.isFunction(_); - * // => true - * - * _.isFunction(/abc/); - * // => false - */ -function isFunction(value) { - if (!isObject(value)) { - return false; - } - // The use of `Object#toString` avoids issues with the `typeof` operator - // in Safari 9 which returns 'object' for typed arrays and other constructors. - var tag = baseGetTag(value); - return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; -} - -module.exports = isFunction; diff --git a/packages/frontend-core/node_modules/lodash/isInteger.js b/packages/frontend-core/node_modules/lodash/isInteger.js deleted file mode 100644 index 66aa87d573..0000000000 --- a/packages/frontend-core/node_modules/lodash/isInteger.js +++ /dev/null @@ -1,33 +0,0 @@ -var toInteger = require('./toInteger'); - -/** - * Checks if `value` is an integer. - * - * **Note:** This method is based on - * [`Number.isInteger`](https://mdn.io/Number/isInteger). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an integer, else `false`. - * @example - * - * _.isInteger(3); - * // => true - * - * _.isInteger(Number.MIN_VALUE); - * // => false - * - * _.isInteger(Infinity); - * // => false - * - * _.isInteger('3'); - * // => false - */ -function isInteger(value) { - return typeof value == 'number' && value == toInteger(value); -} - -module.exports = isInteger; diff --git a/packages/frontend-core/node_modules/lodash/isLength.js b/packages/frontend-core/node_modules/lodash/isLength.js deleted file mode 100644 index 3a95caa962..0000000000 --- a/packages/frontend-core/node_modules/lodash/isLength.js +++ /dev/null @@ -1,35 +0,0 @@ -/** Used as references for various `Number` constants. */ -var MAX_SAFE_INTEGER = 9007199254740991; - -/** - * Checks if `value` is a valid array-like length. - * - * **Note:** This method is loosely based on - * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. - * @example - * - * _.isLength(3); - * // => true - * - * _.isLength(Number.MIN_VALUE); - * // => false - * - * _.isLength(Infinity); - * // => false - * - * _.isLength('3'); - * // => false - */ -function isLength(value) { - return typeof value == 'number' && - value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; -} - -module.exports = isLength; diff --git a/packages/frontend-core/node_modules/lodash/isMap.js b/packages/frontend-core/node_modules/lodash/isMap.js deleted file mode 100644 index 44f8517eee..0000000000 --- a/packages/frontend-core/node_modules/lodash/isMap.js +++ /dev/null @@ -1,27 +0,0 @@ -var baseIsMap = require('./_baseIsMap'), - baseUnary = require('./_baseUnary'), - nodeUtil = require('./_nodeUtil'); - -/* Node.js helper references. */ -var nodeIsMap = nodeUtil && nodeUtil.isMap; - -/** - * Checks if `value` is classified as a `Map` object. - * - * @static - * @memberOf _ - * @since 4.3.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a map, else `false`. - * @example - * - * _.isMap(new Map); - * // => true - * - * _.isMap(new WeakMap); - * // => false - */ -var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap; - -module.exports = isMap; diff --git a/packages/frontend-core/node_modules/lodash/isMatch.js b/packages/frontend-core/node_modules/lodash/isMatch.js deleted file mode 100644 index 9773a18cd7..0000000000 --- a/packages/frontend-core/node_modules/lodash/isMatch.js +++ /dev/null @@ -1,36 +0,0 @@ -var baseIsMatch = require('./_baseIsMatch'), - getMatchData = require('./_getMatchData'); - -/** - * Performs a partial deep comparison between `object` and `source` to - * determine if `object` contains equivalent property values. - * - * **Note:** This method is equivalent to `_.matches` when `source` is - * partially applied. - * - * Partial comparisons will match empty array and empty object `source` - * values against any array or object value, respectively. See `_.isEqual` - * for a list of supported value comparisons. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Lang - * @param {Object} object The object to inspect. - * @param {Object} source The object of property values to match. - * @returns {boolean} Returns `true` if `object` is a match, else `false`. - * @example - * - * var object = { 'a': 1, 'b': 2 }; - * - * _.isMatch(object, { 'b': 2 }); - * // => true - * - * _.isMatch(object, { 'b': 1 }); - * // => false - */ -function isMatch(object, source) { - return object === source || baseIsMatch(object, source, getMatchData(source)); -} - -module.exports = isMatch; diff --git a/packages/frontend-core/node_modules/lodash/isMatchWith.js b/packages/frontend-core/node_modules/lodash/isMatchWith.js deleted file mode 100644 index 187b6a61de..0000000000 --- a/packages/frontend-core/node_modules/lodash/isMatchWith.js +++ /dev/null @@ -1,41 +0,0 @@ -var baseIsMatch = require('./_baseIsMatch'), - getMatchData = require('./_getMatchData'); - -/** - * This method is like `_.isMatch` except that it accepts `customizer` which - * is invoked to compare values. If `customizer` returns `undefined`, comparisons - * are handled by the method instead. The `customizer` is invoked with five - * arguments: (objValue, srcValue, index|key, object, source). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {Object} object The object to inspect. - * @param {Object} source The object of property values to match. - * @param {Function} [customizer] The function to customize comparisons. - * @returns {boolean} Returns `true` if `object` is a match, else `false`. - * @example - * - * function isGreeting(value) { - * return /^h(?:i|ello)$/.test(value); - * } - * - * function customizer(objValue, srcValue) { - * if (isGreeting(objValue) && isGreeting(srcValue)) { - * return true; - * } - * } - * - * var object = { 'greeting': 'hello' }; - * var source = { 'greeting': 'hi' }; - * - * _.isMatchWith(object, source, customizer); - * // => true - */ -function isMatchWith(object, source, customizer) { - customizer = typeof customizer == 'function' ? customizer : undefined; - return baseIsMatch(object, source, getMatchData(source), customizer); -} - -module.exports = isMatchWith; diff --git a/packages/frontend-core/node_modules/lodash/isNaN.js b/packages/frontend-core/node_modules/lodash/isNaN.js deleted file mode 100644 index 7d0d783bad..0000000000 --- a/packages/frontend-core/node_modules/lodash/isNaN.js +++ /dev/null @@ -1,38 +0,0 @@ -var isNumber = require('./isNumber'); - -/** - * Checks if `value` is `NaN`. - * - * **Note:** This method is based on - * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as - * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for - * `undefined` and other non-number values. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. - * @example - * - * _.isNaN(NaN); - * // => true - * - * _.isNaN(new Number(NaN)); - * // => true - * - * isNaN(undefined); - * // => true - * - * _.isNaN(undefined); - * // => false - */ -function isNaN(value) { - // An `NaN` primitive is the only value that is not equal to itself. - // Perform the `toStringTag` check first to avoid errors with some - // ActiveX objects in IE. - return isNumber(value) && value != +value; -} - -module.exports = isNaN; diff --git a/packages/frontend-core/node_modules/lodash/isNative.js b/packages/frontend-core/node_modules/lodash/isNative.js deleted file mode 100644 index f0cb8d5800..0000000000 --- a/packages/frontend-core/node_modules/lodash/isNative.js +++ /dev/null @@ -1,40 +0,0 @@ -var baseIsNative = require('./_baseIsNative'), - isMaskable = require('./_isMaskable'); - -/** Error message constants. */ -var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.'; - -/** - * Checks if `value` is a pristine native function. - * - * **Note:** This method can't reliably detect native functions in the presence - * of the core-js package because core-js circumvents this kind of detection. - * Despite multiple requests, the core-js maintainer has made it clear: any - * attempt to fix the detection will be obstructed. As a result, we're left - * with little choice but to throw an error. Unfortunately, this also affects - * packages, like [babel-polyfill](https://www.npmjs.com/package/babel-polyfill), - * which rely on core-js. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a native function, - * else `false`. - * @example - * - * _.isNative(Array.prototype.push); - * // => true - * - * _.isNative(_); - * // => false - */ -function isNative(value) { - if (isMaskable(value)) { - throw new Error(CORE_ERROR_TEXT); - } - return baseIsNative(value); -} - -module.exports = isNative; diff --git a/packages/frontend-core/node_modules/lodash/isNil.js b/packages/frontend-core/node_modules/lodash/isNil.js deleted file mode 100644 index 79f05052c5..0000000000 --- a/packages/frontend-core/node_modules/lodash/isNil.js +++ /dev/null @@ -1,25 +0,0 @@ -/** - * Checks if `value` is `null` or `undefined`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is nullish, else `false`. - * @example - * - * _.isNil(null); - * // => true - * - * _.isNil(void 0); - * // => true - * - * _.isNil(NaN); - * // => false - */ -function isNil(value) { - return value == null; -} - -module.exports = isNil; diff --git a/packages/frontend-core/node_modules/lodash/isNull.js b/packages/frontend-core/node_modules/lodash/isNull.js deleted file mode 100644 index c0a374d7dc..0000000000 --- a/packages/frontend-core/node_modules/lodash/isNull.js +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Checks if `value` is `null`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is `null`, else `false`. - * @example - * - * _.isNull(null); - * // => true - * - * _.isNull(void 0); - * // => false - */ -function isNull(value) { - return value === null; -} - -module.exports = isNull; diff --git a/packages/frontend-core/node_modules/lodash/isNumber.js b/packages/frontend-core/node_modules/lodash/isNumber.js deleted file mode 100644 index cd34ee4641..0000000000 --- a/packages/frontend-core/node_modules/lodash/isNumber.js +++ /dev/null @@ -1,38 +0,0 @@ -var baseGetTag = require('./_baseGetTag'), - isObjectLike = require('./isObjectLike'); - -/** `Object#toString` result references. */ -var numberTag = '[object Number]'; - -/** - * Checks if `value` is classified as a `Number` primitive or object. - * - * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are - * classified as numbers, use the `_.isFinite` method. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a number, else `false`. - * @example - * - * _.isNumber(3); - * // => true - * - * _.isNumber(Number.MIN_VALUE); - * // => true - * - * _.isNumber(Infinity); - * // => true - * - * _.isNumber('3'); - * // => false - */ -function isNumber(value) { - return typeof value == 'number' || - (isObjectLike(value) && baseGetTag(value) == numberTag); -} - -module.exports = isNumber; diff --git a/packages/frontend-core/node_modules/lodash/isObject.js b/packages/frontend-core/node_modules/lodash/isObject.js deleted file mode 100644 index 1dc893918b..0000000000 --- a/packages/frontend-core/node_modules/lodash/isObject.js +++ /dev/null @@ -1,31 +0,0 @@ -/** - * Checks if `value` is the - * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) - * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an object, else `false`. - * @example - * - * _.isObject({}); - * // => true - * - * _.isObject([1, 2, 3]); - * // => true - * - * _.isObject(_.noop); - * // => true - * - * _.isObject(null); - * // => false - */ -function isObject(value) { - var type = typeof value; - return value != null && (type == 'object' || type == 'function'); -} - -module.exports = isObject; diff --git a/packages/frontend-core/node_modules/lodash/isObjectLike.js b/packages/frontend-core/node_modules/lodash/isObjectLike.js deleted file mode 100644 index 301716b5a5..0000000000 --- a/packages/frontend-core/node_modules/lodash/isObjectLike.js +++ /dev/null @@ -1,29 +0,0 @@ -/** - * Checks if `value` is object-like. A value is object-like if it's not `null` - * and has a `typeof` result of "object". - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is object-like, else `false`. - * @example - * - * _.isObjectLike({}); - * // => true - * - * _.isObjectLike([1, 2, 3]); - * // => true - * - * _.isObjectLike(_.noop); - * // => false - * - * _.isObjectLike(null); - * // => false - */ -function isObjectLike(value) { - return value != null && typeof value == 'object'; -} - -module.exports = isObjectLike; diff --git a/packages/frontend-core/node_modules/lodash/isPlainObject.js b/packages/frontend-core/node_modules/lodash/isPlainObject.js deleted file mode 100644 index 238737313f..0000000000 --- a/packages/frontend-core/node_modules/lodash/isPlainObject.js +++ /dev/null @@ -1,62 +0,0 @@ -var baseGetTag = require('./_baseGetTag'), - getPrototype = require('./_getPrototype'), - isObjectLike = require('./isObjectLike'); - -/** `Object#toString` result references. */ -var objectTag = '[object Object]'; - -/** Used for built-in method references. */ -var funcProto = Function.prototype, - objectProto = Object.prototype; - -/** Used to resolve the decompiled source of functions. */ -var funcToString = funcProto.toString; - -/** Used to check objects for own properties. */ -var hasOwnProperty = objectProto.hasOwnProperty; - -/** Used to infer the `Object` constructor. */ -var objectCtorString = funcToString.call(Object); - -/** - * Checks if `value` is a plain object, that is, an object created by the - * `Object` constructor or one with a `[[Prototype]]` of `null`. - * - * @static - * @memberOf _ - * @since 0.8.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a plain object, else `false`. - * @example - * - * function Foo() { - * this.a = 1; - * } - * - * _.isPlainObject(new Foo); - * // => false - * - * _.isPlainObject([1, 2, 3]); - * // => false - * - * _.isPlainObject({ 'x': 0, 'y': 0 }); - * // => true - * - * _.isPlainObject(Object.create(null)); - * // => true - */ -function isPlainObject(value) { - if (!isObjectLike(value) || baseGetTag(value) != objectTag) { - return false; - } - var proto = getPrototype(value); - if (proto === null) { - return true; - } - var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor; - return typeof Ctor == 'function' && Ctor instanceof Ctor && - funcToString.call(Ctor) == objectCtorString; -} - -module.exports = isPlainObject; diff --git a/packages/frontend-core/node_modules/lodash/isRegExp.js b/packages/frontend-core/node_modules/lodash/isRegExp.js deleted file mode 100644 index 76c9b6e9c3..0000000000 --- a/packages/frontend-core/node_modules/lodash/isRegExp.js +++ /dev/null @@ -1,27 +0,0 @@ -var baseIsRegExp = require('./_baseIsRegExp'), - baseUnary = require('./_baseUnary'), - nodeUtil = require('./_nodeUtil'); - -/* Node.js helper references. */ -var nodeIsRegExp = nodeUtil && nodeUtil.isRegExp; - -/** - * Checks if `value` is classified as a `RegExp` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a regexp, else `false`. - * @example - * - * _.isRegExp(/abc/); - * // => true - * - * _.isRegExp('/abc/'); - * // => false - */ -var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp; - -module.exports = isRegExp; diff --git a/packages/frontend-core/node_modules/lodash/isSafeInteger.js b/packages/frontend-core/node_modules/lodash/isSafeInteger.js deleted file mode 100644 index 2a48526e10..0000000000 --- a/packages/frontend-core/node_modules/lodash/isSafeInteger.js +++ /dev/null @@ -1,37 +0,0 @@ -var isInteger = require('./isInteger'); - -/** Used as references for various `Number` constants. */ -var MAX_SAFE_INTEGER = 9007199254740991; - -/** - * Checks if `value` is a safe integer. An integer is safe if it's an IEEE-754 - * double precision number which isn't the result of a rounded unsafe integer. - * - * **Note:** This method is based on - * [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a safe integer, else `false`. - * @example - * - * _.isSafeInteger(3); - * // => true - * - * _.isSafeInteger(Number.MIN_VALUE); - * // => false - * - * _.isSafeInteger(Infinity); - * // => false - * - * _.isSafeInteger('3'); - * // => false - */ -function isSafeInteger(value) { - return isInteger(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER; -} - -module.exports = isSafeInteger; diff --git a/packages/frontend-core/node_modules/lodash/isSet.js b/packages/frontend-core/node_modules/lodash/isSet.js deleted file mode 100644 index ab88bdf81a..0000000000 --- a/packages/frontend-core/node_modules/lodash/isSet.js +++ /dev/null @@ -1,27 +0,0 @@ -var baseIsSet = require('./_baseIsSet'), - baseUnary = require('./_baseUnary'), - nodeUtil = require('./_nodeUtil'); - -/* Node.js helper references. */ -var nodeIsSet = nodeUtil && nodeUtil.isSet; - -/** - * Checks if `value` is classified as a `Set` object. - * - * @static - * @memberOf _ - * @since 4.3.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a set, else `false`. - * @example - * - * _.isSet(new Set); - * // => true - * - * _.isSet(new WeakSet); - * // => false - */ -var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet; - -module.exports = isSet; diff --git a/packages/frontend-core/node_modules/lodash/isString.js b/packages/frontend-core/node_modules/lodash/isString.js deleted file mode 100644 index 627eb9c384..0000000000 --- a/packages/frontend-core/node_modules/lodash/isString.js +++ /dev/null @@ -1,30 +0,0 @@ -var baseGetTag = require('./_baseGetTag'), - isArray = require('./isArray'), - isObjectLike = require('./isObjectLike'); - -/** `Object#toString` result references. */ -var stringTag = '[object String]'; - -/** - * Checks if `value` is classified as a `String` primitive or object. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a string, else `false`. - * @example - * - * _.isString('abc'); - * // => true - * - * _.isString(1); - * // => false - */ -function isString(value) { - return typeof value == 'string' || - (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag); -} - -module.exports = isString; diff --git a/packages/frontend-core/node_modules/lodash/isSymbol.js b/packages/frontend-core/node_modules/lodash/isSymbol.js deleted file mode 100644 index dfb60b97f6..0000000000 --- a/packages/frontend-core/node_modules/lodash/isSymbol.js +++ /dev/null @@ -1,29 +0,0 @@ -var baseGetTag = require('./_baseGetTag'), - isObjectLike = require('./isObjectLike'); - -/** `Object#toString` result references. */ -var symbolTag = '[object Symbol]'; - -/** - * Checks if `value` is classified as a `Symbol` primitive or object. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. - * @example - * - * _.isSymbol(Symbol.iterator); - * // => true - * - * _.isSymbol('abc'); - * // => false - */ -function isSymbol(value) { - return typeof value == 'symbol' || - (isObjectLike(value) && baseGetTag(value) == symbolTag); -} - -module.exports = isSymbol; diff --git a/packages/frontend-core/node_modules/lodash/isTypedArray.js b/packages/frontend-core/node_modules/lodash/isTypedArray.js deleted file mode 100644 index da3f8dd198..0000000000 --- a/packages/frontend-core/node_modules/lodash/isTypedArray.js +++ /dev/null @@ -1,27 +0,0 @@ -var baseIsTypedArray = require('./_baseIsTypedArray'), - baseUnary = require('./_baseUnary'), - nodeUtil = require('./_nodeUtil'); - -/* Node.js helper references. */ -var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; - -/** - * Checks if `value` is classified as a typed array. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. - * @example - * - * _.isTypedArray(new Uint8Array); - * // => true - * - * _.isTypedArray([]); - * // => false - */ -var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; - -module.exports = isTypedArray; diff --git a/packages/frontend-core/node_modules/lodash/isUndefined.js b/packages/frontend-core/node_modules/lodash/isUndefined.js deleted file mode 100644 index 377d121ab8..0000000000 --- a/packages/frontend-core/node_modules/lodash/isUndefined.js +++ /dev/null @@ -1,22 +0,0 @@ -/** - * Checks if `value` is `undefined`. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`. - * @example - * - * _.isUndefined(void 0); - * // => true - * - * _.isUndefined(null); - * // => false - */ -function isUndefined(value) { - return value === undefined; -} - -module.exports = isUndefined; diff --git a/packages/frontend-core/node_modules/lodash/isWeakMap.js b/packages/frontend-core/node_modules/lodash/isWeakMap.js deleted file mode 100644 index 8d36f6638f..0000000000 --- a/packages/frontend-core/node_modules/lodash/isWeakMap.js +++ /dev/null @@ -1,28 +0,0 @@ -var getTag = require('./_getTag'), - isObjectLike = require('./isObjectLike'); - -/** `Object#toString` result references. */ -var weakMapTag = '[object WeakMap]'; - -/** - * Checks if `value` is classified as a `WeakMap` object. - * - * @static - * @memberOf _ - * @since 4.3.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a weak map, else `false`. - * @example - * - * _.isWeakMap(new WeakMap); - * // => true - * - * _.isWeakMap(new Map); - * // => false - */ -function isWeakMap(value) { - return isObjectLike(value) && getTag(value) == weakMapTag; -} - -module.exports = isWeakMap; diff --git a/packages/frontend-core/node_modules/lodash/isWeakSet.js b/packages/frontend-core/node_modules/lodash/isWeakSet.js deleted file mode 100644 index e628b261cf..0000000000 --- a/packages/frontend-core/node_modules/lodash/isWeakSet.js +++ /dev/null @@ -1,28 +0,0 @@ -var baseGetTag = require('./_baseGetTag'), - isObjectLike = require('./isObjectLike'); - -/** `Object#toString` result references. */ -var weakSetTag = '[object WeakSet]'; - -/** - * Checks if `value` is classified as a `WeakSet` object. - * - * @static - * @memberOf _ - * @since 4.3.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a weak set, else `false`. - * @example - * - * _.isWeakSet(new WeakSet); - * // => true - * - * _.isWeakSet(new Set); - * // => false - */ -function isWeakSet(value) { - return isObjectLike(value) && baseGetTag(value) == weakSetTag; -} - -module.exports = isWeakSet; diff --git a/packages/frontend-core/node_modules/lodash/iteratee.js b/packages/frontend-core/node_modules/lodash/iteratee.js deleted file mode 100644 index 61b73a8c05..0000000000 --- a/packages/frontend-core/node_modules/lodash/iteratee.js +++ /dev/null @@ -1,53 +0,0 @@ -var baseClone = require('./_baseClone'), - baseIteratee = require('./_baseIteratee'); - -/** Used to compose bitmasks for cloning. */ -var CLONE_DEEP_FLAG = 1; - -/** - * Creates a function that invokes `func` with the arguments of the created - * function. If `func` is a property name, the created function returns the - * property value for a given element. If `func` is an array or object, the - * created function returns `true` for elements that contain the equivalent - * source properties, otherwise it returns `false`. - * - * @static - * @since 4.0.0 - * @memberOf _ - * @category Util - * @param {*} [func=_.identity] The value to convert to a callback. - * @returns {Function} Returns the callback. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': true }, - * { 'user': 'fred', 'age': 40, 'active': false } - * ]; - * - * // The `_.matches` iteratee shorthand. - * _.filter(users, _.iteratee({ 'user': 'barney', 'active': true })); - * // => [{ 'user': 'barney', 'age': 36, 'active': true }] - * - * // The `_.matchesProperty` iteratee shorthand. - * _.filter(users, _.iteratee(['user', 'fred'])); - * // => [{ 'user': 'fred', 'age': 40 }] - * - * // The `_.property` iteratee shorthand. - * _.map(users, _.iteratee('user')); - * // => ['barney', 'fred'] - * - * // Create custom iteratee shorthands. - * _.iteratee = _.wrap(_.iteratee, function(iteratee, func) { - * return !_.isRegExp(func) ? iteratee(func) : function(string) { - * return func.test(string); - * }; - * }); - * - * _.filter(['abc', 'def'], /ef/); - * // => ['def'] - */ -function iteratee(func) { - return baseIteratee(typeof func == 'function' ? func : baseClone(func, CLONE_DEEP_FLAG)); -} - -module.exports = iteratee; diff --git a/packages/frontend-core/node_modules/lodash/join.js b/packages/frontend-core/node_modules/lodash/join.js deleted file mode 100644 index 45de079ff2..0000000000 --- a/packages/frontend-core/node_modules/lodash/join.js +++ /dev/null @@ -1,26 +0,0 @@ -/** Used for built-in method references. */ -var arrayProto = Array.prototype; - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeJoin = arrayProto.join; - -/** - * Converts all elements in `array` into a string separated by `separator`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to convert. - * @param {string} [separator=','] The element separator. - * @returns {string} Returns the joined string. - * @example - * - * _.join(['a', 'b', 'c'], '~'); - * // => 'a~b~c' - */ -function join(array, separator) { - return array == null ? '' : nativeJoin.call(array, separator); -} - -module.exports = join; diff --git a/packages/frontend-core/node_modules/lodash/kebabCase.js b/packages/frontend-core/node_modules/lodash/kebabCase.js deleted file mode 100644 index 8a52be6455..0000000000 --- a/packages/frontend-core/node_modules/lodash/kebabCase.js +++ /dev/null @@ -1,28 +0,0 @@ -var createCompounder = require('./_createCompounder'); - -/** - * Converts `string` to - * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to convert. - * @returns {string} Returns the kebab cased string. - * @example - * - * _.kebabCase('Foo Bar'); - * // => 'foo-bar' - * - * _.kebabCase('fooBar'); - * // => 'foo-bar' - * - * _.kebabCase('__FOO_BAR__'); - * // => 'foo-bar' - */ -var kebabCase = createCompounder(function(result, word, index) { - return result + (index ? '-' : '') + word.toLowerCase(); -}); - -module.exports = kebabCase; diff --git a/packages/frontend-core/node_modules/lodash/keyBy.js b/packages/frontend-core/node_modules/lodash/keyBy.js deleted file mode 100644 index acc007a0ab..0000000000 --- a/packages/frontend-core/node_modules/lodash/keyBy.js +++ /dev/null @@ -1,36 +0,0 @@ -var baseAssignValue = require('./_baseAssignValue'), - createAggregator = require('./_createAggregator'); - -/** - * Creates an object composed of keys generated from the results of running - * each element of `collection` thru `iteratee`. The corresponding value of - * each key is the last element responsible for generating the key. The - * iteratee is invoked with one argument: (value). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The iteratee to transform keys. - * @returns {Object} Returns the composed aggregate object. - * @example - * - * var array = [ - * { 'dir': 'left', 'code': 97 }, - * { 'dir': 'right', 'code': 100 } - * ]; - * - * _.keyBy(array, function(o) { - * return String.fromCharCode(o.code); - * }); - * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } } - * - * _.keyBy(array, 'dir'); - * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } } - */ -var keyBy = createAggregator(function(result, value, key) { - baseAssignValue(result, key, value); -}); - -module.exports = keyBy; diff --git a/packages/frontend-core/node_modules/lodash/keys.js b/packages/frontend-core/node_modules/lodash/keys.js deleted file mode 100644 index d143c7186f..0000000000 --- a/packages/frontend-core/node_modules/lodash/keys.js +++ /dev/null @@ -1,37 +0,0 @@ -var arrayLikeKeys = require('./_arrayLikeKeys'), - baseKeys = require('./_baseKeys'), - isArrayLike = require('./isArrayLike'); - -/** - * Creates an array of the own enumerable property names of `object`. - * - * **Note:** Non-object values are coerced to objects. See the - * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) - * for more details. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.keys(new Foo); - * // => ['a', 'b'] (iteration order is not guaranteed) - * - * _.keys('hi'); - * // => ['0', '1'] - */ -function keys(object) { - return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); -} - -module.exports = keys; diff --git a/packages/frontend-core/node_modules/lodash/keysIn.js b/packages/frontend-core/node_modules/lodash/keysIn.js deleted file mode 100644 index a62308f2c5..0000000000 --- a/packages/frontend-core/node_modules/lodash/keysIn.js +++ /dev/null @@ -1,32 +0,0 @@ -var arrayLikeKeys = require('./_arrayLikeKeys'), - baseKeysIn = require('./_baseKeysIn'), - isArrayLike = require('./isArrayLike'); - -/** - * Creates an array of the own and inherited enumerable property names of `object`. - * - * **Note:** Non-object values are coerced to objects. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.keysIn(new Foo); - * // => ['a', 'b', 'c'] (iteration order is not guaranteed) - */ -function keysIn(object) { - return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object); -} - -module.exports = keysIn; diff --git a/packages/frontend-core/node_modules/lodash/lang.js b/packages/frontend-core/node_modules/lodash/lang.js deleted file mode 100644 index a3962169ab..0000000000 --- a/packages/frontend-core/node_modules/lodash/lang.js +++ /dev/null @@ -1,58 +0,0 @@ -module.exports = { - 'castArray': require('./castArray'), - 'clone': require('./clone'), - 'cloneDeep': require('./cloneDeep'), - 'cloneDeepWith': require('./cloneDeepWith'), - 'cloneWith': require('./cloneWith'), - 'conformsTo': require('./conformsTo'), - 'eq': require('./eq'), - 'gt': require('./gt'), - 'gte': require('./gte'), - 'isArguments': require('./isArguments'), - 'isArray': require('./isArray'), - 'isArrayBuffer': require('./isArrayBuffer'), - 'isArrayLike': require('./isArrayLike'), - 'isArrayLikeObject': require('./isArrayLikeObject'), - 'isBoolean': require('./isBoolean'), - 'isBuffer': require('./isBuffer'), - 'isDate': require('./isDate'), - 'isElement': require('./isElement'), - 'isEmpty': require('./isEmpty'), - 'isEqual': require('./isEqual'), - 'isEqualWith': require('./isEqualWith'), - 'isError': require('./isError'), - 'isFinite': require('./isFinite'), - 'isFunction': require('./isFunction'), - 'isInteger': require('./isInteger'), - 'isLength': require('./isLength'), - 'isMap': require('./isMap'), - 'isMatch': require('./isMatch'), - 'isMatchWith': require('./isMatchWith'), - 'isNaN': require('./isNaN'), - 'isNative': require('./isNative'), - 'isNil': require('./isNil'), - 'isNull': require('./isNull'), - 'isNumber': require('./isNumber'), - 'isObject': require('./isObject'), - 'isObjectLike': require('./isObjectLike'), - 'isPlainObject': require('./isPlainObject'), - 'isRegExp': require('./isRegExp'), - 'isSafeInteger': require('./isSafeInteger'), - 'isSet': require('./isSet'), - 'isString': require('./isString'), - 'isSymbol': require('./isSymbol'), - 'isTypedArray': require('./isTypedArray'), - 'isUndefined': require('./isUndefined'), - 'isWeakMap': require('./isWeakMap'), - 'isWeakSet': require('./isWeakSet'), - 'lt': require('./lt'), - 'lte': require('./lte'), - 'toArray': require('./toArray'), - 'toFinite': require('./toFinite'), - 'toInteger': require('./toInteger'), - 'toLength': require('./toLength'), - 'toNumber': require('./toNumber'), - 'toPlainObject': require('./toPlainObject'), - 'toSafeInteger': require('./toSafeInteger'), - 'toString': require('./toString') -}; diff --git a/packages/frontend-core/node_modules/lodash/last.js b/packages/frontend-core/node_modules/lodash/last.js deleted file mode 100644 index cad1eafafa..0000000000 --- a/packages/frontend-core/node_modules/lodash/last.js +++ /dev/null @@ -1,20 +0,0 @@ -/** - * Gets the last element of `array`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to query. - * @returns {*} Returns the last element of `array`. - * @example - * - * _.last([1, 2, 3]); - * // => 3 - */ -function last(array) { - var length = array == null ? 0 : array.length; - return length ? array[length - 1] : undefined; -} - -module.exports = last; diff --git a/packages/frontend-core/node_modules/lodash/lastIndexOf.js b/packages/frontend-core/node_modules/lodash/lastIndexOf.js deleted file mode 100644 index dabfb613a5..0000000000 --- a/packages/frontend-core/node_modules/lodash/lastIndexOf.js +++ /dev/null @@ -1,46 +0,0 @@ -var baseFindIndex = require('./_baseFindIndex'), - baseIsNaN = require('./_baseIsNaN'), - strictLastIndexOf = require('./_strictLastIndexOf'), - toInteger = require('./toInteger'); - -/* Built-in method references for those with the same name as other `lodash` methods. */ -var nativeMax = Math.max, - nativeMin = Math.min; - -/** - * This method is like `_.indexOf` except that it iterates over elements of - * `array` from right to left. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @param {number} [fromIndex=array.length-1] The index to search from. - * @returns {number} Returns the index of the matched value, else `-1`. - * @example - * - * _.lastIndexOf([1, 2, 1, 2], 2); - * // => 3 - * - * // Search from the `fromIndex`. - * _.lastIndexOf([1, 2, 1, 2], 2, 2); - * // => 1 - */ -function lastIndexOf(array, value, fromIndex) { - var length = array == null ? 0 : array.length; - if (!length) { - return -1; - } - var index = length; - if (fromIndex !== undefined) { - index = toInteger(fromIndex); - index = index < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1); - } - return value === value - ? strictLastIndexOf(array, value, index) - : baseFindIndex(array, baseIsNaN, index, true); -} - -module.exports = lastIndexOf; diff --git a/packages/frontend-core/node_modules/lodash/lodash.js b/packages/frontend-core/node_modules/lodash/lodash.js deleted file mode 100644 index 4131e936cd..0000000000 --- a/packages/frontend-core/node_modules/lodash/lodash.js +++ /dev/null @@ -1,17209 +0,0 @@ -/** - * @license - * Lodash - * Copyright OpenJS Foundation and other contributors - * Released under MIT license - * Based on Underscore.js 1.8.3 - * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */ -;(function() { - - /** Used as a safe reference for `undefined` in pre-ES5 environments. */ - var undefined; - - /** Used as the semantic version number. */ - var VERSION = '4.17.21'; - - /** Used as the size to enable large array optimizations. */ - var LARGE_ARRAY_SIZE = 200; - - /** Error message constants. */ - var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.', - FUNC_ERROR_TEXT = 'Expected a function', - INVALID_TEMPL_VAR_ERROR_TEXT = 'Invalid `variable` option passed into `_.template`'; - - /** Used to stand-in for `undefined` hash values. */ - var HASH_UNDEFINED = '__lodash_hash_undefined__'; - - /** Used as the maximum memoize cache size. */ - var MAX_MEMOIZE_SIZE = 500; - - /** Used as the internal argument placeholder. */ - var PLACEHOLDER = '__lodash_placeholder__'; - - /** Used to compose bitmasks for cloning. */ - var CLONE_DEEP_FLAG = 1, - CLONE_FLAT_FLAG = 2, - CLONE_SYMBOLS_FLAG = 4; - - /** Used to compose bitmasks for value comparisons. */ - var COMPARE_PARTIAL_FLAG = 1, - COMPARE_UNORDERED_FLAG = 2; - - /** Used to compose bitmasks for function metadata. */ - var WRAP_BIND_FLAG = 1, - WRAP_BIND_KEY_FLAG = 2, - WRAP_CURRY_BOUND_FLAG = 4, - WRAP_CURRY_FLAG = 8, - WRAP_CURRY_RIGHT_FLAG = 16, - WRAP_PARTIAL_FLAG = 32, - WRAP_PARTIAL_RIGHT_FLAG = 64, - WRAP_ARY_FLAG = 128, - WRAP_REARG_FLAG = 256, - WRAP_FLIP_FLAG = 512; - - /** Used as default options for `_.truncate`. */ - var DEFAULT_TRUNC_LENGTH = 30, - DEFAULT_TRUNC_OMISSION = '...'; - - /** Used to detect hot functions by number of calls within a span of milliseconds. */ - var HOT_COUNT = 800, - HOT_SPAN = 16; - - /** Used to indicate the type of lazy iteratees. */ - var LAZY_FILTER_FLAG = 1, - LAZY_MAP_FLAG = 2, - LAZY_WHILE_FLAG = 3; - - /** Used as references for various `Number` constants. */ - var INFINITY = 1 / 0, - MAX_SAFE_INTEGER = 9007199254740991, - MAX_INTEGER = 1.7976931348623157e+308, - NAN = 0 / 0; - - /** Used as references for the maximum length and index of an array. */ - var MAX_ARRAY_LENGTH = 4294967295, - MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1, - HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1; - - /** Used to associate wrap methods with their bit flags. */ - var wrapFlags = [ - ['ary', WRAP_ARY_FLAG], - ['bind', WRAP_BIND_FLAG], - ['bindKey', WRAP_BIND_KEY_FLAG], - ['curry', WRAP_CURRY_FLAG], - ['curryRight', WRAP_CURRY_RIGHT_FLAG], - ['flip', WRAP_FLIP_FLAG], - ['partial', WRAP_PARTIAL_FLAG], - ['partialRight', WRAP_PARTIAL_RIGHT_FLAG], - ['rearg', WRAP_REARG_FLAG] - ]; - - /** `Object#toString` result references. */ - var argsTag = '[object Arguments]', - arrayTag = '[object Array]', - asyncTag = '[object AsyncFunction]', - boolTag = '[object Boolean]', - dateTag = '[object Date]', - domExcTag = '[object DOMException]', - errorTag = '[object Error]', - funcTag = '[object Function]', - genTag = '[object GeneratorFunction]', - mapTag = '[object Map]', - numberTag = '[object Number]', - nullTag = '[object Null]', - objectTag = '[object Object]', - promiseTag = '[object Promise]', - proxyTag = '[object Proxy]', - regexpTag = '[object RegExp]', - setTag = '[object Set]', - stringTag = '[object String]', - symbolTag = '[object Symbol]', - undefinedTag = '[object Undefined]', - weakMapTag = '[object WeakMap]', - weakSetTag = '[object WeakSet]'; - - var arrayBufferTag = '[object ArrayBuffer]', - dataViewTag = '[object DataView]', - float32Tag = '[object Float32Array]', - float64Tag = '[object Float64Array]', - int8Tag = '[object Int8Array]', - int16Tag = '[object Int16Array]', - int32Tag = '[object Int32Array]', - uint8Tag = '[object Uint8Array]', - uint8ClampedTag = '[object Uint8ClampedArray]', - uint16Tag = '[object Uint16Array]', - uint32Tag = '[object Uint32Array]'; - - /** Used to match empty string literals in compiled template source. */ - var reEmptyStringLeading = /\b__p \+= '';/g, - reEmptyStringMiddle = /\b(__p \+=) '' \+/g, - reEmptyStringTrailing = /(__e\(.*?\)|\b__t\)) \+\n'';/g; - - /** Used to match HTML entities and HTML characters. */ - var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g, - reUnescapedHtml = /[&<>"']/g, - reHasEscapedHtml = RegExp(reEscapedHtml.source), - reHasUnescapedHtml = RegExp(reUnescapedHtml.source); - - /** Used to match template delimiters. */ - var reEscape = /<%-([\s\S]+?)%>/g, - reEvaluate = /<%([\s\S]+?)%>/g, - reInterpolate = /<%=([\s\S]+?)%>/g; - - /** Used to match property names within property paths. */ - var reIsDeepProp = /\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/, - reIsPlainProp = /^\w*$/, - rePropName = /[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g; - - /** - * Used to match `RegExp` - * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns). - */ - var reRegExpChar = /[\\^$.*+?()[\]{}|]/g, - reHasRegExpChar = RegExp(reRegExpChar.source); - - /** Used to match leading whitespace. */ - var reTrimStart = /^\s+/; - - /** Used to match a single whitespace character. */ - var reWhitespace = /\s/; - - /** Used to match wrap detail comments. */ - var reWrapComment = /\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/, - reWrapDetails = /\{\n\/\* \[wrapped with (.+)\] \*/, - reSplitDetails = /,? & /; - - /** Used to match words composed of alphanumeric characters. */ - var reAsciiWord = /[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g; - - /** - * Used to validate the `validate` option in `_.template` variable. - * - * Forbids characters which could potentially change the meaning of the function argument definition: - * - "()," (modification of function parameters) - * - "=" (default value) - * - "[]{}" (destructuring of function parameters) - * - "/" (beginning of a comment) - * - whitespace - */ - var reForbiddenIdentifierChars = /[()=,{}\[\]\/\s]/; - - /** Used to match backslashes in property paths. */ - var reEscapeChar = /\\(\\)?/g; - - /** - * Used to match - * [ES template delimiters](http://ecma-international.org/ecma-262/7.0/#sec-template-literal-lexical-components). - */ - var reEsTemplate = /\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g; - - /** Used to match `RegExp` flags from their coerced string values. */ - var reFlags = /\w*$/; - - /** Used to detect bad signed hexadecimal string values. */ - var reIsBadHex = /^[-+]0x[0-9a-f]+$/i; - - /** Used to detect binary string values. */ - var reIsBinary = /^0b[01]+$/i; - - /** Used to detect host constructors (Safari). */ - var reIsHostCtor = /^\[object .+?Constructor\]$/; - - /** Used to detect octal string values. */ - var reIsOctal = /^0o[0-7]+$/i; - - /** Used to detect unsigned integer values. */ - var reIsUint = /^(?:0|[1-9]\d*)$/; - - /** Used to match Latin Unicode letters (excluding mathematical operators). */ - var reLatin = /[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g; - - /** Used to ensure capturing order of template delimiters. */ - var reNoMatch = /($^)/; - - /** Used to match unescaped characters in compiled string literals. */ - var reUnescapedString = /['\n\r\u2028\u2029\\]/g; - - /** Used to compose unicode character classes. */ - var rsAstralRange = '\\ud800-\\udfff', - rsComboMarksRange = '\\u0300-\\u036f', - reComboHalfMarksRange = '\\ufe20-\\ufe2f', - rsComboSymbolsRange = '\\u20d0-\\u20ff', - rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange, - rsDingbatRange = '\\u2700-\\u27bf', - rsLowerRange = 'a-z\\xdf-\\xf6\\xf8-\\xff', - rsMathOpRange = '\\xac\\xb1\\xd7\\xf7', - rsNonCharRange = '\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf', - rsPunctuationRange = '\\u2000-\\u206f', - rsSpaceRange = ' \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000', - rsUpperRange = 'A-Z\\xc0-\\xd6\\xd8-\\xde', - rsVarRange = '\\ufe0e\\ufe0f', - rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange; - - /** Used to compose unicode capture groups. */ - var rsApos = "['\u2019]", - rsAstral = '[' + rsAstralRange + ']', - rsBreak = '[' + rsBreakRange + ']', - rsCombo = '[' + rsComboRange + ']', - rsDigits = '\\d+', - rsDingbat = '[' + rsDingbatRange + ']', - rsLower = '[' + rsLowerRange + ']', - rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']', - rsFitz = '\\ud83c[\\udffb-\\udfff]', - rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')', - rsNonAstral = '[^' + rsAstralRange + ']', - rsRegional = '(?:\\ud83c[\\udde6-\\uddff]){2}', - rsSurrPair = '[\\ud800-\\udbff][\\udc00-\\udfff]', - rsUpper = '[' + rsUpperRange + ']', - rsZWJ = '\\u200d'; - - /** Used to compose unicode regexes. */ - var rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')', - rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')', - rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?', - rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?', - reOptMod = rsModifier + '?', - rsOptVar = '[' + rsVarRange + ']?', - rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*', - rsOrdLower = '\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])', - rsOrdUpper = '\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])', - rsSeq = rsOptVar + reOptMod + rsOptJoin, - rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq, - rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')'; - - /** Used to match apostrophes. */ - var reApos = RegExp(rsApos, 'g'); - - /** - * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and - * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols). - */ - var reComboMark = RegExp(rsCombo, 'g'); - - /** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */ - var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g'); - - /** Used to match complex or compound words. */ - var reUnicodeWord = RegExp([ - rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')', - rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')', - rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower, - rsUpper + '+' + rsOptContrUpper, - rsOrdUpper, - rsOrdLower, - rsDigits, - rsEmoji - ].join('|'), 'g'); - - /** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */ - var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']'); - - /** Used to detect strings that need a more robust regexp to match words. */ - var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/; - - /** Used to assign default `context` object properties. */ - var contextProps = [ - 'Array', 'Buffer', 'DataView', 'Date', 'Error', 'Float32Array', 'Float64Array', - 'Function', 'Int8Array', 'Int16Array', 'Int32Array', 'Map', 'Math', 'Object', - 'Promise', 'RegExp', 'Set', 'String', 'Symbol', 'TypeError', 'Uint8Array', - 'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'WeakMap', - '_', 'clearTimeout', 'isFinite', 'parseInt', 'setTimeout' - ]; - - /** Used to make template sourceURLs easier to identify. */ - var templateCounter = -1; - - /** Used to identify `toStringTag` values of typed arrays. */ - var typedArrayTags = {}; - typedArrayTags[float32Tag] = typedArrayTags[float64Tag] = - typedArrayTags[int8Tag] = typedArrayTags[int16Tag] = - typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] = - typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] = - typedArrayTags[uint32Tag] = true; - typedArrayTags[argsTag] = typedArrayTags[arrayTag] = - typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] = - typedArrayTags[dataViewTag] = typedArrayTags[dateTag] = - typedArrayTags[errorTag] = typedArrayTags[funcTag] = - typedArrayTags[mapTag] = typedArrayTags[numberTag] = - typedArrayTags[objectTag] = typedArrayTags[regexpTag] = - typedArrayTags[setTag] = typedArrayTags[stringTag] = - typedArrayTags[weakMapTag] = false; - - /** Used to identify `toStringTag` values supported by `_.clone`. */ - var cloneableTags = {}; - cloneableTags[argsTag] = cloneableTags[arrayTag] = - cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] = - cloneableTags[boolTag] = cloneableTags[dateTag] = - cloneableTags[float32Tag] = cloneableTags[float64Tag] = - cloneableTags[int8Tag] = cloneableTags[int16Tag] = - cloneableTags[int32Tag] = cloneableTags[mapTag] = - cloneableTags[numberTag] = cloneableTags[objectTag] = - cloneableTags[regexpTag] = cloneableTags[setTag] = - cloneableTags[stringTag] = cloneableTags[symbolTag] = - cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] = - cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true; - cloneableTags[errorTag] = cloneableTags[funcTag] = - cloneableTags[weakMapTag] = false; - - /** Used to map Latin Unicode letters to basic Latin letters. */ - var deburredLetters = { - // Latin-1 Supplement block. - '\xc0': 'A', '\xc1': 'A', '\xc2': 'A', '\xc3': 'A', '\xc4': 'A', '\xc5': 'A', - '\xe0': 'a', '\xe1': 'a', '\xe2': 'a', '\xe3': 'a', '\xe4': 'a', '\xe5': 'a', - '\xc7': 'C', '\xe7': 'c', - '\xd0': 'D', '\xf0': 'd', - '\xc8': 'E', '\xc9': 'E', '\xca': 'E', '\xcb': 'E', - '\xe8': 'e', '\xe9': 'e', '\xea': 'e', '\xeb': 'e', - '\xcc': 'I', '\xcd': 'I', '\xce': 'I', '\xcf': 'I', - '\xec': 'i', '\xed': 'i', '\xee': 'i', '\xef': 'i', - '\xd1': 'N', '\xf1': 'n', - '\xd2': 'O', '\xd3': 'O', '\xd4': 'O', '\xd5': 'O', '\xd6': 'O', '\xd8': 'O', - '\xf2': 'o', '\xf3': 'o', '\xf4': 'o', '\xf5': 'o', '\xf6': 'o', '\xf8': 'o', - '\xd9': 'U', '\xda': 'U', '\xdb': 'U', '\xdc': 'U', - '\xf9': 'u', '\xfa': 'u', '\xfb': 'u', '\xfc': 'u', - '\xdd': 'Y', '\xfd': 'y', '\xff': 'y', - '\xc6': 'Ae', '\xe6': 'ae', - '\xde': 'Th', '\xfe': 'th', - '\xdf': 'ss', - // Latin Extended-A block. - '\u0100': 'A', '\u0102': 'A', '\u0104': 'A', - '\u0101': 'a', '\u0103': 'a', '\u0105': 'a', - '\u0106': 'C', '\u0108': 'C', '\u010a': 'C', '\u010c': 'C', - '\u0107': 'c', '\u0109': 'c', '\u010b': 'c', '\u010d': 'c', - '\u010e': 'D', '\u0110': 'D', '\u010f': 'd', '\u0111': 'd', - '\u0112': 'E', '\u0114': 'E', '\u0116': 'E', '\u0118': 'E', '\u011a': 'E', - '\u0113': 'e', '\u0115': 'e', '\u0117': 'e', '\u0119': 'e', '\u011b': 'e', - '\u011c': 'G', '\u011e': 'G', '\u0120': 'G', '\u0122': 'G', - '\u011d': 'g', '\u011f': 'g', '\u0121': 'g', '\u0123': 'g', - '\u0124': 'H', '\u0126': 'H', '\u0125': 'h', '\u0127': 'h', - '\u0128': 'I', '\u012a': 'I', '\u012c': 'I', '\u012e': 'I', '\u0130': 'I', - '\u0129': 'i', '\u012b': 'i', '\u012d': 'i', '\u012f': 'i', '\u0131': 'i', - '\u0134': 'J', '\u0135': 'j', - '\u0136': 'K', '\u0137': 'k', '\u0138': 'k', - '\u0139': 'L', '\u013b': 'L', '\u013d': 'L', '\u013f': 'L', '\u0141': 'L', - '\u013a': 'l', '\u013c': 'l', '\u013e': 'l', '\u0140': 'l', '\u0142': 'l', - '\u0143': 'N', '\u0145': 'N', '\u0147': 'N', '\u014a': 'N', - '\u0144': 'n', '\u0146': 'n', '\u0148': 'n', '\u014b': 'n', - '\u014c': 'O', '\u014e': 'O', '\u0150': 'O', - '\u014d': 'o', '\u014f': 'o', '\u0151': 'o', - '\u0154': 'R', '\u0156': 'R', '\u0158': 'R', - '\u0155': 'r', '\u0157': 'r', '\u0159': 'r', - '\u015a': 'S', '\u015c': 'S', '\u015e': 'S', '\u0160': 'S', - '\u015b': 's', '\u015d': 's', '\u015f': 's', '\u0161': 's', - '\u0162': 'T', '\u0164': 'T', '\u0166': 'T', - '\u0163': 't', '\u0165': 't', '\u0167': 't', - '\u0168': 'U', '\u016a': 'U', '\u016c': 'U', '\u016e': 'U', '\u0170': 'U', '\u0172': 'U', - '\u0169': 'u', '\u016b': 'u', '\u016d': 'u', '\u016f': 'u', '\u0171': 'u', '\u0173': 'u', - '\u0174': 'W', '\u0175': 'w', - '\u0176': 'Y', '\u0177': 'y', '\u0178': 'Y', - '\u0179': 'Z', '\u017b': 'Z', '\u017d': 'Z', - '\u017a': 'z', '\u017c': 'z', '\u017e': 'z', - '\u0132': 'IJ', '\u0133': 'ij', - '\u0152': 'Oe', '\u0153': 'oe', - '\u0149': "'n", '\u017f': 's' - }; - - /** Used to map characters to HTML entities. */ - var htmlEscapes = { - '&': '&', - '<': '<', - '>': '>', - '"': '"', - "'": ''' - }; - - /** Used to map HTML entities to characters. */ - var htmlUnescapes = { - '&': '&', - '<': '<', - '>': '>', - '"': '"', - ''': "'" - }; - - /** Used to escape characters for inclusion in compiled string literals. */ - var stringEscapes = { - '\\': '\\', - "'": "'", - '\n': 'n', - '\r': 'r', - '\u2028': 'u2028', - '\u2029': 'u2029' - }; - - /** Built-in method references without a dependency on `root`. */ - var freeParseFloat = parseFloat, - freeParseInt = parseInt; - - /** Detect free variable `global` from Node.js. */ - var freeGlobal = typeof global == 'object' && global && global.Object === Object && global; - - /** Detect free variable `self`. */ - var freeSelf = typeof self == 'object' && self && self.Object === Object && self; - - /** Used as a reference to the global object. */ - var root = freeGlobal || freeSelf || Function('return this')(); - - /** Detect free variable `exports`. */ - var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports; - - /** Detect free variable `module`. */ - var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module; - - /** Detect the popular CommonJS extension `module.exports`. */ - var moduleExports = freeModule && freeModule.exports === freeExports; - - /** Detect free variable `process` from Node.js. */ - var freeProcess = moduleExports && freeGlobal.process; - - /** Used to access faster Node.js helpers. */ - var nodeUtil = (function() { - try { - // Use `util.types` for Node.js 10+. - var types = freeModule && freeModule.require && freeModule.require('util').types; - - if (types) { - return types; - } - - // Legacy `process.binding('util')` for Node.js < 10. - return freeProcess && freeProcess.binding && freeProcess.binding('util'); - } catch (e) {} - }()); - - /* Node.js helper references. */ - var nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer, - nodeIsDate = nodeUtil && nodeUtil.isDate, - nodeIsMap = nodeUtil && nodeUtil.isMap, - nodeIsRegExp = nodeUtil && nodeUtil.isRegExp, - nodeIsSet = nodeUtil && nodeUtil.isSet, - nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray; - - /*--------------------------------------------------------------------------*/ - - /** - * A faster alternative to `Function#apply`, this function invokes `func` - * with the `this` binding of `thisArg` and the arguments of `args`. - * - * @private - * @param {Function} func The function to invoke. - * @param {*} thisArg The `this` binding of `func`. - * @param {Array} args The arguments to invoke `func` with. - * @returns {*} Returns the result of `func`. - */ - function apply(func, thisArg, args) { - switch (args.length) { - case 0: return func.call(thisArg); - case 1: return func.call(thisArg, args[0]); - case 2: return func.call(thisArg, args[0], args[1]); - case 3: return func.call(thisArg, args[0], args[1], args[2]); - } - return func.apply(thisArg, args); - } - - /** - * A specialized version of `baseAggregator` for arrays. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} setter The function to set `accumulator` values. - * @param {Function} iteratee The iteratee to transform keys. - * @param {Object} accumulator The initial aggregated object. - * @returns {Function} Returns `accumulator`. - */ - function arrayAggregator(array, setter, iteratee, accumulator) { - var index = -1, - length = array == null ? 0 : array.length; - - while (++index < length) { - var value = array[index]; - setter(accumulator, value, iteratee(value), array); - } - return accumulator; - } - - /** - * A specialized version of `_.forEach` for arrays without support for - * iteratee shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns `array`. - */ - function arrayEach(array, iteratee) { - var index = -1, - length = array == null ? 0 : array.length; - - while (++index < length) { - if (iteratee(array[index], index, array) === false) { - break; - } - } - return array; - } - - /** - * A specialized version of `_.forEachRight` for arrays without support for - * iteratee shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns `array`. - */ - function arrayEachRight(array, iteratee) { - var length = array == null ? 0 : array.length; - - while (length--) { - if (iteratee(array[length], length, array) === false) { - break; - } - } - return array; - } - - /** - * A specialized version of `_.every` for arrays without support for - * iteratee shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {boolean} Returns `true` if all elements pass the predicate check, - * else `false`. - */ - function arrayEvery(array, predicate) { - var index = -1, - length = array == null ? 0 : array.length; - - while (++index < length) { - if (!predicate(array[index], index, array)) { - return false; - } - } - return true; - } - - /** - * A specialized version of `_.filter` for arrays without support for - * iteratee shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {Array} Returns the new filtered array. - */ - function arrayFilter(array, predicate) { - var index = -1, - length = array == null ? 0 : array.length, - resIndex = 0, - result = []; - - while (++index < length) { - var value = array[index]; - if (predicate(value, index, array)) { - result[resIndex++] = value; - } - } - return result; - } - - /** - * A specialized version of `_.includes` for arrays without support for - * specifying an index to search from. - * - * @private - * @param {Array} [array] The array to inspect. - * @param {*} target The value to search for. - * @returns {boolean} Returns `true` if `target` is found, else `false`. - */ - function arrayIncludes(array, value) { - var length = array == null ? 0 : array.length; - return !!length && baseIndexOf(array, value, 0) > -1; - } - - /** - * This function is like `arrayIncludes` except that it accepts a comparator. - * - * @private - * @param {Array} [array] The array to inspect. - * @param {*} target The value to search for. - * @param {Function} comparator The comparator invoked per element. - * @returns {boolean} Returns `true` if `target` is found, else `false`. - */ - function arrayIncludesWith(array, value, comparator) { - var index = -1, - length = array == null ? 0 : array.length; - - while (++index < length) { - if (comparator(value, array[index])) { - return true; - } - } - return false; - } - - /** - * A specialized version of `_.map` for arrays without support for iteratee - * shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns the new mapped array. - */ - function arrayMap(array, iteratee) { - var index = -1, - length = array == null ? 0 : array.length, - result = Array(length); - - while (++index < length) { - result[index] = iteratee(array[index], index, array); - } - return result; - } - - /** - * Appends the elements of `values` to `array`. - * - * @private - * @param {Array} array The array to modify. - * @param {Array} values The values to append. - * @returns {Array} Returns `array`. - */ - function arrayPush(array, values) { - var index = -1, - length = values.length, - offset = array.length; - - while (++index < length) { - array[offset + index] = values[index]; - } - return array; - } - - /** - * A specialized version of `_.reduce` for arrays without support for - * iteratee shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {*} [accumulator] The initial value. - * @param {boolean} [initAccum] Specify using the first element of `array` as - * the initial value. - * @returns {*} Returns the accumulated value. - */ - function arrayReduce(array, iteratee, accumulator, initAccum) { - var index = -1, - length = array == null ? 0 : array.length; - - if (initAccum && length) { - accumulator = array[++index]; - } - while (++index < length) { - accumulator = iteratee(accumulator, array[index], index, array); - } - return accumulator; - } - - /** - * A specialized version of `_.reduceRight` for arrays without support for - * iteratee shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {*} [accumulator] The initial value. - * @param {boolean} [initAccum] Specify using the last element of `array` as - * the initial value. - * @returns {*} Returns the accumulated value. - */ - function arrayReduceRight(array, iteratee, accumulator, initAccum) { - var length = array == null ? 0 : array.length; - if (initAccum && length) { - accumulator = array[--length]; - } - while (length--) { - accumulator = iteratee(accumulator, array[length], length, array); - } - return accumulator; - } - - /** - * A specialized version of `_.some` for arrays without support for iteratee - * shorthands. - * - * @private - * @param {Array} [array] The array to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {boolean} Returns `true` if any element passes the predicate check, - * else `false`. - */ - function arraySome(array, predicate) { - var index = -1, - length = array == null ? 0 : array.length; - - while (++index < length) { - if (predicate(array[index], index, array)) { - return true; - } - } - return false; - } - - /** - * Gets the size of an ASCII `string`. - * - * @private - * @param {string} string The string inspect. - * @returns {number} Returns the string size. - */ - var asciiSize = baseProperty('length'); - - /** - * Converts an ASCII `string` to an array. - * - * @private - * @param {string} string The string to convert. - * @returns {Array} Returns the converted array. - */ - function asciiToArray(string) { - return string.split(''); - } - - /** - * Splits an ASCII `string` into an array of its words. - * - * @private - * @param {string} The string to inspect. - * @returns {Array} Returns the words of `string`. - */ - function asciiWords(string) { - return string.match(reAsciiWord) || []; - } - - /** - * The base implementation of methods like `_.findKey` and `_.findLastKey`, - * without support for iteratee shorthands, which iterates over `collection` - * using `eachFunc`. - * - * @private - * @param {Array|Object} collection The collection to inspect. - * @param {Function} predicate The function invoked per iteration. - * @param {Function} eachFunc The function to iterate over `collection`. - * @returns {*} Returns the found element or its key, else `undefined`. - */ - function baseFindKey(collection, predicate, eachFunc) { - var result; - eachFunc(collection, function(value, key, collection) { - if (predicate(value, key, collection)) { - result = key; - return false; - } - }); - return result; - } - - /** - * The base implementation of `_.findIndex` and `_.findLastIndex` without - * support for iteratee shorthands. - * - * @private - * @param {Array} array The array to inspect. - * @param {Function} predicate The function invoked per iteration. - * @param {number} fromIndex The index to search from. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {number} Returns the index of the matched value, else `-1`. - */ - function baseFindIndex(array, predicate, fromIndex, fromRight) { - var length = array.length, - index = fromIndex + (fromRight ? 1 : -1); - - while ((fromRight ? index-- : ++index < length)) { - if (predicate(array[index], index, array)) { - return index; - } - } - return -1; - } - - /** - * The base implementation of `_.indexOf` without `fromIndex` bounds checks. - * - * @private - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @param {number} fromIndex The index to search from. - * @returns {number} Returns the index of the matched value, else `-1`. - */ - function baseIndexOf(array, value, fromIndex) { - return value === value - ? strictIndexOf(array, value, fromIndex) - : baseFindIndex(array, baseIsNaN, fromIndex); - } - - /** - * This function is like `baseIndexOf` except that it accepts a comparator. - * - * @private - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @param {number} fromIndex The index to search from. - * @param {Function} comparator The comparator invoked per element. - * @returns {number} Returns the index of the matched value, else `-1`. - */ - function baseIndexOfWith(array, value, fromIndex, comparator) { - var index = fromIndex - 1, - length = array.length; - - while (++index < length) { - if (comparator(array[index], value)) { - return index; - } - } - return -1; - } - - /** - * The base implementation of `_.isNaN` without support for number objects. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. - */ - function baseIsNaN(value) { - return value !== value; - } - - /** - * The base implementation of `_.mean` and `_.meanBy` without support for - * iteratee shorthands. - * - * @private - * @param {Array} array The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {number} Returns the mean. - */ - function baseMean(array, iteratee) { - var length = array == null ? 0 : array.length; - return length ? (baseSum(array, iteratee) / length) : NAN; - } - - /** - * The base implementation of `_.property` without support for deep paths. - * - * @private - * @param {string} key The key of the property to get. - * @returns {Function} Returns the new accessor function. - */ - function baseProperty(key) { - return function(object) { - return object == null ? undefined : object[key]; - }; - } - - /** - * The base implementation of `_.propertyOf` without support for deep paths. - * - * @private - * @param {Object} object The object to query. - * @returns {Function} Returns the new accessor function. - */ - function basePropertyOf(object) { - return function(key) { - return object == null ? undefined : object[key]; - }; - } - - /** - * The base implementation of `_.reduce` and `_.reduceRight`, without support - * for iteratee shorthands, which iterates over `collection` using `eachFunc`. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {*} accumulator The initial value. - * @param {boolean} initAccum Specify using the first or last element of - * `collection` as the initial value. - * @param {Function} eachFunc The function to iterate over `collection`. - * @returns {*} Returns the accumulated value. - */ - function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) { - eachFunc(collection, function(value, index, collection) { - accumulator = initAccum - ? (initAccum = false, value) - : iteratee(accumulator, value, index, collection); - }); - return accumulator; - } - - /** - * The base implementation of `_.sortBy` which uses `comparer` to define the - * sort order of `array` and replaces criteria objects with their corresponding - * values. - * - * @private - * @param {Array} array The array to sort. - * @param {Function} comparer The function to define sort order. - * @returns {Array} Returns `array`. - */ - function baseSortBy(array, comparer) { - var length = array.length; - - array.sort(comparer); - while (length--) { - array[length] = array[length].value; - } - return array; - } - - /** - * The base implementation of `_.sum` and `_.sumBy` without support for - * iteratee shorthands. - * - * @private - * @param {Array} array The array to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {number} Returns the sum. - */ - function baseSum(array, iteratee) { - var result, - index = -1, - length = array.length; - - while (++index < length) { - var current = iteratee(array[index]); - if (current !== undefined) { - result = result === undefined ? current : (result + current); - } - } - return result; - } - - /** - * The base implementation of `_.times` without support for iteratee shorthands - * or max array length checks. - * - * @private - * @param {number} n The number of times to invoke `iteratee`. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns the array of results. - */ - function baseTimes(n, iteratee) { - var index = -1, - result = Array(n); - - while (++index < n) { - result[index] = iteratee(index); - } - return result; - } - - /** - * The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array - * of key-value pairs for `object` corresponding to the property names of `props`. - * - * @private - * @param {Object} object The object to query. - * @param {Array} props The property names to get values for. - * @returns {Object} Returns the key-value pairs. - */ - function baseToPairs(object, props) { - return arrayMap(props, function(key) { - return [key, object[key]]; - }); - } - - /** - * The base implementation of `_.trim`. - * - * @private - * @param {string} string The string to trim. - * @returns {string} Returns the trimmed string. - */ - function baseTrim(string) { - return string - ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '') - : string; - } - - /** - * The base implementation of `_.unary` without support for storing metadata. - * - * @private - * @param {Function} func The function to cap arguments for. - * @returns {Function} Returns the new capped function. - */ - function baseUnary(func) { - return function(value) { - return func(value); - }; - } - - /** - * The base implementation of `_.values` and `_.valuesIn` which creates an - * array of `object` property values corresponding to the property names - * of `props`. - * - * @private - * @param {Object} object The object to query. - * @param {Array} props The property names to get values for. - * @returns {Object} Returns the array of property values. - */ - function baseValues(object, props) { - return arrayMap(props, function(key) { - return object[key]; - }); - } - - /** - * Checks if a `cache` value for `key` exists. - * - * @private - * @param {Object} cache The cache to query. - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ - function cacheHas(cache, key) { - return cache.has(key); - } - - /** - * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol - * that is not found in the character symbols. - * - * @private - * @param {Array} strSymbols The string symbols to inspect. - * @param {Array} chrSymbols The character symbols to find. - * @returns {number} Returns the index of the first unmatched string symbol. - */ - function charsStartIndex(strSymbols, chrSymbols) { - var index = -1, - length = strSymbols.length; - - while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {} - return index; - } - - /** - * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol - * that is not found in the character symbols. - * - * @private - * @param {Array} strSymbols The string symbols to inspect. - * @param {Array} chrSymbols The character symbols to find. - * @returns {number} Returns the index of the last unmatched string symbol. - */ - function charsEndIndex(strSymbols, chrSymbols) { - var index = strSymbols.length; - - while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {} - return index; - } - - /** - * Gets the number of `placeholder` occurrences in `array`. - * - * @private - * @param {Array} array The array to inspect. - * @param {*} placeholder The placeholder to search for. - * @returns {number} Returns the placeholder count. - */ - function countHolders(array, placeholder) { - var length = array.length, - result = 0; - - while (length--) { - if (array[length] === placeholder) { - ++result; - } - } - return result; - } - - /** - * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A - * letters to basic Latin letters. - * - * @private - * @param {string} letter The matched letter to deburr. - * @returns {string} Returns the deburred letter. - */ - var deburrLetter = basePropertyOf(deburredLetters); - - /** - * Used by `_.escape` to convert characters to HTML entities. - * - * @private - * @param {string} chr The matched character to escape. - * @returns {string} Returns the escaped character. - */ - var escapeHtmlChar = basePropertyOf(htmlEscapes); - - /** - * Used by `_.template` to escape characters for inclusion in compiled string literals. - * - * @private - * @param {string} chr The matched character to escape. - * @returns {string} Returns the escaped character. - */ - function escapeStringChar(chr) { - return '\\' + stringEscapes[chr]; - } - - /** - * Gets the value at `key` of `object`. - * - * @private - * @param {Object} [object] The object to query. - * @param {string} key The key of the property to get. - * @returns {*} Returns the property value. - */ - function getValue(object, key) { - return object == null ? undefined : object[key]; - } - - /** - * Checks if `string` contains Unicode symbols. - * - * @private - * @param {string} string The string to inspect. - * @returns {boolean} Returns `true` if a symbol is found, else `false`. - */ - function hasUnicode(string) { - return reHasUnicode.test(string); - } - - /** - * Checks if `string` contains a word composed of Unicode symbols. - * - * @private - * @param {string} string The string to inspect. - * @returns {boolean} Returns `true` if a word is found, else `false`. - */ - function hasUnicodeWord(string) { - return reHasUnicodeWord.test(string); - } - - /** - * Converts `iterator` to an array. - * - * @private - * @param {Object} iterator The iterator to convert. - * @returns {Array} Returns the converted array. - */ - function iteratorToArray(iterator) { - var data, - result = []; - - while (!(data = iterator.next()).done) { - result.push(data.value); - } - return result; - } - - /** - * Converts `map` to its key-value pairs. - * - * @private - * @param {Object} map The map to convert. - * @returns {Array} Returns the key-value pairs. - */ - function mapToArray(map) { - var index = -1, - result = Array(map.size); - - map.forEach(function(value, key) { - result[++index] = [key, value]; - }); - return result; - } - - /** - * Creates a unary function that invokes `func` with its argument transformed. - * - * @private - * @param {Function} func The function to wrap. - * @param {Function} transform The argument transform. - * @returns {Function} Returns the new function. - */ - function overArg(func, transform) { - return function(arg) { - return func(transform(arg)); - }; - } - - /** - * Replaces all `placeholder` elements in `array` with an internal placeholder - * and returns an array of their indexes. - * - * @private - * @param {Array} array The array to modify. - * @param {*} placeholder The placeholder to replace. - * @returns {Array} Returns the new array of placeholder indexes. - */ - function replaceHolders(array, placeholder) { - var index = -1, - length = array.length, - resIndex = 0, - result = []; - - while (++index < length) { - var value = array[index]; - if (value === placeholder || value === PLACEHOLDER) { - array[index] = PLACEHOLDER; - result[resIndex++] = index; - } - } - return result; - } - - /** - * Converts `set` to an array of its values. - * - * @private - * @param {Object} set The set to convert. - * @returns {Array} Returns the values. - */ - function setToArray(set) { - var index = -1, - result = Array(set.size); - - set.forEach(function(value) { - result[++index] = value; - }); - return result; - } - - /** - * Converts `set` to its value-value pairs. - * - * @private - * @param {Object} set The set to convert. - * @returns {Array} Returns the value-value pairs. - */ - function setToPairs(set) { - var index = -1, - result = Array(set.size); - - set.forEach(function(value) { - result[++index] = [value, value]; - }); - return result; - } - - /** - * A specialized version of `_.indexOf` which performs strict equality - * comparisons of values, i.e. `===`. - * - * @private - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @param {number} fromIndex The index to search from. - * @returns {number} Returns the index of the matched value, else `-1`. - */ - function strictIndexOf(array, value, fromIndex) { - var index = fromIndex - 1, - length = array.length; - - while (++index < length) { - if (array[index] === value) { - return index; - } - } - return -1; - } - - /** - * A specialized version of `_.lastIndexOf` which performs strict equality - * comparisons of values, i.e. `===`. - * - * @private - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @param {number} fromIndex The index to search from. - * @returns {number} Returns the index of the matched value, else `-1`. - */ - function strictLastIndexOf(array, value, fromIndex) { - var index = fromIndex + 1; - while (index--) { - if (array[index] === value) { - return index; - } - } - return index; - } - - /** - * Gets the number of symbols in `string`. - * - * @private - * @param {string} string The string to inspect. - * @returns {number} Returns the string size. - */ - function stringSize(string) { - return hasUnicode(string) - ? unicodeSize(string) - : asciiSize(string); - } - - /** - * Converts `string` to an array. - * - * @private - * @param {string} string The string to convert. - * @returns {Array} Returns the converted array. - */ - function stringToArray(string) { - return hasUnicode(string) - ? unicodeToArray(string) - : asciiToArray(string); - } - - /** - * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace - * character of `string`. - * - * @private - * @param {string} string The string to inspect. - * @returns {number} Returns the index of the last non-whitespace character. - */ - function trimmedEndIndex(string) { - var index = string.length; - - while (index-- && reWhitespace.test(string.charAt(index))) {} - return index; - } - - /** - * Used by `_.unescape` to convert HTML entities to characters. - * - * @private - * @param {string} chr The matched character to unescape. - * @returns {string} Returns the unescaped character. - */ - var unescapeHtmlChar = basePropertyOf(htmlUnescapes); - - /** - * Gets the size of a Unicode `string`. - * - * @private - * @param {string} string The string inspect. - * @returns {number} Returns the string size. - */ - function unicodeSize(string) { - var result = reUnicode.lastIndex = 0; - while (reUnicode.test(string)) { - ++result; - } - return result; - } - - /** - * Converts a Unicode `string` to an array. - * - * @private - * @param {string} string The string to convert. - * @returns {Array} Returns the converted array. - */ - function unicodeToArray(string) { - return string.match(reUnicode) || []; - } - - /** - * Splits a Unicode `string` into an array of its words. - * - * @private - * @param {string} The string to inspect. - * @returns {Array} Returns the words of `string`. - */ - function unicodeWords(string) { - return string.match(reUnicodeWord) || []; - } - - /*--------------------------------------------------------------------------*/ - - /** - * Create a new pristine `lodash` function using the `context` object. - * - * @static - * @memberOf _ - * @since 1.1.0 - * @category Util - * @param {Object} [context=root] The context object. - * @returns {Function} Returns a new `lodash` function. - * @example - * - * _.mixin({ 'foo': _.constant('foo') }); - * - * var lodash = _.runInContext(); - * lodash.mixin({ 'bar': lodash.constant('bar') }); - * - * _.isFunction(_.foo); - * // => true - * _.isFunction(_.bar); - * // => false - * - * lodash.isFunction(lodash.foo); - * // => false - * lodash.isFunction(lodash.bar); - * // => true - * - * // Create a suped-up `defer` in Node.js. - * var defer = _.runInContext({ 'setTimeout': setImmediate }).defer; - */ - var runInContext = (function runInContext(context) { - context = context == null ? root : _.defaults(root.Object(), context, _.pick(root, contextProps)); - - /** Built-in constructor references. */ - var Array = context.Array, - Date = context.Date, - Error = context.Error, - Function = context.Function, - Math = context.Math, - Object = context.Object, - RegExp = context.RegExp, - String = context.String, - TypeError = context.TypeError; - - /** Used for built-in method references. */ - var arrayProto = Array.prototype, - funcProto = Function.prototype, - objectProto = Object.prototype; - - /** Used to detect overreaching core-js shims. */ - var coreJsData = context['__core-js_shared__']; - - /** Used to resolve the decompiled source of functions. */ - var funcToString = funcProto.toString; - - /** Used to check objects for own properties. */ - var hasOwnProperty = objectProto.hasOwnProperty; - - /** Used to generate unique IDs. */ - var idCounter = 0; - - /** Used to detect methods masquerading as native. */ - var maskSrcKey = (function() { - var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || ''); - return uid ? ('Symbol(src)_1.' + uid) : ''; - }()); - - /** - * Used to resolve the - * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring) - * of values. - */ - var nativeObjectToString = objectProto.toString; - - /** Used to infer the `Object` constructor. */ - var objectCtorString = funcToString.call(Object); - - /** Used to restore the original `_` reference in `_.noConflict`. */ - var oldDash = root._; - - /** Used to detect if a method is native. */ - var reIsNative = RegExp('^' + - funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\$&') - .replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, '$1.*?') + '$' - ); - - /** Built-in value references. */ - var Buffer = moduleExports ? context.Buffer : undefined, - Symbol = context.Symbol, - Uint8Array = context.Uint8Array, - allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined, - getPrototype = overArg(Object.getPrototypeOf, Object), - objectCreate = Object.create, - propertyIsEnumerable = objectProto.propertyIsEnumerable, - splice = arrayProto.splice, - spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined, - symIterator = Symbol ? Symbol.iterator : undefined, - symToStringTag = Symbol ? Symbol.toStringTag : undefined; - - var defineProperty = (function() { - try { - var func = getNative(Object, 'defineProperty'); - func({}, '', {}); - return func; - } catch (e) {} - }()); - - /** Mocked built-ins. */ - var ctxClearTimeout = context.clearTimeout !== root.clearTimeout && context.clearTimeout, - ctxNow = Date && Date.now !== root.Date.now && Date.now, - ctxSetTimeout = context.setTimeout !== root.setTimeout && context.setTimeout; - - /* Built-in method references for those with the same name as other `lodash` methods. */ - var nativeCeil = Math.ceil, - nativeFloor = Math.floor, - nativeGetSymbols = Object.getOwnPropertySymbols, - nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined, - nativeIsFinite = context.isFinite, - nativeJoin = arrayProto.join, - nativeKeys = overArg(Object.keys, Object), - nativeMax = Math.max, - nativeMin = Math.min, - nativeNow = Date.now, - nativeParseInt = context.parseInt, - nativeRandom = Math.random, - nativeReverse = arrayProto.reverse; - - /* Built-in method references that are verified to be native. */ - var DataView = getNative(context, 'DataView'), - Map = getNative(context, 'Map'), - Promise = getNative(context, 'Promise'), - Set = getNative(context, 'Set'), - WeakMap = getNative(context, 'WeakMap'), - nativeCreate = getNative(Object, 'create'); - - /** Used to store function metadata. */ - var metaMap = WeakMap && new WeakMap; - - /** Used to lookup unminified function names. */ - var realNames = {}; - - /** Used to detect maps, sets, and weakmaps. */ - var dataViewCtorString = toSource(DataView), - mapCtorString = toSource(Map), - promiseCtorString = toSource(Promise), - setCtorString = toSource(Set), - weakMapCtorString = toSource(WeakMap); - - /** Used to convert symbols to primitives and strings. */ - var symbolProto = Symbol ? Symbol.prototype : undefined, - symbolValueOf = symbolProto ? symbolProto.valueOf : undefined, - symbolToString = symbolProto ? symbolProto.toString : undefined; - - /*------------------------------------------------------------------------*/ - - /** - * Creates a `lodash` object which wraps `value` to enable implicit method - * chain sequences. Methods that operate on and return arrays, collections, - * and functions can be chained together. Methods that retrieve a single value - * or may return a primitive value will automatically end the chain sequence - * and return the unwrapped value. Otherwise, the value must be unwrapped - * with `_#value`. - * - * Explicit chain sequences, which must be unwrapped with `_#value`, may be - * enabled using `_.chain`. - * - * The execution of chained methods is lazy, that is, it's deferred until - * `_#value` is implicitly or explicitly called. - * - * Lazy evaluation allows several methods to support shortcut fusion. - * Shortcut fusion is an optimization to merge iteratee calls; this avoids - * the creation of intermediate arrays and can greatly reduce the number of - * iteratee executions. Sections of a chain sequence qualify for shortcut - * fusion if the section is applied to an array and iteratees accept only - * one argument. The heuristic for whether a section qualifies for shortcut - * fusion is subject to change. - * - * Chaining is supported in custom builds as long as the `_#value` method is - * directly or indirectly included in the build. - * - * In addition to lodash methods, wrappers have `Array` and `String` methods. - * - * The wrapper `Array` methods are: - * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift` - * - * The wrapper `String` methods are: - * `replace` and `split` - * - * The wrapper methods that support shortcut fusion are: - * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`, - * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`, - * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray` - * - * The chainable wrapper methods are: - * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`, - * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`, - * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`, - * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`, - * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`, - * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`, - * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`, - * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`, - * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`, - * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`, - * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`, - * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`, - * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`, - * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`, - * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`, - * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`, - * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`, - * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`, - * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`, - * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`, - * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`, - * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`, - * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`, - * `zipObject`, `zipObjectDeep`, and `zipWith` - * - * The wrapper methods that are **not** chainable by default are: - * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`, - * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`, - * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`, - * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`, - * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`, - * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`, - * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`, - * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`, - * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`, - * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`, - * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`, - * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`, - * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`, - * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`, - * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`, - * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`, - * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`, - * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`, - * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`, - * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`, - * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`, - * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`, - * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`, - * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`, - * `upperFirst`, `value`, and `words` - * - * @name _ - * @constructor - * @category Seq - * @param {*} value The value to wrap in a `lodash` instance. - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * function square(n) { - * return n * n; - * } - * - * var wrapped = _([1, 2, 3]); - * - * // Returns an unwrapped value. - * wrapped.reduce(_.add); - * // => 6 - * - * // Returns a wrapped value. - * var squares = wrapped.map(square); - * - * _.isArray(squares); - * // => false - * - * _.isArray(squares.value()); - * // => true - */ - function lodash(value) { - if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) { - if (value instanceof LodashWrapper) { - return value; - } - if (hasOwnProperty.call(value, '__wrapped__')) { - return wrapperClone(value); - } - } - return new LodashWrapper(value); - } - - /** - * The base implementation of `_.create` without support for assigning - * properties to the created object. - * - * @private - * @param {Object} proto The object to inherit from. - * @returns {Object} Returns the new object. - */ - var baseCreate = (function() { - function object() {} - return function(proto) { - if (!isObject(proto)) { - return {}; - } - if (objectCreate) { - return objectCreate(proto); - } - object.prototype = proto; - var result = new object; - object.prototype = undefined; - return result; - }; - }()); - - /** - * The function whose prototype chain sequence wrappers inherit from. - * - * @private - */ - function baseLodash() { - // No operation performed. - } - - /** - * The base constructor for creating `lodash` wrapper objects. - * - * @private - * @param {*} value The value to wrap. - * @param {boolean} [chainAll] Enable explicit method chain sequences. - */ - function LodashWrapper(value, chainAll) { - this.__wrapped__ = value; - this.__actions__ = []; - this.__chain__ = !!chainAll; - this.__index__ = 0; - this.__values__ = undefined; - } - - /** - * By default, the template delimiters used by lodash are like those in - * embedded Ruby (ERB) as well as ES2015 template strings. Change the - * following template settings to use alternative delimiters. - * - * @static - * @memberOf _ - * @type {Object} - */ - lodash.templateSettings = { - - /** - * Used to detect `data` property values to be HTML-escaped. - * - * @memberOf _.templateSettings - * @type {RegExp} - */ - 'escape': reEscape, - - /** - * Used to detect code to be evaluated. - * - * @memberOf _.templateSettings - * @type {RegExp} - */ - 'evaluate': reEvaluate, - - /** - * Used to detect `data` property values to inject. - * - * @memberOf _.templateSettings - * @type {RegExp} - */ - 'interpolate': reInterpolate, - - /** - * Used to reference the data object in the template text. - * - * @memberOf _.templateSettings - * @type {string} - */ - 'variable': '', - - /** - * Used to import variables into the compiled template. - * - * @memberOf _.templateSettings - * @type {Object} - */ - 'imports': { - - /** - * A reference to the `lodash` function. - * - * @memberOf _.templateSettings.imports - * @type {Function} - */ - '_': lodash - } - }; - - // Ensure wrappers are instances of `baseLodash`. - lodash.prototype = baseLodash.prototype; - lodash.prototype.constructor = lodash; - - LodashWrapper.prototype = baseCreate(baseLodash.prototype); - LodashWrapper.prototype.constructor = LodashWrapper; - - /*------------------------------------------------------------------------*/ - - /** - * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation. - * - * @private - * @constructor - * @param {*} value The value to wrap. - */ - function LazyWrapper(value) { - this.__wrapped__ = value; - this.__actions__ = []; - this.__dir__ = 1; - this.__filtered__ = false; - this.__iteratees__ = []; - this.__takeCount__ = MAX_ARRAY_LENGTH; - this.__views__ = []; - } - - /** - * Creates a clone of the lazy wrapper object. - * - * @private - * @name clone - * @memberOf LazyWrapper - * @returns {Object} Returns the cloned `LazyWrapper` object. - */ - function lazyClone() { - var result = new LazyWrapper(this.__wrapped__); - result.__actions__ = copyArray(this.__actions__); - result.__dir__ = this.__dir__; - result.__filtered__ = this.__filtered__; - result.__iteratees__ = copyArray(this.__iteratees__); - result.__takeCount__ = this.__takeCount__; - result.__views__ = copyArray(this.__views__); - return result; - } - - /** - * Reverses the direction of lazy iteration. - * - * @private - * @name reverse - * @memberOf LazyWrapper - * @returns {Object} Returns the new reversed `LazyWrapper` object. - */ - function lazyReverse() { - if (this.__filtered__) { - var result = new LazyWrapper(this); - result.__dir__ = -1; - result.__filtered__ = true; - } else { - result = this.clone(); - result.__dir__ *= -1; - } - return result; - } - - /** - * Extracts the unwrapped value from its lazy wrapper. - * - * @private - * @name value - * @memberOf LazyWrapper - * @returns {*} Returns the unwrapped value. - */ - function lazyValue() { - var array = this.__wrapped__.value(), - dir = this.__dir__, - isArr = isArray(array), - isRight = dir < 0, - arrLength = isArr ? array.length : 0, - view = getView(0, arrLength, this.__views__), - start = view.start, - end = view.end, - length = end - start, - index = isRight ? end : (start - 1), - iteratees = this.__iteratees__, - iterLength = iteratees.length, - resIndex = 0, - takeCount = nativeMin(length, this.__takeCount__); - - if (!isArr || (!isRight && arrLength == length && takeCount == length)) { - return baseWrapperValue(array, this.__actions__); - } - var result = []; - - outer: - while (length-- && resIndex < takeCount) { - index += dir; - - var iterIndex = -1, - value = array[index]; - - while (++iterIndex < iterLength) { - var data = iteratees[iterIndex], - iteratee = data.iteratee, - type = data.type, - computed = iteratee(value); - - if (type == LAZY_MAP_FLAG) { - value = computed; - } else if (!computed) { - if (type == LAZY_FILTER_FLAG) { - continue outer; - } else { - break outer; - } - } - } - result[resIndex++] = value; - } - return result; - } - - // Ensure `LazyWrapper` is an instance of `baseLodash`. - LazyWrapper.prototype = baseCreate(baseLodash.prototype); - LazyWrapper.prototype.constructor = LazyWrapper; - - /*------------------------------------------------------------------------*/ - - /** - * Creates a hash object. - * - * @private - * @constructor - * @param {Array} [entries] The key-value pairs to cache. - */ - function Hash(entries) { - var index = -1, - length = entries == null ? 0 : entries.length; - - this.clear(); - while (++index < length) { - var entry = entries[index]; - this.set(entry[0], entry[1]); - } - } - - /** - * Removes all key-value entries from the hash. - * - * @private - * @name clear - * @memberOf Hash - */ - function hashClear() { - this.__data__ = nativeCreate ? nativeCreate(null) : {}; - this.size = 0; - } - - /** - * Removes `key` and its value from the hash. - * - * @private - * @name delete - * @memberOf Hash - * @param {Object} hash The hash to modify. - * @param {string} key The key of the value to remove. - * @returns {boolean} Returns `true` if the entry was removed, else `false`. - */ - function hashDelete(key) { - var result = this.has(key) && delete this.__data__[key]; - this.size -= result ? 1 : 0; - return result; - } - - /** - * Gets the hash value for `key`. - * - * @private - * @name get - * @memberOf Hash - * @param {string} key The key of the value to get. - * @returns {*} Returns the entry value. - */ - function hashGet(key) { - var data = this.__data__; - if (nativeCreate) { - var result = data[key]; - return result === HASH_UNDEFINED ? undefined : result; - } - return hasOwnProperty.call(data, key) ? data[key] : undefined; - } - - /** - * Checks if a hash value for `key` exists. - * - * @private - * @name has - * @memberOf Hash - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ - function hashHas(key) { - var data = this.__data__; - return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key); - } - - /** - * Sets the hash `key` to `value`. - * - * @private - * @name set - * @memberOf Hash - * @param {string} key The key of the value to set. - * @param {*} value The value to set. - * @returns {Object} Returns the hash instance. - */ - function hashSet(key, value) { - var data = this.__data__; - this.size += this.has(key) ? 0 : 1; - data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value; - return this; - } - - // Add methods to `Hash`. - Hash.prototype.clear = hashClear; - Hash.prototype['delete'] = hashDelete; - Hash.prototype.get = hashGet; - Hash.prototype.has = hashHas; - Hash.prototype.set = hashSet; - - /*------------------------------------------------------------------------*/ - - /** - * Creates an list cache object. - * - * @private - * @constructor - * @param {Array} [entries] The key-value pairs to cache. - */ - function ListCache(entries) { - var index = -1, - length = entries == null ? 0 : entries.length; - - this.clear(); - while (++index < length) { - var entry = entries[index]; - this.set(entry[0], entry[1]); - } - } - - /** - * Removes all key-value entries from the list cache. - * - * @private - * @name clear - * @memberOf ListCache - */ - function listCacheClear() { - this.__data__ = []; - this.size = 0; - } - - /** - * Removes `key` and its value from the list cache. - * - * @private - * @name delete - * @memberOf ListCache - * @param {string} key The key of the value to remove. - * @returns {boolean} Returns `true` if the entry was removed, else `false`. - */ - function listCacheDelete(key) { - var data = this.__data__, - index = assocIndexOf(data, key); - - if (index < 0) { - return false; - } - var lastIndex = data.length - 1; - if (index == lastIndex) { - data.pop(); - } else { - splice.call(data, index, 1); - } - --this.size; - return true; - } - - /** - * Gets the list cache value for `key`. - * - * @private - * @name get - * @memberOf ListCache - * @param {string} key The key of the value to get. - * @returns {*} Returns the entry value. - */ - function listCacheGet(key) { - var data = this.__data__, - index = assocIndexOf(data, key); - - return index < 0 ? undefined : data[index][1]; - } - - /** - * Checks if a list cache value for `key` exists. - * - * @private - * @name has - * @memberOf ListCache - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ - function listCacheHas(key) { - return assocIndexOf(this.__data__, key) > -1; - } - - /** - * Sets the list cache `key` to `value`. - * - * @private - * @name set - * @memberOf ListCache - * @param {string} key The key of the value to set. - * @param {*} value The value to set. - * @returns {Object} Returns the list cache instance. - */ - function listCacheSet(key, value) { - var data = this.__data__, - index = assocIndexOf(data, key); - - if (index < 0) { - ++this.size; - data.push([key, value]); - } else { - data[index][1] = value; - } - return this; - } - - // Add methods to `ListCache`. - ListCache.prototype.clear = listCacheClear; - ListCache.prototype['delete'] = listCacheDelete; - ListCache.prototype.get = listCacheGet; - ListCache.prototype.has = listCacheHas; - ListCache.prototype.set = listCacheSet; - - /*------------------------------------------------------------------------*/ - - /** - * Creates a map cache object to store key-value pairs. - * - * @private - * @constructor - * @param {Array} [entries] The key-value pairs to cache. - */ - function MapCache(entries) { - var index = -1, - length = entries == null ? 0 : entries.length; - - this.clear(); - while (++index < length) { - var entry = entries[index]; - this.set(entry[0], entry[1]); - } - } - - /** - * Removes all key-value entries from the map. - * - * @private - * @name clear - * @memberOf MapCache - */ - function mapCacheClear() { - this.size = 0; - this.__data__ = { - 'hash': new Hash, - 'map': new (Map || ListCache), - 'string': new Hash - }; - } - - /** - * Removes `key` and its value from the map. - * - * @private - * @name delete - * @memberOf MapCache - * @param {string} key The key of the value to remove. - * @returns {boolean} Returns `true` if the entry was removed, else `false`. - */ - function mapCacheDelete(key) { - var result = getMapData(this, key)['delete'](key); - this.size -= result ? 1 : 0; - return result; - } - - /** - * Gets the map value for `key`. - * - * @private - * @name get - * @memberOf MapCache - * @param {string} key The key of the value to get. - * @returns {*} Returns the entry value. - */ - function mapCacheGet(key) { - return getMapData(this, key).get(key); - } - - /** - * Checks if a map value for `key` exists. - * - * @private - * @name has - * @memberOf MapCache - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ - function mapCacheHas(key) { - return getMapData(this, key).has(key); - } - - /** - * Sets the map `key` to `value`. - * - * @private - * @name set - * @memberOf MapCache - * @param {string} key The key of the value to set. - * @param {*} value The value to set. - * @returns {Object} Returns the map cache instance. - */ - function mapCacheSet(key, value) { - var data = getMapData(this, key), - size = data.size; - - data.set(key, value); - this.size += data.size == size ? 0 : 1; - return this; - } - - // Add methods to `MapCache`. - MapCache.prototype.clear = mapCacheClear; - MapCache.prototype['delete'] = mapCacheDelete; - MapCache.prototype.get = mapCacheGet; - MapCache.prototype.has = mapCacheHas; - MapCache.prototype.set = mapCacheSet; - - /*------------------------------------------------------------------------*/ - - /** - * - * Creates an array cache object to store unique values. - * - * @private - * @constructor - * @param {Array} [values] The values to cache. - */ - function SetCache(values) { - var index = -1, - length = values == null ? 0 : values.length; - - this.__data__ = new MapCache; - while (++index < length) { - this.add(values[index]); - } - } - - /** - * Adds `value` to the array cache. - * - * @private - * @name add - * @memberOf SetCache - * @alias push - * @param {*} value The value to cache. - * @returns {Object} Returns the cache instance. - */ - function setCacheAdd(value) { - this.__data__.set(value, HASH_UNDEFINED); - return this; - } - - /** - * Checks if `value` is in the array cache. - * - * @private - * @name has - * @memberOf SetCache - * @param {*} value The value to search for. - * @returns {number} Returns `true` if `value` is found, else `false`. - */ - function setCacheHas(value) { - return this.__data__.has(value); - } - - // Add methods to `SetCache`. - SetCache.prototype.add = SetCache.prototype.push = setCacheAdd; - SetCache.prototype.has = setCacheHas; - - /*------------------------------------------------------------------------*/ - - /** - * Creates a stack cache object to store key-value pairs. - * - * @private - * @constructor - * @param {Array} [entries] The key-value pairs to cache. - */ - function Stack(entries) { - var data = this.__data__ = new ListCache(entries); - this.size = data.size; - } - - /** - * Removes all key-value entries from the stack. - * - * @private - * @name clear - * @memberOf Stack - */ - function stackClear() { - this.__data__ = new ListCache; - this.size = 0; - } - - /** - * Removes `key` and its value from the stack. - * - * @private - * @name delete - * @memberOf Stack - * @param {string} key The key of the value to remove. - * @returns {boolean} Returns `true` if the entry was removed, else `false`. - */ - function stackDelete(key) { - var data = this.__data__, - result = data['delete'](key); - - this.size = data.size; - return result; - } - - /** - * Gets the stack value for `key`. - * - * @private - * @name get - * @memberOf Stack - * @param {string} key The key of the value to get. - * @returns {*} Returns the entry value. - */ - function stackGet(key) { - return this.__data__.get(key); - } - - /** - * Checks if a stack value for `key` exists. - * - * @private - * @name has - * @memberOf Stack - * @param {string} key The key of the entry to check. - * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`. - */ - function stackHas(key) { - return this.__data__.has(key); - } - - /** - * Sets the stack `key` to `value`. - * - * @private - * @name set - * @memberOf Stack - * @param {string} key The key of the value to set. - * @param {*} value The value to set. - * @returns {Object} Returns the stack cache instance. - */ - function stackSet(key, value) { - var data = this.__data__; - if (data instanceof ListCache) { - var pairs = data.__data__; - if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) { - pairs.push([key, value]); - this.size = ++data.size; - return this; - } - data = this.__data__ = new MapCache(pairs); - } - data.set(key, value); - this.size = data.size; - return this; - } - - // Add methods to `Stack`. - Stack.prototype.clear = stackClear; - Stack.prototype['delete'] = stackDelete; - Stack.prototype.get = stackGet; - Stack.prototype.has = stackHas; - Stack.prototype.set = stackSet; - - /*------------------------------------------------------------------------*/ - - /** - * Creates an array of the enumerable property names of the array-like `value`. - * - * @private - * @param {*} value The value to query. - * @param {boolean} inherited Specify returning inherited property names. - * @returns {Array} Returns the array of property names. - */ - function arrayLikeKeys(value, inherited) { - var isArr = isArray(value), - isArg = !isArr && isArguments(value), - isBuff = !isArr && !isArg && isBuffer(value), - isType = !isArr && !isArg && !isBuff && isTypedArray(value), - skipIndexes = isArr || isArg || isBuff || isType, - result = skipIndexes ? baseTimes(value.length, String) : [], - length = result.length; - - for (var key in value) { - if ((inherited || hasOwnProperty.call(value, key)) && - !(skipIndexes && ( - // Safari 9 has enumerable `arguments.length` in strict mode. - key == 'length' || - // Node.js 0.10 has enumerable non-index properties on buffers. - (isBuff && (key == 'offset' || key == 'parent')) || - // PhantomJS 2 has enumerable non-index properties on typed arrays. - (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) || - // Skip index properties. - isIndex(key, length) - ))) { - result.push(key); - } - } - return result; - } - - /** - * A specialized version of `_.sample` for arrays. - * - * @private - * @param {Array} array The array to sample. - * @returns {*} Returns the random element. - */ - function arraySample(array) { - var length = array.length; - return length ? array[baseRandom(0, length - 1)] : undefined; - } - - /** - * A specialized version of `_.sampleSize` for arrays. - * - * @private - * @param {Array} array The array to sample. - * @param {number} n The number of elements to sample. - * @returns {Array} Returns the random elements. - */ - function arraySampleSize(array, n) { - return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length)); - } - - /** - * A specialized version of `_.shuffle` for arrays. - * - * @private - * @param {Array} array The array to shuffle. - * @returns {Array} Returns the new shuffled array. - */ - function arrayShuffle(array) { - return shuffleSelf(copyArray(array)); - } - - /** - * This function is like `assignValue` except that it doesn't assign - * `undefined` values. - * - * @private - * @param {Object} object The object to modify. - * @param {string} key The key of the property to assign. - * @param {*} value The value to assign. - */ - function assignMergeValue(object, key, value) { - if ((value !== undefined && !eq(object[key], value)) || - (value === undefined && !(key in object))) { - baseAssignValue(object, key, value); - } - } - - /** - * Assigns `value` to `key` of `object` if the existing value is not equivalent - * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. - * - * @private - * @param {Object} object The object to modify. - * @param {string} key The key of the property to assign. - * @param {*} value The value to assign. - */ - function assignValue(object, key, value) { - var objValue = object[key]; - if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) || - (value === undefined && !(key in object))) { - baseAssignValue(object, key, value); - } - } - - /** - * Gets the index at which the `key` is found in `array` of key-value pairs. - * - * @private - * @param {Array} array The array to inspect. - * @param {*} key The key to search for. - * @returns {number} Returns the index of the matched value, else `-1`. - */ - function assocIndexOf(array, key) { - var length = array.length; - while (length--) { - if (eq(array[length][0], key)) { - return length; - } - } - return -1; - } - - /** - * Aggregates elements of `collection` on `accumulator` with keys transformed - * by `iteratee` and values set by `setter`. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} setter The function to set `accumulator` values. - * @param {Function} iteratee The iteratee to transform keys. - * @param {Object} accumulator The initial aggregated object. - * @returns {Function} Returns `accumulator`. - */ - function baseAggregator(collection, setter, iteratee, accumulator) { - baseEach(collection, function(value, key, collection) { - setter(accumulator, value, iteratee(value), collection); - }); - return accumulator; - } - - /** - * The base implementation of `_.assign` without support for multiple sources - * or `customizer` functions. - * - * @private - * @param {Object} object The destination object. - * @param {Object} source The source object. - * @returns {Object} Returns `object`. - */ - function baseAssign(object, source) { - return object && copyObject(source, keys(source), object); - } - - /** - * The base implementation of `_.assignIn` without support for multiple sources - * or `customizer` functions. - * - * @private - * @param {Object} object The destination object. - * @param {Object} source The source object. - * @returns {Object} Returns `object`. - */ - function baseAssignIn(object, source) { - return object && copyObject(source, keysIn(source), object); - } - - /** - * The base implementation of `assignValue` and `assignMergeValue` without - * value checks. - * - * @private - * @param {Object} object The object to modify. - * @param {string} key The key of the property to assign. - * @param {*} value The value to assign. - */ - function baseAssignValue(object, key, value) { - if (key == '__proto__' && defineProperty) { - defineProperty(object, key, { - 'configurable': true, - 'enumerable': true, - 'value': value, - 'writable': true - }); - } else { - object[key] = value; - } - } - - /** - * The base implementation of `_.at` without support for individual paths. - * - * @private - * @param {Object} object The object to iterate over. - * @param {string[]} paths The property paths to pick. - * @returns {Array} Returns the picked elements. - */ - function baseAt(object, paths) { - var index = -1, - length = paths.length, - result = Array(length), - skip = object == null; - - while (++index < length) { - result[index] = skip ? undefined : get(object, paths[index]); - } - return result; - } - - /** - * The base implementation of `_.clamp` which doesn't coerce arguments. - * - * @private - * @param {number} number The number to clamp. - * @param {number} [lower] The lower bound. - * @param {number} upper The upper bound. - * @returns {number} Returns the clamped number. - */ - function baseClamp(number, lower, upper) { - if (number === number) { - if (upper !== undefined) { - number = number <= upper ? number : upper; - } - if (lower !== undefined) { - number = number >= lower ? number : lower; - } - } - return number; - } - - /** - * The base implementation of `_.clone` and `_.cloneDeep` which tracks - * traversed objects. - * - * @private - * @param {*} value The value to clone. - * @param {boolean} bitmask The bitmask flags. - * 1 - Deep clone - * 2 - Flatten inherited properties - * 4 - Clone symbols - * @param {Function} [customizer] The function to customize cloning. - * @param {string} [key] The key of `value`. - * @param {Object} [object] The parent object of `value`. - * @param {Object} [stack] Tracks traversed objects and their clone counterparts. - * @returns {*} Returns the cloned value. - */ - function baseClone(value, bitmask, customizer, key, object, stack) { - var result, - isDeep = bitmask & CLONE_DEEP_FLAG, - isFlat = bitmask & CLONE_FLAT_FLAG, - isFull = bitmask & CLONE_SYMBOLS_FLAG; - - if (customizer) { - result = object ? customizer(value, key, object, stack) : customizer(value); - } - if (result !== undefined) { - return result; - } - if (!isObject(value)) { - return value; - } - var isArr = isArray(value); - if (isArr) { - result = initCloneArray(value); - if (!isDeep) { - return copyArray(value, result); - } - } else { - var tag = getTag(value), - isFunc = tag == funcTag || tag == genTag; - - if (isBuffer(value)) { - return cloneBuffer(value, isDeep); - } - if (tag == objectTag || tag == argsTag || (isFunc && !object)) { - result = (isFlat || isFunc) ? {} : initCloneObject(value); - if (!isDeep) { - return isFlat - ? copySymbolsIn(value, baseAssignIn(result, value)) - : copySymbols(value, baseAssign(result, value)); - } - } else { - if (!cloneableTags[tag]) { - return object ? value : {}; - } - result = initCloneByTag(value, tag, isDeep); - } - } - // Check for circular references and return its corresponding clone. - stack || (stack = new Stack); - var stacked = stack.get(value); - if (stacked) { - return stacked; - } - stack.set(value, result); - - if (isSet(value)) { - value.forEach(function(subValue) { - result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack)); - }); - } else if (isMap(value)) { - value.forEach(function(subValue, key) { - result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack)); - }); - } - - var keysFunc = isFull - ? (isFlat ? getAllKeysIn : getAllKeys) - : (isFlat ? keysIn : keys); - - var props = isArr ? undefined : keysFunc(value); - arrayEach(props || value, function(subValue, key) { - if (props) { - key = subValue; - subValue = value[key]; - } - // Recursively populate clone (susceptible to call stack limits). - assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack)); - }); - return result; - } - - /** - * The base implementation of `_.conforms` which doesn't clone `source`. - * - * @private - * @param {Object} source The object of property predicates to conform to. - * @returns {Function} Returns the new spec function. - */ - function baseConforms(source) { - var props = keys(source); - return function(object) { - return baseConformsTo(object, source, props); - }; - } - - /** - * The base implementation of `_.conformsTo` which accepts `props` to check. - * - * @private - * @param {Object} object The object to inspect. - * @param {Object} source The object of property predicates to conform to. - * @returns {boolean} Returns `true` if `object` conforms, else `false`. - */ - function baseConformsTo(object, source, props) { - var length = props.length; - if (object == null) { - return !length; - } - object = Object(object); - while (length--) { - var key = props[length], - predicate = source[key], - value = object[key]; - - if ((value === undefined && !(key in object)) || !predicate(value)) { - return false; - } - } - return true; - } - - /** - * The base implementation of `_.delay` and `_.defer` which accepts `args` - * to provide to `func`. - * - * @private - * @param {Function} func The function to delay. - * @param {number} wait The number of milliseconds to delay invocation. - * @param {Array} args The arguments to provide to `func`. - * @returns {number|Object} Returns the timer id or timeout object. - */ - function baseDelay(func, wait, args) { - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - return setTimeout(function() { func.apply(undefined, args); }, wait); - } - - /** - * The base implementation of methods like `_.difference` without support - * for excluding multiple arrays or iteratee shorthands. - * - * @private - * @param {Array} array The array to inspect. - * @param {Array} values The values to exclude. - * @param {Function} [iteratee] The iteratee invoked per element. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new array of filtered values. - */ - function baseDifference(array, values, iteratee, comparator) { - var index = -1, - includes = arrayIncludes, - isCommon = true, - length = array.length, - result = [], - valuesLength = values.length; - - if (!length) { - return result; - } - if (iteratee) { - values = arrayMap(values, baseUnary(iteratee)); - } - if (comparator) { - includes = arrayIncludesWith; - isCommon = false; - } - else if (values.length >= LARGE_ARRAY_SIZE) { - includes = cacheHas; - isCommon = false; - values = new SetCache(values); - } - outer: - while (++index < length) { - var value = array[index], - computed = iteratee == null ? value : iteratee(value); - - value = (comparator || value !== 0) ? value : 0; - if (isCommon && computed === computed) { - var valuesIndex = valuesLength; - while (valuesIndex--) { - if (values[valuesIndex] === computed) { - continue outer; - } - } - result.push(value); - } - else if (!includes(values, computed, comparator)) { - result.push(value); - } - } - return result; - } - - /** - * The base implementation of `_.forEach` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array|Object} Returns `collection`. - */ - var baseEach = createBaseEach(baseForOwn); - - /** - * The base implementation of `_.forEachRight` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array|Object} Returns `collection`. - */ - var baseEachRight = createBaseEach(baseForOwnRight, true); - - /** - * The base implementation of `_.every` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {boolean} Returns `true` if all elements pass the predicate check, - * else `false` - */ - function baseEvery(collection, predicate) { - var result = true; - baseEach(collection, function(value, index, collection) { - result = !!predicate(value, index, collection); - return result; - }); - return result; - } - - /** - * The base implementation of methods like `_.max` and `_.min` which accepts a - * `comparator` to determine the extremum value. - * - * @private - * @param {Array} array The array to iterate over. - * @param {Function} iteratee The iteratee invoked per iteration. - * @param {Function} comparator The comparator used to compare values. - * @returns {*} Returns the extremum value. - */ - function baseExtremum(array, iteratee, comparator) { - var index = -1, - length = array.length; - - while (++index < length) { - var value = array[index], - current = iteratee(value); - - if (current != null && (computed === undefined - ? (current === current && !isSymbol(current)) - : comparator(current, computed) - )) { - var computed = current, - result = value; - } - } - return result; - } - - /** - * The base implementation of `_.fill` without an iteratee call guard. - * - * @private - * @param {Array} array The array to fill. - * @param {*} value The value to fill `array` with. - * @param {number} [start=0] The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns `array`. - */ - function baseFill(array, value, start, end) { - var length = array.length; - - start = toInteger(start); - if (start < 0) { - start = -start > length ? 0 : (length + start); - } - end = (end === undefined || end > length) ? length : toInteger(end); - if (end < 0) { - end += length; - } - end = start > end ? 0 : toLength(end); - while (start < end) { - array[start++] = value; - } - return array; - } - - /** - * The base implementation of `_.filter` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {Array} Returns the new filtered array. - */ - function baseFilter(collection, predicate) { - var result = []; - baseEach(collection, function(value, index, collection) { - if (predicate(value, index, collection)) { - result.push(value); - } - }); - return result; - } - - /** - * The base implementation of `_.flatten` with support for restricting flattening. - * - * @private - * @param {Array} array The array to flatten. - * @param {number} depth The maximum recursion depth. - * @param {boolean} [predicate=isFlattenable] The function invoked per iteration. - * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks. - * @param {Array} [result=[]] The initial result value. - * @returns {Array} Returns the new flattened array. - */ - function baseFlatten(array, depth, predicate, isStrict, result) { - var index = -1, - length = array.length; - - predicate || (predicate = isFlattenable); - result || (result = []); - - while (++index < length) { - var value = array[index]; - if (depth > 0 && predicate(value)) { - if (depth > 1) { - // Recursively flatten arrays (susceptible to call stack limits). - baseFlatten(value, depth - 1, predicate, isStrict, result); - } else { - arrayPush(result, value); - } - } else if (!isStrict) { - result[result.length] = value; - } - } - return result; - } - - /** - * The base implementation of `baseForOwn` which iterates over `object` - * properties returned by `keysFunc` and invokes `iteratee` for each property. - * Iteratee functions may exit iteration early by explicitly returning `false`. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {Function} keysFunc The function to get the keys of `object`. - * @returns {Object} Returns `object`. - */ - var baseFor = createBaseFor(); - - /** - * This function is like `baseFor` except that it iterates over properties - * in the opposite order. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @param {Function} keysFunc The function to get the keys of `object`. - * @returns {Object} Returns `object`. - */ - var baseForRight = createBaseFor(true); - - /** - * The base implementation of `_.forOwn` without support for iteratee shorthands. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Object} Returns `object`. - */ - function baseForOwn(object, iteratee) { - return object && baseFor(object, iteratee, keys); - } - - /** - * The base implementation of `_.forOwnRight` without support for iteratee shorthands. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Object} Returns `object`. - */ - function baseForOwnRight(object, iteratee) { - return object && baseForRight(object, iteratee, keys); - } - - /** - * The base implementation of `_.functions` which creates an array of - * `object` function property names filtered from `props`. - * - * @private - * @param {Object} object The object to inspect. - * @param {Array} props The property names to filter. - * @returns {Array} Returns the function names. - */ - function baseFunctions(object, props) { - return arrayFilter(props, function(key) { - return isFunction(object[key]); - }); - } - - /** - * The base implementation of `_.get` without support for default values. - * - * @private - * @param {Object} object The object to query. - * @param {Array|string} path The path of the property to get. - * @returns {*} Returns the resolved value. - */ - function baseGet(object, path) { - path = castPath(path, object); - - var index = 0, - length = path.length; - - while (object != null && index < length) { - object = object[toKey(path[index++])]; - } - return (index && index == length) ? object : undefined; - } - - /** - * The base implementation of `getAllKeys` and `getAllKeysIn` which uses - * `keysFunc` and `symbolsFunc` to get the enumerable property names and - * symbols of `object`. - * - * @private - * @param {Object} object The object to query. - * @param {Function} keysFunc The function to get the keys of `object`. - * @param {Function} symbolsFunc The function to get the symbols of `object`. - * @returns {Array} Returns the array of property names and symbols. - */ - function baseGetAllKeys(object, keysFunc, symbolsFunc) { - var result = keysFunc(object); - return isArray(object) ? result : arrayPush(result, symbolsFunc(object)); - } - - /** - * The base implementation of `getTag` without fallbacks for buggy environments. - * - * @private - * @param {*} value The value to query. - * @returns {string} Returns the `toStringTag`. - */ - function baseGetTag(value) { - if (value == null) { - return value === undefined ? undefinedTag : nullTag; - } - return (symToStringTag && symToStringTag in Object(value)) - ? getRawTag(value) - : objectToString(value); - } - - /** - * The base implementation of `_.gt` which doesn't coerce arguments. - * - * @private - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if `value` is greater than `other`, - * else `false`. - */ - function baseGt(value, other) { - return value > other; - } - - /** - * The base implementation of `_.has` without support for deep paths. - * - * @private - * @param {Object} [object] The object to query. - * @param {Array|string} key The key to check. - * @returns {boolean} Returns `true` if `key` exists, else `false`. - */ - function baseHas(object, key) { - return object != null && hasOwnProperty.call(object, key); - } - - /** - * The base implementation of `_.hasIn` without support for deep paths. - * - * @private - * @param {Object} [object] The object to query. - * @param {Array|string} key The key to check. - * @returns {boolean} Returns `true` if `key` exists, else `false`. - */ - function baseHasIn(object, key) { - return object != null && key in Object(object); - } - - /** - * The base implementation of `_.inRange` which doesn't coerce arguments. - * - * @private - * @param {number} number The number to check. - * @param {number} start The start of the range. - * @param {number} end The end of the range. - * @returns {boolean} Returns `true` if `number` is in the range, else `false`. - */ - function baseInRange(number, start, end) { - return number >= nativeMin(start, end) && number < nativeMax(start, end); - } - - /** - * The base implementation of methods like `_.intersection`, without support - * for iteratee shorthands, that accepts an array of arrays to inspect. - * - * @private - * @param {Array} arrays The arrays to inspect. - * @param {Function} [iteratee] The iteratee invoked per element. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new array of shared values. - */ - function baseIntersection(arrays, iteratee, comparator) { - var includes = comparator ? arrayIncludesWith : arrayIncludes, - length = arrays[0].length, - othLength = arrays.length, - othIndex = othLength, - caches = Array(othLength), - maxLength = Infinity, - result = []; - - while (othIndex--) { - var array = arrays[othIndex]; - if (othIndex && iteratee) { - array = arrayMap(array, baseUnary(iteratee)); - } - maxLength = nativeMin(array.length, maxLength); - caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120)) - ? new SetCache(othIndex && array) - : undefined; - } - array = arrays[0]; - - var index = -1, - seen = caches[0]; - - outer: - while (++index < length && result.length < maxLength) { - var value = array[index], - computed = iteratee ? iteratee(value) : value; - - value = (comparator || value !== 0) ? value : 0; - if (!(seen - ? cacheHas(seen, computed) - : includes(result, computed, comparator) - )) { - othIndex = othLength; - while (--othIndex) { - var cache = caches[othIndex]; - if (!(cache - ? cacheHas(cache, computed) - : includes(arrays[othIndex], computed, comparator)) - ) { - continue outer; - } - } - if (seen) { - seen.push(computed); - } - result.push(value); - } - } - return result; - } - - /** - * The base implementation of `_.invert` and `_.invertBy` which inverts - * `object` with values transformed by `iteratee` and set by `setter`. - * - * @private - * @param {Object} object The object to iterate over. - * @param {Function} setter The function to set `accumulator` values. - * @param {Function} iteratee The iteratee to transform values. - * @param {Object} accumulator The initial inverted object. - * @returns {Function} Returns `accumulator`. - */ - function baseInverter(object, setter, iteratee, accumulator) { - baseForOwn(object, function(value, key, object) { - setter(accumulator, iteratee(value), key, object); - }); - return accumulator; - } - - /** - * The base implementation of `_.invoke` without support for individual - * method arguments. - * - * @private - * @param {Object} object The object to query. - * @param {Array|string} path The path of the method to invoke. - * @param {Array} args The arguments to invoke the method with. - * @returns {*} Returns the result of the invoked method. - */ - function baseInvoke(object, path, args) { - path = castPath(path, object); - object = parent(object, path); - var func = object == null ? object : object[toKey(last(path))]; - return func == null ? undefined : apply(func, object, args); - } - - /** - * The base implementation of `_.isArguments`. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an `arguments` object, - */ - function baseIsArguments(value) { - return isObjectLike(value) && baseGetTag(value) == argsTag; - } - - /** - * The base implementation of `_.isArrayBuffer` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`. - */ - function baseIsArrayBuffer(value) { - return isObjectLike(value) && baseGetTag(value) == arrayBufferTag; - } - - /** - * The base implementation of `_.isDate` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a date object, else `false`. - */ - function baseIsDate(value) { - return isObjectLike(value) && baseGetTag(value) == dateTag; - } - - /** - * The base implementation of `_.isEqual` which supports partial comparisons - * and tracks traversed objects. - * - * @private - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @param {boolean} bitmask The bitmask flags. - * 1 - Unordered comparison - * 2 - Partial comparison - * @param {Function} [customizer] The function to customize comparisons. - * @param {Object} [stack] Tracks traversed `value` and `other` objects. - * @returns {boolean} Returns `true` if the values are equivalent, else `false`. - */ - function baseIsEqual(value, other, bitmask, customizer, stack) { - if (value === other) { - return true; - } - if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) { - return value !== value && other !== other; - } - return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack); - } - - /** - * A specialized version of `baseIsEqual` for arrays and objects which performs - * deep comparisons and tracks traversed objects enabling objects with circular - * references to be compared. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Object} [stack] Tracks traversed `object` and `other` objects. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */ - function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) { - var objIsArr = isArray(object), - othIsArr = isArray(other), - objTag = objIsArr ? arrayTag : getTag(object), - othTag = othIsArr ? arrayTag : getTag(other); - - objTag = objTag == argsTag ? objectTag : objTag; - othTag = othTag == argsTag ? objectTag : othTag; - - var objIsObj = objTag == objectTag, - othIsObj = othTag == objectTag, - isSameTag = objTag == othTag; - - if (isSameTag && isBuffer(object)) { - if (!isBuffer(other)) { - return false; - } - objIsArr = true; - objIsObj = false; - } - if (isSameTag && !objIsObj) { - stack || (stack = new Stack); - return (objIsArr || isTypedArray(object)) - ? equalArrays(object, other, bitmask, customizer, equalFunc, stack) - : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack); - } - if (!(bitmask & COMPARE_PARTIAL_FLAG)) { - var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'), - othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__'); - - if (objIsWrapped || othIsWrapped) { - var objUnwrapped = objIsWrapped ? object.value() : object, - othUnwrapped = othIsWrapped ? other.value() : other; - - stack || (stack = new Stack); - return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack); - } - } - if (!isSameTag) { - return false; - } - stack || (stack = new Stack); - return equalObjects(object, other, bitmask, customizer, equalFunc, stack); - } - - /** - * The base implementation of `_.isMap` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a map, else `false`. - */ - function baseIsMap(value) { - return isObjectLike(value) && getTag(value) == mapTag; - } - - /** - * The base implementation of `_.isMatch` without support for iteratee shorthands. - * - * @private - * @param {Object} object The object to inspect. - * @param {Object} source The object of property values to match. - * @param {Array} matchData The property names, values, and compare flags to match. - * @param {Function} [customizer] The function to customize comparisons. - * @returns {boolean} Returns `true` if `object` is a match, else `false`. - */ - function baseIsMatch(object, source, matchData, customizer) { - var index = matchData.length, - length = index, - noCustomizer = !customizer; - - if (object == null) { - return !length; - } - object = Object(object); - while (index--) { - var data = matchData[index]; - if ((noCustomizer && data[2]) - ? data[1] !== object[data[0]] - : !(data[0] in object) - ) { - return false; - } - } - while (++index < length) { - data = matchData[index]; - var key = data[0], - objValue = object[key], - srcValue = data[1]; - - if (noCustomizer && data[2]) { - if (objValue === undefined && !(key in object)) { - return false; - } - } else { - var stack = new Stack; - if (customizer) { - var result = customizer(objValue, srcValue, key, object, source, stack); - } - if (!(result === undefined - ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack) - : result - )) { - return false; - } - } - } - return true; - } - - /** - * The base implementation of `_.isNative` without bad shim checks. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a native function, - * else `false`. - */ - function baseIsNative(value) { - if (!isObject(value) || isMasked(value)) { - return false; - } - var pattern = isFunction(value) ? reIsNative : reIsHostCtor; - return pattern.test(toSource(value)); - } - - /** - * The base implementation of `_.isRegExp` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a regexp, else `false`. - */ - function baseIsRegExp(value) { - return isObjectLike(value) && baseGetTag(value) == regexpTag; - } - - /** - * The base implementation of `_.isSet` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a set, else `false`. - */ - function baseIsSet(value) { - return isObjectLike(value) && getTag(value) == setTag; - } - - /** - * The base implementation of `_.isTypedArray` without Node.js optimizations. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. - */ - function baseIsTypedArray(value) { - return isObjectLike(value) && - isLength(value.length) && !!typedArrayTags[baseGetTag(value)]; - } - - /** - * The base implementation of `_.iteratee`. - * - * @private - * @param {*} [value=_.identity] The value to convert to an iteratee. - * @returns {Function} Returns the iteratee. - */ - function baseIteratee(value) { - // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9. - // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details. - if (typeof value == 'function') { - return value; - } - if (value == null) { - return identity; - } - if (typeof value == 'object') { - return isArray(value) - ? baseMatchesProperty(value[0], value[1]) - : baseMatches(value); - } - return property(value); - } - - /** - * The base implementation of `_.keys` which doesn't treat sparse arrays as dense. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - */ - function baseKeys(object) { - if (!isPrototype(object)) { - return nativeKeys(object); - } - var result = []; - for (var key in Object(object)) { - if (hasOwnProperty.call(object, key) && key != 'constructor') { - result.push(key); - } - } - return result; - } - - /** - * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - */ - function baseKeysIn(object) { - if (!isObject(object)) { - return nativeKeysIn(object); - } - var isProto = isPrototype(object), - result = []; - - for (var key in object) { - if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) { - result.push(key); - } - } - return result; - } - - /** - * The base implementation of `_.lt` which doesn't coerce arguments. - * - * @private - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if `value` is less than `other`, - * else `false`. - */ - function baseLt(value, other) { - return value < other; - } - - /** - * The base implementation of `_.map` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} iteratee The function invoked per iteration. - * @returns {Array} Returns the new mapped array. - */ - function baseMap(collection, iteratee) { - var index = -1, - result = isArrayLike(collection) ? Array(collection.length) : []; - - baseEach(collection, function(value, key, collection) { - result[++index] = iteratee(value, key, collection); - }); - return result; - } - - /** - * The base implementation of `_.matches` which doesn't clone `source`. - * - * @private - * @param {Object} source The object of property values to match. - * @returns {Function} Returns the new spec function. - */ - function baseMatches(source) { - var matchData = getMatchData(source); - if (matchData.length == 1 && matchData[0][2]) { - return matchesStrictComparable(matchData[0][0], matchData[0][1]); - } - return function(object) { - return object === source || baseIsMatch(object, source, matchData); - }; - } - - /** - * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`. - * - * @private - * @param {string} path The path of the property to get. - * @param {*} srcValue The value to match. - * @returns {Function} Returns the new spec function. - */ - function baseMatchesProperty(path, srcValue) { - if (isKey(path) && isStrictComparable(srcValue)) { - return matchesStrictComparable(toKey(path), srcValue); - } - return function(object) { - var objValue = get(object, path); - return (objValue === undefined && objValue === srcValue) - ? hasIn(object, path) - : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG); - }; - } - - /** - * The base implementation of `_.merge` without support for multiple sources. - * - * @private - * @param {Object} object The destination object. - * @param {Object} source The source object. - * @param {number} srcIndex The index of `source`. - * @param {Function} [customizer] The function to customize merged values. - * @param {Object} [stack] Tracks traversed source values and their merged - * counterparts. - */ - function baseMerge(object, source, srcIndex, customizer, stack) { - if (object === source) { - return; - } - baseFor(source, function(srcValue, key) { - stack || (stack = new Stack); - if (isObject(srcValue)) { - baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack); - } - else { - var newValue = customizer - ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack) - : undefined; - - if (newValue === undefined) { - newValue = srcValue; - } - assignMergeValue(object, key, newValue); - } - }, keysIn); - } - - /** - * A specialized version of `baseMerge` for arrays and objects which performs - * deep merges and tracks traversed objects enabling objects with circular - * references to be merged. - * - * @private - * @param {Object} object The destination object. - * @param {Object} source The source object. - * @param {string} key The key of the value to merge. - * @param {number} srcIndex The index of `source`. - * @param {Function} mergeFunc The function to merge values. - * @param {Function} [customizer] The function to customize assigned values. - * @param {Object} [stack] Tracks traversed source values and their merged - * counterparts. - */ - function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) { - var objValue = safeGet(object, key), - srcValue = safeGet(source, key), - stacked = stack.get(srcValue); - - if (stacked) { - assignMergeValue(object, key, stacked); - return; - } - var newValue = customizer - ? customizer(objValue, srcValue, (key + ''), object, source, stack) - : undefined; - - var isCommon = newValue === undefined; - - if (isCommon) { - var isArr = isArray(srcValue), - isBuff = !isArr && isBuffer(srcValue), - isTyped = !isArr && !isBuff && isTypedArray(srcValue); - - newValue = srcValue; - if (isArr || isBuff || isTyped) { - if (isArray(objValue)) { - newValue = objValue; - } - else if (isArrayLikeObject(objValue)) { - newValue = copyArray(objValue); - } - else if (isBuff) { - isCommon = false; - newValue = cloneBuffer(srcValue, true); - } - else if (isTyped) { - isCommon = false; - newValue = cloneTypedArray(srcValue, true); - } - else { - newValue = []; - } - } - else if (isPlainObject(srcValue) || isArguments(srcValue)) { - newValue = objValue; - if (isArguments(objValue)) { - newValue = toPlainObject(objValue); - } - else if (!isObject(objValue) || isFunction(objValue)) { - newValue = initCloneObject(srcValue); - } - } - else { - isCommon = false; - } - } - if (isCommon) { - // Recursively merge objects and arrays (susceptible to call stack limits). - stack.set(srcValue, newValue); - mergeFunc(newValue, srcValue, srcIndex, customizer, stack); - stack['delete'](srcValue); - } - assignMergeValue(object, key, newValue); - } - - /** - * The base implementation of `_.nth` which doesn't coerce arguments. - * - * @private - * @param {Array} array The array to query. - * @param {number} n The index of the element to return. - * @returns {*} Returns the nth element of `array`. - */ - function baseNth(array, n) { - var length = array.length; - if (!length) { - return; - } - n += n < 0 ? length : 0; - return isIndex(n, length) ? array[n] : undefined; - } - - /** - * The base implementation of `_.orderBy` without param guards. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by. - * @param {string[]} orders The sort orders of `iteratees`. - * @returns {Array} Returns the new sorted array. - */ - function baseOrderBy(collection, iteratees, orders) { - if (iteratees.length) { - iteratees = arrayMap(iteratees, function(iteratee) { - if (isArray(iteratee)) { - return function(value) { - return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee); - } - } - return iteratee; - }); - } else { - iteratees = [identity]; - } - - var index = -1; - iteratees = arrayMap(iteratees, baseUnary(getIteratee())); - - var result = baseMap(collection, function(value, key, collection) { - var criteria = arrayMap(iteratees, function(iteratee) { - return iteratee(value); - }); - return { 'criteria': criteria, 'index': ++index, 'value': value }; - }); - - return baseSortBy(result, function(object, other) { - return compareMultiple(object, other, orders); - }); - } - - /** - * The base implementation of `_.pick` without support for individual - * property identifiers. - * - * @private - * @param {Object} object The source object. - * @param {string[]} paths The property paths to pick. - * @returns {Object} Returns the new object. - */ - function basePick(object, paths) { - return basePickBy(object, paths, function(value, path) { - return hasIn(object, path); - }); - } - - /** - * The base implementation of `_.pickBy` without support for iteratee shorthands. - * - * @private - * @param {Object} object The source object. - * @param {string[]} paths The property paths to pick. - * @param {Function} predicate The function invoked per property. - * @returns {Object} Returns the new object. - */ - function basePickBy(object, paths, predicate) { - var index = -1, - length = paths.length, - result = {}; - - while (++index < length) { - var path = paths[index], - value = baseGet(object, path); - - if (predicate(value, path)) { - baseSet(result, castPath(path, object), value); - } - } - return result; - } - - /** - * A specialized version of `baseProperty` which supports deep paths. - * - * @private - * @param {Array|string} path The path of the property to get. - * @returns {Function} Returns the new accessor function. - */ - function basePropertyDeep(path) { - return function(object) { - return baseGet(object, path); - }; - } - - /** - * The base implementation of `_.pullAllBy` without support for iteratee - * shorthands. - * - * @private - * @param {Array} array The array to modify. - * @param {Array} values The values to remove. - * @param {Function} [iteratee] The iteratee invoked per element. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns `array`. - */ - function basePullAll(array, values, iteratee, comparator) { - var indexOf = comparator ? baseIndexOfWith : baseIndexOf, - index = -1, - length = values.length, - seen = array; - - if (array === values) { - values = copyArray(values); - } - if (iteratee) { - seen = arrayMap(array, baseUnary(iteratee)); - } - while (++index < length) { - var fromIndex = 0, - value = values[index], - computed = iteratee ? iteratee(value) : value; - - while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) { - if (seen !== array) { - splice.call(seen, fromIndex, 1); - } - splice.call(array, fromIndex, 1); - } - } - return array; - } - - /** - * The base implementation of `_.pullAt` without support for individual - * indexes or capturing the removed elements. - * - * @private - * @param {Array} array The array to modify. - * @param {number[]} indexes The indexes of elements to remove. - * @returns {Array} Returns `array`. - */ - function basePullAt(array, indexes) { - var length = array ? indexes.length : 0, - lastIndex = length - 1; - - while (length--) { - var index = indexes[length]; - if (length == lastIndex || index !== previous) { - var previous = index; - if (isIndex(index)) { - splice.call(array, index, 1); - } else { - baseUnset(array, index); - } - } - } - return array; - } - - /** - * The base implementation of `_.random` without support for returning - * floating-point numbers. - * - * @private - * @param {number} lower The lower bound. - * @param {number} upper The upper bound. - * @returns {number} Returns the random number. - */ - function baseRandom(lower, upper) { - return lower + nativeFloor(nativeRandom() * (upper - lower + 1)); - } - - /** - * The base implementation of `_.range` and `_.rangeRight` which doesn't - * coerce arguments. - * - * @private - * @param {number} start The start of the range. - * @param {number} end The end of the range. - * @param {number} step The value to increment or decrement by. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Array} Returns the range of numbers. - */ - function baseRange(start, end, step, fromRight) { - var index = -1, - length = nativeMax(nativeCeil((end - start) / (step || 1)), 0), - result = Array(length); - - while (length--) { - result[fromRight ? length : ++index] = start; - start += step; - } - return result; - } - - /** - * The base implementation of `_.repeat` which doesn't coerce arguments. - * - * @private - * @param {string} string The string to repeat. - * @param {number} n The number of times to repeat the string. - * @returns {string} Returns the repeated string. - */ - function baseRepeat(string, n) { - var result = ''; - if (!string || n < 1 || n > MAX_SAFE_INTEGER) { - return result; - } - // Leverage the exponentiation by squaring algorithm for a faster repeat. - // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details. - do { - if (n % 2) { - result += string; - } - n = nativeFloor(n / 2); - if (n) { - string += string; - } - } while (n); - - return result; - } - - /** - * The base implementation of `_.rest` which doesn't validate or coerce arguments. - * - * @private - * @param {Function} func The function to apply a rest parameter to. - * @param {number} [start=func.length-1] The start position of the rest parameter. - * @returns {Function} Returns the new function. - */ - function baseRest(func, start) { - return setToString(overRest(func, start, identity), func + ''); - } - - /** - * The base implementation of `_.sample`. - * - * @private - * @param {Array|Object} collection The collection to sample. - * @returns {*} Returns the random element. - */ - function baseSample(collection) { - return arraySample(values(collection)); - } - - /** - * The base implementation of `_.sampleSize` without param guards. - * - * @private - * @param {Array|Object} collection The collection to sample. - * @param {number} n The number of elements to sample. - * @returns {Array} Returns the random elements. - */ - function baseSampleSize(collection, n) { - var array = values(collection); - return shuffleSelf(array, baseClamp(n, 0, array.length)); - } - - /** - * The base implementation of `_.set`. - * - * @private - * @param {Object} object The object to modify. - * @param {Array|string} path The path of the property to set. - * @param {*} value The value to set. - * @param {Function} [customizer] The function to customize path creation. - * @returns {Object} Returns `object`. - */ - function baseSet(object, path, value, customizer) { - if (!isObject(object)) { - return object; - } - path = castPath(path, object); - - var index = -1, - length = path.length, - lastIndex = length - 1, - nested = object; - - while (nested != null && ++index < length) { - var key = toKey(path[index]), - newValue = value; - - if (key === '__proto__' || key === 'constructor' || key === 'prototype') { - return object; - } - - if (index != lastIndex) { - var objValue = nested[key]; - newValue = customizer ? customizer(objValue, key, nested) : undefined; - if (newValue === undefined) { - newValue = isObject(objValue) - ? objValue - : (isIndex(path[index + 1]) ? [] : {}); - } - } - assignValue(nested, key, newValue); - nested = nested[key]; - } - return object; - } - - /** - * The base implementation of `setData` without support for hot loop shorting. - * - * @private - * @param {Function} func The function to associate metadata with. - * @param {*} data The metadata. - * @returns {Function} Returns `func`. - */ - var baseSetData = !metaMap ? identity : function(func, data) { - metaMap.set(func, data); - return func; - }; - - /** - * The base implementation of `setToString` without support for hot loop shorting. - * - * @private - * @param {Function} func The function to modify. - * @param {Function} string The `toString` result. - * @returns {Function} Returns `func`. - */ - var baseSetToString = !defineProperty ? identity : function(func, string) { - return defineProperty(func, 'toString', { - 'configurable': true, - 'enumerable': false, - 'value': constant(string), - 'writable': true - }); - }; - - /** - * The base implementation of `_.shuffle`. - * - * @private - * @param {Array|Object} collection The collection to shuffle. - * @returns {Array} Returns the new shuffled array. - */ - function baseShuffle(collection) { - return shuffleSelf(values(collection)); - } - - /** - * The base implementation of `_.slice` without an iteratee call guard. - * - * @private - * @param {Array} array The array to slice. - * @param {number} [start=0] The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns the slice of `array`. - */ - function baseSlice(array, start, end) { - var index = -1, - length = array.length; - - if (start < 0) { - start = -start > length ? 0 : (length + start); - } - end = end > length ? length : end; - if (end < 0) { - end += length; - } - length = start > end ? 0 : ((end - start) >>> 0); - start >>>= 0; - - var result = Array(length); - while (++index < length) { - result[index] = array[index + start]; - } - return result; - } - - /** - * The base implementation of `_.some` without support for iteratee shorthands. - * - * @private - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} predicate The function invoked per iteration. - * @returns {boolean} Returns `true` if any element passes the predicate check, - * else `false`. - */ - function baseSome(collection, predicate) { - var result; - - baseEach(collection, function(value, index, collection) { - result = predicate(value, index, collection); - return !result; - }); - return !!result; - } - - /** - * The base implementation of `_.sortedIndex` and `_.sortedLastIndex` which - * performs a binary search of `array` to determine the index at which `value` - * should be inserted into `array` in order to maintain its sort order. - * - * @private - * @param {Array} array The sorted array to inspect. - * @param {*} value The value to evaluate. - * @param {boolean} [retHighest] Specify returning the highest qualified index. - * @returns {number} Returns the index at which `value` should be inserted - * into `array`. - */ - function baseSortedIndex(array, value, retHighest) { - var low = 0, - high = array == null ? low : array.length; - - if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) { - while (low < high) { - var mid = (low + high) >>> 1, - computed = array[mid]; - - if (computed !== null && !isSymbol(computed) && - (retHighest ? (computed <= value) : (computed < value))) { - low = mid + 1; - } else { - high = mid; - } - } - return high; - } - return baseSortedIndexBy(array, value, identity, retHighest); - } - - /** - * The base implementation of `_.sortedIndexBy` and `_.sortedLastIndexBy` - * which invokes `iteratee` for `value` and each element of `array` to compute - * their sort ranking. The iteratee is invoked with one argument; (value). - * - * @private - * @param {Array} array The sorted array to inspect. - * @param {*} value The value to evaluate. - * @param {Function} iteratee The iteratee invoked per element. - * @param {boolean} [retHighest] Specify returning the highest qualified index. - * @returns {number} Returns the index at which `value` should be inserted - * into `array`. - */ - function baseSortedIndexBy(array, value, iteratee, retHighest) { - var low = 0, - high = array == null ? 0 : array.length; - if (high === 0) { - return 0; - } - - value = iteratee(value); - var valIsNaN = value !== value, - valIsNull = value === null, - valIsSymbol = isSymbol(value), - valIsUndefined = value === undefined; - - while (low < high) { - var mid = nativeFloor((low + high) / 2), - computed = iteratee(array[mid]), - othIsDefined = computed !== undefined, - othIsNull = computed === null, - othIsReflexive = computed === computed, - othIsSymbol = isSymbol(computed); - - if (valIsNaN) { - var setLow = retHighest || othIsReflexive; - } else if (valIsUndefined) { - setLow = othIsReflexive && (retHighest || othIsDefined); - } else if (valIsNull) { - setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull); - } else if (valIsSymbol) { - setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol); - } else if (othIsNull || othIsSymbol) { - setLow = false; - } else { - setLow = retHighest ? (computed <= value) : (computed < value); - } - if (setLow) { - low = mid + 1; - } else { - high = mid; - } - } - return nativeMin(high, MAX_ARRAY_INDEX); - } - - /** - * The base implementation of `_.sortedUniq` and `_.sortedUniqBy` without - * support for iteratee shorthands. - * - * @private - * @param {Array} array The array to inspect. - * @param {Function} [iteratee] The iteratee invoked per element. - * @returns {Array} Returns the new duplicate free array. - */ - function baseSortedUniq(array, iteratee) { - var index = -1, - length = array.length, - resIndex = 0, - result = []; - - while (++index < length) { - var value = array[index], - computed = iteratee ? iteratee(value) : value; - - if (!index || !eq(computed, seen)) { - var seen = computed; - result[resIndex++] = value === 0 ? 0 : value; - } - } - return result; - } - - /** - * The base implementation of `_.toNumber` which doesn't ensure correct - * conversions of binary, hexadecimal, or octal string values. - * - * @private - * @param {*} value The value to process. - * @returns {number} Returns the number. - */ - function baseToNumber(value) { - if (typeof value == 'number') { - return value; - } - if (isSymbol(value)) { - return NAN; - } - return +value; - } - - /** - * The base implementation of `_.toString` which doesn't convert nullish - * values to empty strings. - * - * @private - * @param {*} value The value to process. - * @returns {string} Returns the string. - */ - function baseToString(value) { - // Exit early for strings to avoid a performance hit in some environments. - if (typeof value == 'string') { - return value; - } - if (isArray(value)) { - // Recursively convert values (susceptible to call stack limits). - return arrayMap(value, baseToString) + ''; - } - if (isSymbol(value)) { - return symbolToString ? symbolToString.call(value) : ''; - } - var result = (value + ''); - return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; - } - - /** - * The base implementation of `_.uniqBy` without support for iteratee shorthands. - * - * @private - * @param {Array} array The array to inspect. - * @param {Function} [iteratee] The iteratee invoked per element. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new duplicate free array. - */ - function baseUniq(array, iteratee, comparator) { - var index = -1, - includes = arrayIncludes, - length = array.length, - isCommon = true, - result = [], - seen = result; - - if (comparator) { - isCommon = false; - includes = arrayIncludesWith; - } - else if (length >= LARGE_ARRAY_SIZE) { - var set = iteratee ? null : createSet(array); - if (set) { - return setToArray(set); - } - isCommon = false; - includes = cacheHas; - seen = new SetCache; - } - else { - seen = iteratee ? [] : result; - } - outer: - while (++index < length) { - var value = array[index], - computed = iteratee ? iteratee(value) : value; - - value = (comparator || value !== 0) ? value : 0; - if (isCommon && computed === computed) { - var seenIndex = seen.length; - while (seenIndex--) { - if (seen[seenIndex] === computed) { - continue outer; - } - } - if (iteratee) { - seen.push(computed); - } - result.push(value); - } - else if (!includes(seen, computed, comparator)) { - if (seen !== result) { - seen.push(computed); - } - result.push(value); - } - } - return result; - } - - /** - * The base implementation of `_.unset`. - * - * @private - * @param {Object} object The object to modify. - * @param {Array|string} path The property path to unset. - * @returns {boolean} Returns `true` if the property is deleted, else `false`. - */ - function baseUnset(object, path) { - path = castPath(path, object); - object = parent(object, path); - return object == null || delete object[toKey(last(path))]; - } - - /** - * The base implementation of `_.update`. - * - * @private - * @param {Object} object The object to modify. - * @param {Array|string} path The path of the property to update. - * @param {Function} updater The function to produce the updated value. - * @param {Function} [customizer] The function to customize path creation. - * @returns {Object} Returns `object`. - */ - function baseUpdate(object, path, updater, customizer) { - return baseSet(object, path, updater(baseGet(object, path)), customizer); - } - - /** - * The base implementation of methods like `_.dropWhile` and `_.takeWhile` - * without support for iteratee shorthands. - * - * @private - * @param {Array} array The array to query. - * @param {Function} predicate The function invoked per iteration. - * @param {boolean} [isDrop] Specify dropping elements instead of taking them. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Array} Returns the slice of `array`. - */ - function baseWhile(array, predicate, isDrop, fromRight) { - var length = array.length, - index = fromRight ? length : -1; - - while ((fromRight ? index-- : ++index < length) && - predicate(array[index], index, array)) {} - - return isDrop - ? baseSlice(array, (fromRight ? 0 : index), (fromRight ? index + 1 : length)) - : baseSlice(array, (fromRight ? index + 1 : 0), (fromRight ? length : index)); - } - - /** - * The base implementation of `wrapperValue` which returns the result of - * performing a sequence of actions on the unwrapped `value`, where each - * successive action is supplied the return value of the previous. - * - * @private - * @param {*} value The unwrapped value. - * @param {Array} actions Actions to perform to resolve the unwrapped value. - * @returns {*} Returns the resolved value. - */ - function baseWrapperValue(value, actions) { - var result = value; - if (result instanceof LazyWrapper) { - result = result.value(); - } - return arrayReduce(actions, function(result, action) { - return action.func.apply(action.thisArg, arrayPush([result], action.args)); - }, result); - } - - /** - * The base implementation of methods like `_.xor`, without support for - * iteratee shorthands, that accepts an array of arrays to inspect. - * - * @private - * @param {Array} arrays The arrays to inspect. - * @param {Function} [iteratee] The iteratee invoked per element. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new array of values. - */ - function baseXor(arrays, iteratee, comparator) { - var length = arrays.length; - if (length < 2) { - return length ? baseUniq(arrays[0]) : []; - } - var index = -1, - result = Array(length); - - while (++index < length) { - var array = arrays[index], - othIndex = -1; - - while (++othIndex < length) { - if (othIndex != index) { - result[index] = baseDifference(result[index] || array, arrays[othIndex], iteratee, comparator); - } - } - } - return baseUniq(baseFlatten(result, 1), iteratee, comparator); - } - - /** - * This base implementation of `_.zipObject` which assigns values using `assignFunc`. - * - * @private - * @param {Array} props The property identifiers. - * @param {Array} values The property values. - * @param {Function} assignFunc The function to assign values. - * @returns {Object} Returns the new object. - */ - function baseZipObject(props, values, assignFunc) { - var index = -1, - length = props.length, - valsLength = values.length, - result = {}; - - while (++index < length) { - var value = index < valsLength ? values[index] : undefined; - assignFunc(result, props[index], value); - } - return result; - } - - /** - * Casts `value` to an empty array if it's not an array like object. - * - * @private - * @param {*} value The value to inspect. - * @returns {Array|Object} Returns the cast array-like object. - */ - function castArrayLikeObject(value) { - return isArrayLikeObject(value) ? value : []; - } - - /** - * Casts `value` to `identity` if it's not a function. - * - * @private - * @param {*} value The value to inspect. - * @returns {Function} Returns cast function. - */ - function castFunction(value) { - return typeof value == 'function' ? value : identity; - } - - /** - * Casts `value` to a path array if it's not one. - * - * @private - * @param {*} value The value to inspect. - * @param {Object} [object] The object to query keys on. - * @returns {Array} Returns the cast property path array. - */ - function castPath(value, object) { - if (isArray(value)) { - return value; - } - return isKey(value, object) ? [value] : stringToPath(toString(value)); - } - - /** - * A `baseRest` alias which can be replaced with `identity` by module - * replacement plugins. - * - * @private - * @type {Function} - * @param {Function} func The function to apply a rest parameter to. - * @returns {Function} Returns the new function. - */ - var castRest = baseRest; - - /** - * Casts `array` to a slice if it's needed. - * - * @private - * @param {Array} array The array to inspect. - * @param {number} start The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns the cast slice. - */ - function castSlice(array, start, end) { - var length = array.length; - end = end === undefined ? length : end; - return (!start && end >= length) ? array : baseSlice(array, start, end); - } - - /** - * A simple wrapper around the global [`clearTimeout`](https://mdn.io/clearTimeout). - * - * @private - * @param {number|Object} id The timer id or timeout object of the timer to clear. - */ - var clearTimeout = ctxClearTimeout || function(id) { - return root.clearTimeout(id); - }; - - /** - * Creates a clone of `buffer`. - * - * @private - * @param {Buffer} buffer The buffer to clone. - * @param {boolean} [isDeep] Specify a deep clone. - * @returns {Buffer} Returns the cloned buffer. - */ - function cloneBuffer(buffer, isDeep) { - if (isDeep) { - return buffer.slice(); - } - var length = buffer.length, - result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length); - - buffer.copy(result); - return result; - } - - /** - * Creates a clone of `arrayBuffer`. - * - * @private - * @param {ArrayBuffer} arrayBuffer The array buffer to clone. - * @returns {ArrayBuffer} Returns the cloned array buffer. - */ - function cloneArrayBuffer(arrayBuffer) { - var result = new arrayBuffer.constructor(arrayBuffer.byteLength); - new Uint8Array(result).set(new Uint8Array(arrayBuffer)); - return result; - } - - /** - * Creates a clone of `dataView`. - * - * @private - * @param {Object} dataView The data view to clone. - * @param {boolean} [isDeep] Specify a deep clone. - * @returns {Object} Returns the cloned data view. - */ - function cloneDataView(dataView, isDeep) { - var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer; - return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength); - } - - /** - * Creates a clone of `regexp`. - * - * @private - * @param {Object} regexp The regexp to clone. - * @returns {Object} Returns the cloned regexp. - */ - function cloneRegExp(regexp) { - var result = new regexp.constructor(regexp.source, reFlags.exec(regexp)); - result.lastIndex = regexp.lastIndex; - return result; - } - - /** - * Creates a clone of the `symbol` object. - * - * @private - * @param {Object} symbol The symbol object to clone. - * @returns {Object} Returns the cloned symbol object. - */ - function cloneSymbol(symbol) { - return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {}; - } - - /** - * Creates a clone of `typedArray`. - * - * @private - * @param {Object} typedArray The typed array to clone. - * @param {boolean} [isDeep] Specify a deep clone. - * @returns {Object} Returns the cloned typed array. - */ - function cloneTypedArray(typedArray, isDeep) { - var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer; - return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length); - } - - /** - * Compares values to sort them in ascending order. - * - * @private - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {number} Returns the sort order indicator for `value`. - */ - function compareAscending(value, other) { - if (value !== other) { - var valIsDefined = value !== undefined, - valIsNull = value === null, - valIsReflexive = value === value, - valIsSymbol = isSymbol(value); - - var othIsDefined = other !== undefined, - othIsNull = other === null, - othIsReflexive = other === other, - othIsSymbol = isSymbol(other); - - if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) || - (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) || - (valIsNull && othIsDefined && othIsReflexive) || - (!valIsDefined && othIsReflexive) || - !valIsReflexive) { - return 1; - } - if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) || - (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) || - (othIsNull && valIsDefined && valIsReflexive) || - (!othIsDefined && valIsReflexive) || - !othIsReflexive) { - return -1; - } - } - return 0; - } - - /** - * Used by `_.orderBy` to compare multiple properties of a value to another - * and stable sort them. - * - * If `orders` is unspecified, all values are sorted in ascending order. Otherwise, - * specify an order of "desc" for descending or "asc" for ascending sort order - * of corresponding values. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {boolean[]|string[]} orders The order to sort by for each property. - * @returns {number} Returns the sort order indicator for `object`. - */ - function compareMultiple(object, other, orders) { - var index = -1, - objCriteria = object.criteria, - othCriteria = other.criteria, - length = objCriteria.length, - ordersLength = orders.length; - - while (++index < length) { - var result = compareAscending(objCriteria[index], othCriteria[index]); - if (result) { - if (index >= ordersLength) { - return result; - } - var order = orders[index]; - return result * (order == 'desc' ? -1 : 1); - } - } - // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications - // that causes it, under certain circumstances, to provide the same value for - // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247 - // for more details. - // - // This also ensures a stable sort in V8 and other engines. - // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details. - return object.index - other.index; - } - - /** - * Creates an array that is the composition of partially applied arguments, - * placeholders, and provided arguments into a single array of arguments. - * - * @private - * @param {Array} args The provided arguments. - * @param {Array} partials The arguments to prepend to those provided. - * @param {Array} holders The `partials` placeholder indexes. - * @params {boolean} [isCurried] Specify composing for a curried function. - * @returns {Array} Returns the new array of composed arguments. - */ - function composeArgs(args, partials, holders, isCurried) { - var argsIndex = -1, - argsLength = args.length, - holdersLength = holders.length, - leftIndex = -1, - leftLength = partials.length, - rangeLength = nativeMax(argsLength - holdersLength, 0), - result = Array(leftLength + rangeLength), - isUncurried = !isCurried; - - while (++leftIndex < leftLength) { - result[leftIndex] = partials[leftIndex]; - } - while (++argsIndex < holdersLength) { - if (isUncurried || argsIndex < argsLength) { - result[holders[argsIndex]] = args[argsIndex]; - } - } - while (rangeLength--) { - result[leftIndex++] = args[argsIndex++]; - } - return result; - } - - /** - * This function is like `composeArgs` except that the arguments composition - * is tailored for `_.partialRight`. - * - * @private - * @param {Array} args The provided arguments. - * @param {Array} partials The arguments to append to those provided. - * @param {Array} holders The `partials` placeholder indexes. - * @params {boolean} [isCurried] Specify composing for a curried function. - * @returns {Array} Returns the new array of composed arguments. - */ - function composeArgsRight(args, partials, holders, isCurried) { - var argsIndex = -1, - argsLength = args.length, - holdersIndex = -1, - holdersLength = holders.length, - rightIndex = -1, - rightLength = partials.length, - rangeLength = nativeMax(argsLength - holdersLength, 0), - result = Array(rangeLength + rightLength), - isUncurried = !isCurried; - - while (++argsIndex < rangeLength) { - result[argsIndex] = args[argsIndex]; - } - var offset = argsIndex; - while (++rightIndex < rightLength) { - result[offset + rightIndex] = partials[rightIndex]; - } - while (++holdersIndex < holdersLength) { - if (isUncurried || argsIndex < argsLength) { - result[offset + holders[holdersIndex]] = args[argsIndex++]; - } - } - return result; - } - - /** - * Copies the values of `source` to `array`. - * - * @private - * @param {Array} source The array to copy values from. - * @param {Array} [array=[]] The array to copy values to. - * @returns {Array} Returns `array`. - */ - function copyArray(source, array) { - var index = -1, - length = source.length; - - array || (array = Array(length)); - while (++index < length) { - array[index] = source[index]; - } - return array; - } - - /** - * Copies properties of `source` to `object`. - * - * @private - * @param {Object} source The object to copy properties from. - * @param {Array} props The property identifiers to copy. - * @param {Object} [object={}] The object to copy properties to. - * @param {Function} [customizer] The function to customize copied values. - * @returns {Object} Returns `object`. - */ - function copyObject(source, props, object, customizer) { - var isNew = !object; - object || (object = {}); - - var index = -1, - length = props.length; - - while (++index < length) { - var key = props[index]; - - var newValue = customizer - ? customizer(object[key], source[key], key, object, source) - : undefined; - - if (newValue === undefined) { - newValue = source[key]; - } - if (isNew) { - baseAssignValue(object, key, newValue); - } else { - assignValue(object, key, newValue); - } - } - return object; - } - - /** - * Copies own symbols of `source` to `object`. - * - * @private - * @param {Object} source The object to copy symbols from. - * @param {Object} [object={}] The object to copy symbols to. - * @returns {Object} Returns `object`. - */ - function copySymbols(source, object) { - return copyObject(source, getSymbols(source), object); - } - - /** - * Copies own and inherited symbols of `source` to `object`. - * - * @private - * @param {Object} source The object to copy symbols from. - * @param {Object} [object={}] The object to copy symbols to. - * @returns {Object} Returns `object`. - */ - function copySymbolsIn(source, object) { - return copyObject(source, getSymbolsIn(source), object); - } - - /** - * Creates a function like `_.groupBy`. - * - * @private - * @param {Function} setter The function to set accumulator values. - * @param {Function} [initializer] The accumulator object initializer. - * @returns {Function} Returns the new aggregator function. - */ - function createAggregator(setter, initializer) { - return function(collection, iteratee) { - var func = isArray(collection) ? arrayAggregator : baseAggregator, - accumulator = initializer ? initializer() : {}; - - return func(collection, setter, getIteratee(iteratee, 2), accumulator); - }; - } - - /** - * Creates a function like `_.assign`. - * - * @private - * @param {Function} assigner The function to assign values. - * @returns {Function} Returns the new assigner function. - */ - function createAssigner(assigner) { - return baseRest(function(object, sources) { - var index = -1, - length = sources.length, - customizer = length > 1 ? sources[length - 1] : undefined, - guard = length > 2 ? sources[2] : undefined; - - customizer = (assigner.length > 3 && typeof customizer == 'function') - ? (length--, customizer) - : undefined; - - if (guard && isIterateeCall(sources[0], sources[1], guard)) { - customizer = length < 3 ? undefined : customizer; - length = 1; - } - object = Object(object); - while (++index < length) { - var source = sources[index]; - if (source) { - assigner(object, source, index, customizer); - } - } - return object; - }); - } - - /** - * Creates a `baseEach` or `baseEachRight` function. - * - * @private - * @param {Function} eachFunc The function to iterate over a collection. - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new base function. - */ - function createBaseEach(eachFunc, fromRight) { - return function(collection, iteratee) { - if (collection == null) { - return collection; - } - if (!isArrayLike(collection)) { - return eachFunc(collection, iteratee); - } - var length = collection.length, - index = fromRight ? length : -1, - iterable = Object(collection); - - while ((fromRight ? index-- : ++index < length)) { - if (iteratee(iterable[index], index, iterable) === false) { - break; - } - } - return collection; - }; - } - - /** - * Creates a base function for methods like `_.forIn` and `_.forOwn`. - * - * @private - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new base function. - */ - function createBaseFor(fromRight) { - return function(object, iteratee, keysFunc) { - var index = -1, - iterable = Object(object), - props = keysFunc(object), - length = props.length; - - while (length--) { - var key = props[fromRight ? length : ++index]; - if (iteratee(iterable[key], key, iterable) === false) { - break; - } - } - return object; - }; - } - - /** - * Creates a function that wraps `func` to invoke it with the optional `this` - * binding of `thisArg`. - * - * @private - * @param {Function} func The function to wrap. - * @param {number} bitmask The bitmask flags. See `createWrap` for more details. - * @param {*} [thisArg] The `this` binding of `func`. - * @returns {Function} Returns the new wrapped function. - */ - function createBind(func, bitmask, thisArg) { - var isBind = bitmask & WRAP_BIND_FLAG, - Ctor = createCtor(func); - - function wrapper() { - var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; - return fn.apply(isBind ? thisArg : this, arguments); - } - return wrapper; - } - - /** - * Creates a function like `_.lowerFirst`. - * - * @private - * @param {string} methodName The name of the `String` case method to use. - * @returns {Function} Returns the new case function. - */ - function createCaseFirst(methodName) { - return function(string) { - string = toString(string); - - var strSymbols = hasUnicode(string) - ? stringToArray(string) - : undefined; - - var chr = strSymbols - ? strSymbols[0] - : string.charAt(0); - - var trailing = strSymbols - ? castSlice(strSymbols, 1).join('') - : string.slice(1); - - return chr[methodName]() + trailing; - }; - } - - /** - * Creates a function like `_.camelCase`. - * - * @private - * @param {Function} callback The function to combine each word. - * @returns {Function} Returns the new compounder function. - */ - function createCompounder(callback) { - return function(string) { - return arrayReduce(words(deburr(string).replace(reApos, '')), callback, ''); - }; - } - - /** - * Creates a function that produces an instance of `Ctor` regardless of - * whether it was invoked as part of a `new` expression or by `call` or `apply`. - * - * @private - * @param {Function} Ctor The constructor to wrap. - * @returns {Function} Returns the new wrapped function. - */ - function createCtor(Ctor) { - return function() { - // Use a `switch` statement to work with class constructors. See - // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist - // for more details. - var args = arguments; - switch (args.length) { - case 0: return new Ctor; - case 1: return new Ctor(args[0]); - case 2: return new Ctor(args[0], args[1]); - case 3: return new Ctor(args[0], args[1], args[2]); - case 4: return new Ctor(args[0], args[1], args[2], args[3]); - case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]); - case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]); - case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]); - } - var thisBinding = baseCreate(Ctor.prototype), - result = Ctor.apply(thisBinding, args); - - // Mimic the constructor's `return` behavior. - // See https://es5.github.io/#x13.2.2 for more details. - return isObject(result) ? result : thisBinding; - }; - } - - /** - * Creates a function that wraps `func` to enable currying. - * - * @private - * @param {Function} func The function to wrap. - * @param {number} bitmask The bitmask flags. See `createWrap` for more details. - * @param {number} arity The arity of `func`. - * @returns {Function} Returns the new wrapped function. - */ - function createCurry(func, bitmask, arity) { - var Ctor = createCtor(func); - - function wrapper() { - var length = arguments.length, - args = Array(length), - index = length, - placeholder = getHolder(wrapper); - - while (index--) { - args[index] = arguments[index]; - } - var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder) - ? [] - : replaceHolders(args, placeholder); - - length -= holders.length; - if (length < arity) { - return createRecurry( - func, bitmask, createHybrid, wrapper.placeholder, undefined, - args, holders, undefined, undefined, arity - length); - } - var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; - return apply(fn, this, args); - } - return wrapper; - } - - /** - * Creates a `_.find` or `_.findLast` function. - * - * @private - * @param {Function} findIndexFunc The function to find the collection index. - * @returns {Function} Returns the new find function. - */ - function createFind(findIndexFunc) { - return function(collection, predicate, fromIndex) { - var iterable = Object(collection); - if (!isArrayLike(collection)) { - var iteratee = getIteratee(predicate, 3); - collection = keys(collection); - predicate = function(key) { return iteratee(iterable[key], key, iterable); }; - } - var index = findIndexFunc(collection, predicate, fromIndex); - return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined; - }; - } - - /** - * Creates a `_.flow` or `_.flowRight` function. - * - * @private - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new flow function. - */ - function createFlow(fromRight) { - return flatRest(function(funcs) { - var length = funcs.length, - index = length, - prereq = LodashWrapper.prototype.thru; - - if (fromRight) { - funcs.reverse(); - } - while (index--) { - var func = funcs[index]; - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - if (prereq && !wrapper && getFuncName(func) == 'wrapper') { - var wrapper = new LodashWrapper([], true); - } - } - index = wrapper ? index : length; - while (++index < length) { - func = funcs[index]; - - var funcName = getFuncName(func), - data = funcName == 'wrapper' ? getData(func) : undefined; - - if (data && isLaziable(data[0]) && - data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) && - !data[4].length && data[9] == 1 - ) { - wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]); - } else { - wrapper = (func.length == 1 && isLaziable(func)) - ? wrapper[funcName]() - : wrapper.thru(func); - } - } - return function() { - var args = arguments, - value = args[0]; - - if (wrapper && args.length == 1 && isArray(value)) { - return wrapper.plant(value).value(); - } - var index = 0, - result = length ? funcs[index].apply(this, args) : value; - - while (++index < length) { - result = funcs[index].call(this, result); - } - return result; - }; - }); - } - - /** - * Creates a function that wraps `func` to invoke it with optional `this` - * binding of `thisArg`, partial application, and currying. - * - * @private - * @param {Function|string} func The function or method name to wrap. - * @param {number} bitmask The bitmask flags. See `createWrap` for more details. - * @param {*} [thisArg] The `this` binding of `func`. - * @param {Array} [partials] The arguments to prepend to those provided to - * the new function. - * @param {Array} [holders] The `partials` placeholder indexes. - * @param {Array} [partialsRight] The arguments to append to those provided - * to the new function. - * @param {Array} [holdersRight] The `partialsRight` placeholder indexes. - * @param {Array} [argPos] The argument positions of the new function. - * @param {number} [ary] The arity cap of `func`. - * @param {number} [arity] The arity of `func`. - * @returns {Function} Returns the new wrapped function. - */ - function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) { - var isAry = bitmask & WRAP_ARY_FLAG, - isBind = bitmask & WRAP_BIND_FLAG, - isBindKey = bitmask & WRAP_BIND_KEY_FLAG, - isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG), - isFlip = bitmask & WRAP_FLIP_FLAG, - Ctor = isBindKey ? undefined : createCtor(func); - - function wrapper() { - var length = arguments.length, - args = Array(length), - index = length; - - while (index--) { - args[index] = arguments[index]; - } - if (isCurried) { - var placeholder = getHolder(wrapper), - holdersCount = countHolders(args, placeholder); - } - if (partials) { - args = composeArgs(args, partials, holders, isCurried); - } - if (partialsRight) { - args = composeArgsRight(args, partialsRight, holdersRight, isCurried); - } - length -= holdersCount; - if (isCurried && length < arity) { - var newHolders = replaceHolders(args, placeholder); - return createRecurry( - func, bitmask, createHybrid, wrapper.placeholder, thisArg, - args, newHolders, argPos, ary, arity - length - ); - } - var thisBinding = isBind ? thisArg : this, - fn = isBindKey ? thisBinding[func] : func; - - length = args.length; - if (argPos) { - args = reorder(args, argPos); - } else if (isFlip && length > 1) { - args.reverse(); - } - if (isAry && ary < length) { - args.length = ary; - } - if (this && this !== root && this instanceof wrapper) { - fn = Ctor || createCtor(fn); - } - return fn.apply(thisBinding, args); - } - return wrapper; - } - - /** - * Creates a function like `_.invertBy`. - * - * @private - * @param {Function} setter The function to set accumulator values. - * @param {Function} toIteratee The function to resolve iteratees. - * @returns {Function} Returns the new inverter function. - */ - function createInverter(setter, toIteratee) { - return function(object, iteratee) { - return baseInverter(object, setter, toIteratee(iteratee), {}); - }; - } - - /** - * Creates a function that performs a mathematical operation on two values. - * - * @private - * @param {Function} operator The function to perform the operation. - * @param {number} [defaultValue] The value used for `undefined` arguments. - * @returns {Function} Returns the new mathematical operation function. - */ - function createMathOperation(operator, defaultValue) { - return function(value, other) { - var result; - if (value === undefined && other === undefined) { - return defaultValue; - } - if (value !== undefined) { - result = value; - } - if (other !== undefined) { - if (result === undefined) { - return other; - } - if (typeof value == 'string' || typeof other == 'string') { - value = baseToString(value); - other = baseToString(other); - } else { - value = baseToNumber(value); - other = baseToNumber(other); - } - result = operator(value, other); - } - return result; - }; - } - - /** - * Creates a function like `_.over`. - * - * @private - * @param {Function} arrayFunc The function to iterate over iteratees. - * @returns {Function} Returns the new over function. - */ - function createOver(arrayFunc) { - return flatRest(function(iteratees) { - iteratees = arrayMap(iteratees, baseUnary(getIteratee())); - return baseRest(function(args) { - var thisArg = this; - return arrayFunc(iteratees, function(iteratee) { - return apply(iteratee, thisArg, args); - }); - }); - }); - } - - /** - * Creates the padding for `string` based on `length`. The `chars` string - * is truncated if the number of characters exceeds `length`. - * - * @private - * @param {number} length The padding length. - * @param {string} [chars=' '] The string used as padding. - * @returns {string} Returns the padding for `string`. - */ - function createPadding(length, chars) { - chars = chars === undefined ? ' ' : baseToString(chars); - - var charsLength = chars.length; - if (charsLength < 2) { - return charsLength ? baseRepeat(chars, length) : chars; - } - var result = baseRepeat(chars, nativeCeil(length / stringSize(chars))); - return hasUnicode(chars) - ? castSlice(stringToArray(result), 0, length).join('') - : result.slice(0, length); - } - - /** - * Creates a function that wraps `func` to invoke it with the `this` binding - * of `thisArg` and `partials` prepended to the arguments it receives. - * - * @private - * @param {Function} func The function to wrap. - * @param {number} bitmask The bitmask flags. See `createWrap` for more details. - * @param {*} thisArg The `this` binding of `func`. - * @param {Array} partials The arguments to prepend to those provided to - * the new function. - * @returns {Function} Returns the new wrapped function. - */ - function createPartial(func, bitmask, thisArg, partials) { - var isBind = bitmask & WRAP_BIND_FLAG, - Ctor = createCtor(func); - - function wrapper() { - var argsIndex = -1, - argsLength = arguments.length, - leftIndex = -1, - leftLength = partials.length, - args = Array(leftLength + argsLength), - fn = (this && this !== root && this instanceof wrapper) ? Ctor : func; - - while (++leftIndex < leftLength) { - args[leftIndex] = partials[leftIndex]; - } - while (argsLength--) { - args[leftIndex++] = arguments[++argsIndex]; - } - return apply(fn, isBind ? thisArg : this, args); - } - return wrapper; - } - - /** - * Creates a `_.range` or `_.rangeRight` function. - * - * @private - * @param {boolean} [fromRight] Specify iterating from right to left. - * @returns {Function} Returns the new range function. - */ - function createRange(fromRight) { - return function(start, end, step) { - if (step && typeof step != 'number' && isIterateeCall(start, end, step)) { - end = step = undefined; - } - // Ensure the sign of `-0` is preserved. - start = toFinite(start); - if (end === undefined) { - end = start; - start = 0; - } else { - end = toFinite(end); - } - step = step === undefined ? (start < end ? 1 : -1) : toFinite(step); - return baseRange(start, end, step, fromRight); - }; - } - - /** - * Creates a function that performs a relational operation on two values. - * - * @private - * @param {Function} operator The function to perform the operation. - * @returns {Function} Returns the new relational operation function. - */ - function createRelationalOperation(operator) { - return function(value, other) { - if (!(typeof value == 'string' && typeof other == 'string')) { - value = toNumber(value); - other = toNumber(other); - } - return operator(value, other); - }; - } - - /** - * Creates a function that wraps `func` to continue currying. - * - * @private - * @param {Function} func The function to wrap. - * @param {number} bitmask The bitmask flags. See `createWrap` for more details. - * @param {Function} wrapFunc The function to create the `func` wrapper. - * @param {*} placeholder The placeholder value. - * @param {*} [thisArg] The `this` binding of `func`. - * @param {Array} [partials] The arguments to prepend to those provided to - * the new function. - * @param {Array} [holders] The `partials` placeholder indexes. - * @param {Array} [argPos] The argument positions of the new function. - * @param {number} [ary] The arity cap of `func`. - * @param {number} [arity] The arity of `func`. - * @returns {Function} Returns the new wrapped function. - */ - function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) { - var isCurry = bitmask & WRAP_CURRY_FLAG, - newHolders = isCurry ? holders : undefined, - newHoldersRight = isCurry ? undefined : holders, - newPartials = isCurry ? partials : undefined, - newPartialsRight = isCurry ? undefined : partials; - - bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG); - bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG); - - if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) { - bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG); - } - var newData = [ - func, bitmask, thisArg, newPartials, newHolders, newPartialsRight, - newHoldersRight, argPos, ary, arity - ]; - - var result = wrapFunc.apply(undefined, newData); - if (isLaziable(func)) { - setData(result, newData); - } - result.placeholder = placeholder; - return setWrapToString(result, func, bitmask); - } - - /** - * Creates a function like `_.round`. - * - * @private - * @param {string} methodName The name of the `Math` method to use when rounding. - * @returns {Function} Returns the new round function. - */ - function createRound(methodName) { - var func = Math[methodName]; - return function(number, precision) { - number = toNumber(number); - precision = precision == null ? 0 : nativeMin(toInteger(precision), 292); - if (precision && nativeIsFinite(number)) { - // Shift with exponential notation to avoid floating-point issues. - // See [MDN](https://mdn.io/round#Examples) for more details. - var pair = (toString(number) + 'e').split('e'), - value = func(pair[0] + 'e' + (+pair[1] + precision)); - - pair = (toString(value) + 'e').split('e'); - return +(pair[0] + 'e' + (+pair[1] - precision)); - } - return func(number); - }; - } - - /** - * Creates a set object of `values`. - * - * @private - * @param {Array} values The values to add to the set. - * @returns {Object} Returns the new set. - */ - var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) { - return new Set(values); - }; - - /** - * Creates a `_.toPairs` or `_.toPairsIn` function. - * - * @private - * @param {Function} keysFunc The function to get the keys of a given object. - * @returns {Function} Returns the new pairs function. - */ - function createToPairs(keysFunc) { - return function(object) { - var tag = getTag(object); - if (tag == mapTag) { - return mapToArray(object); - } - if (tag == setTag) { - return setToPairs(object); - } - return baseToPairs(object, keysFunc(object)); - }; - } - - /** - * Creates a function that either curries or invokes `func` with optional - * `this` binding and partially applied arguments. - * - * @private - * @param {Function|string} func The function or method name to wrap. - * @param {number} bitmask The bitmask flags. - * 1 - `_.bind` - * 2 - `_.bindKey` - * 4 - `_.curry` or `_.curryRight` of a bound function - * 8 - `_.curry` - * 16 - `_.curryRight` - * 32 - `_.partial` - * 64 - `_.partialRight` - * 128 - `_.rearg` - * 256 - `_.ary` - * 512 - `_.flip` - * @param {*} [thisArg] The `this` binding of `func`. - * @param {Array} [partials] The arguments to be partially applied. - * @param {Array} [holders] The `partials` placeholder indexes. - * @param {Array} [argPos] The argument positions of the new function. - * @param {number} [ary] The arity cap of `func`. - * @param {number} [arity] The arity of `func`. - * @returns {Function} Returns the new wrapped function. - */ - function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) { - var isBindKey = bitmask & WRAP_BIND_KEY_FLAG; - if (!isBindKey && typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - var length = partials ? partials.length : 0; - if (!length) { - bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG); - partials = holders = undefined; - } - ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0); - arity = arity === undefined ? arity : toInteger(arity); - length -= holders ? holders.length : 0; - - if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) { - var partialsRight = partials, - holdersRight = holders; - - partials = holders = undefined; - } - var data = isBindKey ? undefined : getData(func); - - var newData = [ - func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, - argPos, ary, arity - ]; - - if (data) { - mergeData(newData, data); - } - func = newData[0]; - bitmask = newData[1]; - thisArg = newData[2]; - partials = newData[3]; - holders = newData[4]; - arity = newData[9] = newData[9] === undefined - ? (isBindKey ? 0 : func.length) - : nativeMax(newData[9] - length, 0); - - if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) { - bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG); - } - if (!bitmask || bitmask == WRAP_BIND_FLAG) { - var result = createBind(func, bitmask, thisArg); - } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) { - result = createCurry(func, bitmask, arity); - } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) { - result = createPartial(func, bitmask, thisArg, partials); - } else { - result = createHybrid.apply(undefined, newData); - } - var setter = data ? baseSetData : setData; - return setWrapToString(setter(result, newData), func, bitmask); - } - - /** - * Used by `_.defaults` to customize its `_.assignIn` use to assign properties - * of source objects to the destination object for all destination properties - * that resolve to `undefined`. - * - * @private - * @param {*} objValue The destination value. - * @param {*} srcValue The source value. - * @param {string} key The key of the property to assign. - * @param {Object} object The parent object of `objValue`. - * @returns {*} Returns the value to assign. - */ - function customDefaultsAssignIn(objValue, srcValue, key, object) { - if (objValue === undefined || - (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) { - return srcValue; - } - return objValue; - } - - /** - * Used by `_.defaultsDeep` to customize its `_.merge` use to merge source - * objects into destination objects that are passed thru. - * - * @private - * @param {*} objValue The destination value. - * @param {*} srcValue The source value. - * @param {string} key The key of the property to merge. - * @param {Object} object The parent object of `objValue`. - * @param {Object} source The parent object of `srcValue`. - * @param {Object} [stack] Tracks traversed source values and their merged - * counterparts. - * @returns {*} Returns the value to assign. - */ - function customDefaultsMerge(objValue, srcValue, key, object, source, stack) { - if (isObject(objValue) && isObject(srcValue)) { - // Recursively merge objects and arrays (susceptible to call stack limits). - stack.set(srcValue, objValue); - baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack); - stack['delete'](srcValue); - } - return objValue; - } - - /** - * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain - * objects. - * - * @private - * @param {*} value The value to inspect. - * @param {string} key The key of the property to inspect. - * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`. - */ - function customOmitClone(value) { - return isPlainObject(value) ? undefined : value; - } - - /** - * A specialized version of `baseIsEqualDeep` for arrays with support for - * partial deep comparisons. - * - * @private - * @param {Array} array The array to compare. - * @param {Array} other The other array to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Object} stack Tracks traversed `array` and `other` objects. - * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`. - */ - function equalArrays(array, other, bitmask, customizer, equalFunc, stack) { - var isPartial = bitmask & COMPARE_PARTIAL_FLAG, - arrLength = array.length, - othLength = other.length; - - if (arrLength != othLength && !(isPartial && othLength > arrLength)) { - return false; - } - // Check that cyclic values are equal. - var arrStacked = stack.get(array); - var othStacked = stack.get(other); - if (arrStacked && othStacked) { - return arrStacked == other && othStacked == array; - } - var index = -1, - result = true, - seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined; - - stack.set(array, other); - stack.set(other, array); - - // Ignore non-index properties. - while (++index < arrLength) { - var arrValue = array[index], - othValue = other[index]; - - if (customizer) { - var compared = isPartial - ? customizer(othValue, arrValue, index, other, array, stack) - : customizer(arrValue, othValue, index, array, other, stack); - } - if (compared !== undefined) { - if (compared) { - continue; - } - result = false; - break; - } - // Recursively compare arrays (susceptible to call stack limits). - if (seen) { - if (!arraySome(other, function(othValue, othIndex) { - if (!cacheHas(seen, othIndex) && - (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) { - return seen.push(othIndex); - } - })) { - result = false; - break; - } - } else if (!( - arrValue === othValue || - equalFunc(arrValue, othValue, bitmask, customizer, stack) - )) { - result = false; - break; - } - } - stack['delete'](array); - stack['delete'](other); - return result; - } - - /** - * A specialized version of `baseIsEqualDeep` for comparing objects of - * the same `toStringTag`. - * - * **Note:** This function only supports comparing values with tags of - * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {string} tag The `toStringTag` of the objects to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Object} stack Tracks traversed `object` and `other` objects. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */ - function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) { - switch (tag) { - case dataViewTag: - if ((object.byteLength != other.byteLength) || - (object.byteOffset != other.byteOffset)) { - return false; - } - object = object.buffer; - other = other.buffer; - - case arrayBufferTag: - if ((object.byteLength != other.byteLength) || - !equalFunc(new Uint8Array(object), new Uint8Array(other))) { - return false; - } - return true; - - case boolTag: - case dateTag: - case numberTag: - // Coerce booleans to `1` or `0` and dates to milliseconds. - // Invalid dates are coerced to `NaN`. - return eq(+object, +other); - - case errorTag: - return object.name == other.name && object.message == other.message; - - case regexpTag: - case stringTag: - // Coerce regexes to strings and treat strings, primitives and objects, - // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring - // for more details. - return object == (other + ''); - - case mapTag: - var convert = mapToArray; - - case setTag: - var isPartial = bitmask & COMPARE_PARTIAL_FLAG; - convert || (convert = setToArray); - - if (object.size != other.size && !isPartial) { - return false; - } - // Assume cyclic values are equal. - var stacked = stack.get(object); - if (stacked) { - return stacked == other; - } - bitmask |= COMPARE_UNORDERED_FLAG; - - // Recursively compare objects (susceptible to call stack limits). - stack.set(object, other); - var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack); - stack['delete'](object); - return result; - - case symbolTag: - if (symbolValueOf) { - return symbolValueOf.call(object) == symbolValueOf.call(other); - } - } - return false; - } - - /** - * A specialized version of `baseIsEqualDeep` for objects with support for - * partial deep comparisons. - * - * @private - * @param {Object} object The object to compare. - * @param {Object} other The other object to compare. - * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details. - * @param {Function} customizer The function to customize comparisons. - * @param {Function} equalFunc The function to determine equivalents of values. - * @param {Object} stack Tracks traversed `object` and `other` objects. - * @returns {boolean} Returns `true` if the objects are equivalent, else `false`. - */ - function equalObjects(object, other, bitmask, customizer, equalFunc, stack) { - var isPartial = bitmask & COMPARE_PARTIAL_FLAG, - objProps = getAllKeys(object), - objLength = objProps.length, - othProps = getAllKeys(other), - othLength = othProps.length; - - if (objLength != othLength && !isPartial) { - return false; - } - var index = objLength; - while (index--) { - var key = objProps[index]; - if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) { - return false; - } - } - // Check that cyclic values are equal. - var objStacked = stack.get(object); - var othStacked = stack.get(other); - if (objStacked && othStacked) { - return objStacked == other && othStacked == object; - } - var result = true; - stack.set(object, other); - stack.set(other, object); - - var skipCtor = isPartial; - while (++index < objLength) { - key = objProps[index]; - var objValue = object[key], - othValue = other[key]; - - if (customizer) { - var compared = isPartial - ? customizer(othValue, objValue, key, other, object, stack) - : customizer(objValue, othValue, key, object, other, stack); - } - // Recursively compare objects (susceptible to call stack limits). - if (!(compared === undefined - ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack)) - : compared - )) { - result = false; - break; - } - skipCtor || (skipCtor = key == 'constructor'); - } - if (result && !skipCtor) { - var objCtor = object.constructor, - othCtor = other.constructor; - - // Non `Object` object instances with different constructors are not equal. - if (objCtor != othCtor && - ('constructor' in object && 'constructor' in other) && - !(typeof objCtor == 'function' && objCtor instanceof objCtor && - typeof othCtor == 'function' && othCtor instanceof othCtor)) { - result = false; - } - } - stack['delete'](object); - stack['delete'](other); - return result; - } - - /** - * A specialized version of `baseRest` which flattens the rest array. - * - * @private - * @param {Function} func The function to apply a rest parameter to. - * @returns {Function} Returns the new function. - */ - function flatRest(func) { - return setToString(overRest(func, undefined, flatten), func + ''); - } - - /** - * Creates an array of own enumerable property names and symbols of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names and symbols. - */ - function getAllKeys(object) { - return baseGetAllKeys(object, keys, getSymbols); - } - - /** - * Creates an array of own and inherited enumerable property names and - * symbols of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names and symbols. - */ - function getAllKeysIn(object) { - return baseGetAllKeys(object, keysIn, getSymbolsIn); - } - - /** - * Gets metadata for `func`. - * - * @private - * @param {Function} func The function to query. - * @returns {*} Returns the metadata for `func`. - */ - var getData = !metaMap ? noop : function(func) { - return metaMap.get(func); - }; - - /** - * Gets the name of `func`. - * - * @private - * @param {Function} func The function to query. - * @returns {string} Returns the function name. - */ - function getFuncName(func) { - var result = (func.name + ''), - array = realNames[result], - length = hasOwnProperty.call(realNames, result) ? array.length : 0; - - while (length--) { - var data = array[length], - otherFunc = data.func; - if (otherFunc == null || otherFunc == func) { - return data.name; - } - } - return result; - } - - /** - * Gets the argument placeholder value for `func`. - * - * @private - * @param {Function} func The function to inspect. - * @returns {*} Returns the placeholder value. - */ - function getHolder(func) { - var object = hasOwnProperty.call(lodash, 'placeholder') ? lodash : func; - return object.placeholder; - } - - /** - * Gets the appropriate "iteratee" function. If `_.iteratee` is customized, - * this function returns the custom method, otherwise it returns `baseIteratee`. - * If arguments are provided, the chosen function is invoked with them and - * its result is returned. - * - * @private - * @param {*} [value] The value to convert to an iteratee. - * @param {number} [arity] The arity of the created iteratee. - * @returns {Function} Returns the chosen function or its result. - */ - function getIteratee() { - var result = lodash.iteratee || iteratee; - result = result === iteratee ? baseIteratee : result; - return arguments.length ? result(arguments[0], arguments[1]) : result; - } - - /** - * Gets the data for `map`. - * - * @private - * @param {Object} map The map to query. - * @param {string} key The reference key. - * @returns {*} Returns the map data. - */ - function getMapData(map, key) { - var data = map.__data__; - return isKeyable(key) - ? data[typeof key == 'string' ? 'string' : 'hash'] - : data.map; - } - - /** - * Gets the property names, values, and compare flags of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the match data of `object`. - */ - function getMatchData(object) { - var result = keys(object), - length = result.length; - - while (length--) { - var key = result[length], - value = object[key]; - - result[length] = [key, value, isStrictComparable(value)]; - } - return result; - } - - /** - * Gets the native function at `key` of `object`. - * - * @private - * @param {Object} object The object to query. - * @param {string} key The key of the method to get. - * @returns {*} Returns the function if it's native, else `undefined`. - */ - function getNative(object, key) { - var value = getValue(object, key); - return baseIsNative(value) ? value : undefined; - } - - /** - * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values. - * - * @private - * @param {*} value The value to query. - * @returns {string} Returns the raw `toStringTag`. - */ - function getRawTag(value) { - var isOwn = hasOwnProperty.call(value, symToStringTag), - tag = value[symToStringTag]; - - try { - value[symToStringTag] = undefined; - var unmasked = true; - } catch (e) {} - - var result = nativeObjectToString.call(value); - if (unmasked) { - if (isOwn) { - value[symToStringTag] = tag; - } else { - delete value[symToStringTag]; - } - } - return result; - } - - /** - * Creates an array of the own enumerable symbols of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of symbols. - */ - var getSymbols = !nativeGetSymbols ? stubArray : function(object) { - if (object == null) { - return []; - } - object = Object(object); - return arrayFilter(nativeGetSymbols(object), function(symbol) { - return propertyIsEnumerable.call(object, symbol); - }); - }; - - /** - * Creates an array of the own and inherited enumerable symbols of `object`. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of symbols. - */ - var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) { - var result = []; - while (object) { - arrayPush(result, getSymbols(object)); - object = getPrototype(object); - } - return result; - }; - - /** - * Gets the `toStringTag` of `value`. - * - * @private - * @param {*} value The value to query. - * @returns {string} Returns the `toStringTag`. - */ - var getTag = baseGetTag; - - // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6. - if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) || - (Map && getTag(new Map) != mapTag) || - (Promise && getTag(Promise.resolve()) != promiseTag) || - (Set && getTag(new Set) != setTag) || - (WeakMap && getTag(new WeakMap) != weakMapTag)) { - getTag = function(value) { - var result = baseGetTag(value), - Ctor = result == objectTag ? value.constructor : undefined, - ctorString = Ctor ? toSource(Ctor) : ''; - - if (ctorString) { - switch (ctorString) { - case dataViewCtorString: return dataViewTag; - case mapCtorString: return mapTag; - case promiseCtorString: return promiseTag; - case setCtorString: return setTag; - case weakMapCtorString: return weakMapTag; - } - } - return result; - }; - } - - /** - * Gets the view, applying any `transforms` to the `start` and `end` positions. - * - * @private - * @param {number} start The start of the view. - * @param {number} end The end of the view. - * @param {Array} transforms The transformations to apply to the view. - * @returns {Object} Returns an object containing the `start` and `end` - * positions of the view. - */ - function getView(start, end, transforms) { - var index = -1, - length = transforms.length; - - while (++index < length) { - var data = transforms[index], - size = data.size; - - switch (data.type) { - case 'drop': start += size; break; - case 'dropRight': end -= size; break; - case 'take': end = nativeMin(end, start + size); break; - case 'takeRight': start = nativeMax(start, end - size); break; - } - } - return { 'start': start, 'end': end }; - } - - /** - * Extracts wrapper details from the `source` body comment. - * - * @private - * @param {string} source The source to inspect. - * @returns {Array} Returns the wrapper details. - */ - function getWrapDetails(source) { - var match = source.match(reWrapDetails); - return match ? match[1].split(reSplitDetails) : []; - } - - /** - * Checks if `path` exists on `object`. - * - * @private - * @param {Object} object The object to query. - * @param {Array|string} path The path to check. - * @param {Function} hasFunc The function to check properties. - * @returns {boolean} Returns `true` if `path` exists, else `false`. - */ - function hasPath(object, path, hasFunc) { - path = castPath(path, object); - - var index = -1, - length = path.length, - result = false; - - while (++index < length) { - var key = toKey(path[index]); - if (!(result = object != null && hasFunc(object, key))) { - break; - } - object = object[key]; - } - if (result || ++index != length) { - return result; - } - length = object == null ? 0 : object.length; - return !!length && isLength(length) && isIndex(key, length) && - (isArray(object) || isArguments(object)); - } - - /** - * Initializes an array clone. - * - * @private - * @param {Array} array The array to clone. - * @returns {Array} Returns the initialized clone. - */ - function initCloneArray(array) { - var length = array.length, - result = new array.constructor(length); - - // Add properties assigned by `RegExp#exec`. - if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) { - result.index = array.index; - result.input = array.input; - } - return result; - } - - /** - * Initializes an object clone. - * - * @private - * @param {Object} object The object to clone. - * @returns {Object} Returns the initialized clone. - */ - function initCloneObject(object) { - return (typeof object.constructor == 'function' && !isPrototype(object)) - ? baseCreate(getPrototype(object)) - : {}; - } - - /** - * Initializes an object clone based on its `toStringTag`. - * - * **Note:** This function only supports cloning values with tags of - * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`. - * - * @private - * @param {Object} object The object to clone. - * @param {string} tag The `toStringTag` of the object to clone. - * @param {boolean} [isDeep] Specify a deep clone. - * @returns {Object} Returns the initialized clone. - */ - function initCloneByTag(object, tag, isDeep) { - var Ctor = object.constructor; - switch (tag) { - case arrayBufferTag: - return cloneArrayBuffer(object); - - case boolTag: - case dateTag: - return new Ctor(+object); - - case dataViewTag: - return cloneDataView(object, isDeep); - - case float32Tag: case float64Tag: - case int8Tag: case int16Tag: case int32Tag: - case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag: - return cloneTypedArray(object, isDeep); - - case mapTag: - return new Ctor; - - case numberTag: - case stringTag: - return new Ctor(object); - - case regexpTag: - return cloneRegExp(object); - - case setTag: - return new Ctor; - - case symbolTag: - return cloneSymbol(object); - } - } - - /** - * Inserts wrapper `details` in a comment at the top of the `source` body. - * - * @private - * @param {string} source The source to modify. - * @returns {Array} details The details to insert. - * @returns {string} Returns the modified source. - */ - function insertWrapDetails(source, details) { - var length = details.length; - if (!length) { - return source; - } - var lastIndex = length - 1; - details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex]; - details = details.join(length > 2 ? ', ' : ' '); - return source.replace(reWrapComment, '{\n/* [wrapped with ' + details + '] */\n'); - } - - /** - * Checks if `value` is a flattenable `arguments` object or array. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is flattenable, else `false`. - */ - function isFlattenable(value) { - return isArray(value) || isArguments(value) || - !!(spreadableSymbol && value && value[spreadableSymbol]); - } - - /** - * Checks if `value` is a valid array-like index. - * - * @private - * @param {*} value The value to check. - * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index. - * @returns {boolean} Returns `true` if `value` is a valid index, else `false`. - */ - function isIndex(value, length) { - var type = typeof value; - length = length == null ? MAX_SAFE_INTEGER : length; - - return !!length && - (type == 'number' || - (type != 'symbol' && reIsUint.test(value))) && - (value > -1 && value % 1 == 0 && value < length); - } - - /** - * Checks if the given arguments are from an iteratee call. - * - * @private - * @param {*} value The potential iteratee value argument. - * @param {*} index The potential iteratee index or key argument. - * @param {*} object The potential iteratee object argument. - * @returns {boolean} Returns `true` if the arguments are from an iteratee call, - * else `false`. - */ - function isIterateeCall(value, index, object) { - if (!isObject(object)) { - return false; - } - var type = typeof index; - if (type == 'number' - ? (isArrayLike(object) && isIndex(index, object.length)) - : (type == 'string' && index in object) - ) { - return eq(object[index], value); - } - return false; - } - - /** - * Checks if `value` is a property name and not a property path. - * - * @private - * @param {*} value The value to check. - * @param {Object} [object] The object to query keys on. - * @returns {boolean} Returns `true` if `value` is a property name, else `false`. - */ - function isKey(value, object) { - if (isArray(value)) { - return false; - } - var type = typeof value; - if (type == 'number' || type == 'symbol' || type == 'boolean' || - value == null || isSymbol(value)) { - return true; - } - return reIsPlainProp.test(value) || !reIsDeepProp.test(value) || - (object != null && value in Object(object)); - } - - /** - * Checks if `value` is suitable for use as unique object key. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is suitable, else `false`. - */ - function isKeyable(value) { - var type = typeof value; - return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean') - ? (value !== '__proto__') - : (value === null); - } - - /** - * Checks if `func` has a lazy counterpart. - * - * @private - * @param {Function} func The function to check. - * @returns {boolean} Returns `true` if `func` has a lazy counterpart, - * else `false`. - */ - function isLaziable(func) { - var funcName = getFuncName(func), - other = lodash[funcName]; - - if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) { - return false; - } - if (func === other) { - return true; - } - var data = getData(other); - return !!data && func === data[0]; - } - - /** - * Checks if `func` has its source masked. - * - * @private - * @param {Function} func The function to check. - * @returns {boolean} Returns `true` if `func` is masked, else `false`. - */ - function isMasked(func) { - return !!maskSrcKey && (maskSrcKey in func); - } - - /** - * Checks if `func` is capable of being masked. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `func` is maskable, else `false`. - */ - var isMaskable = coreJsData ? isFunction : stubFalse; - - /** - * Checks if `value` is likely a prototype object. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a prototype, else `false`. - */ - function isPrototype(value) { - var Ctor = value && value.constructor, - proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto; - - return value === proto; - } - - /** - * Checks if `value` is suitable for strict equality comparisons, i.e. `===`. - * - * @private - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` if suitable for strict - * equality comparisons, else `false`. - */ - function isStrictComparable(value) { - return value === value && !isObject(value); - } - - /** - * A specialized version of `matchesProperty` for source values suitable - * for strict equality comparisons, i.e. `===`. - * - * @private - * @param {string} key The key of the property to get. - * @param {*} srcValue The value to match. - * @returns {Function} Returns the new spec function. - */ - function matchesStrictComparable(key, srcValue) { - return function(object) { - if (object == null) { - return false; - } - return object[key] === srcValue && - (srcValue !== undefined || (key in Object(object))); - }; - } - - /** - * A specialized version of `_.memoize` which clears the memoized function's - * cache when it exceeds `MAX_MEMOIZE_SIZE`. - * - * @private - * @param {Function} func The function to have its output memoized. - * @returns {Function} Returns the new memoized function. - */ - function memoizeCapped(func) { - var result = memoize(func, function(key) { - if (cache.size === MAX_MEMOIZE_SIZE) { - cache.clear(); - } - return key; - }); - - var cache = result.cache; - return result; - } - - /** - * Merges the function metadata of `source` into `data`. - * - * Merging metadata reduces the number of wrappers used to invoke a function. - * This is possible because methods like `_.bind`, `_.curry`, and `_.partial` - * may be applied regardless of execution order. Methods like `_.ary` and - * `_.rearg` modify function arguments, making the order in which they are - * executed important, preventing the merging of metadata. However, we make - * an exception for a safe combined case where curried functions have `_.ary` - * and or `_.rearg` applied. - * - * @private - * @param {Array} data The destination metadata. - * @param {Array} source The source metadata. - * @returns {Array} Returns `data`. - */ - function mergeData(data, source) { - var bitmask = data[1], - srcBitmask = source[1], - newBitmask = bitmask | srcBitmask, - isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG); - - var isCombo = - ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) || - ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) || - ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG)); - - // Exit early if metadata can't be merged. - if (!(isCommon || isCombo)) { - return data; - } - // Use source `thisArg` if available. - if (srcBitmask & WRAP_BIND_FLAG) { - data[2] = source[2]; - // Set when currying a bound function. - newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG; - } - // Compose partial arguments. - var value = source[3]; - if (value) { - var partials = data[3]; - data[3] = partials ? composeArgs(partials, value, source[4]) : value; - data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4]; - } - // Compose partial right arguments. - value = source[5]; - if (value) { - partials = data[5]; - data[5] = partials ? composeArgsRight(partials, value, source[6]) : value; - data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6]; - } - // Use source `argPos` if available. - value = source[7]; - if (value) { - data[7] = value; - } - // Use source `ary` if it's smaller. - if (srcBitmask & WRAP_ARY_FLAG) { - data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]); - } - // Use source `arity` if one is not provided. - if (data[9] == null) { - data[9] = source[9]; - } - // Use source `func` and merge bitmasks. - data[0] = source[0]; - data[1] = newBitmask; - - return data; - } - - /** - * This function is like - * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) - * except that it includes inherited enumerable properties. - * - * @private - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - */ - function nativeKeysIn(object) { - var result = []; - if (object != null) { - for (var key in Object(object)) { - result.push(key); - } - } - return result; - } - - /** - * Converts `value` to a string using `Object.prototype.toString`. - * - * @private - * @param {*} value The value to convert. - * @returns {string} Returns the converted string. - */ - function objectToString(value) { - return nativeObjectToString.call(value); - } - - /** - * A specialized version of `baseRest` which transforms the rest array. - * - * @private - * @param {Function} func The function to apply a rest parameter to. - * @param {number} [start=func.length-1] The start position of the rest parameter. - * @param {Function} transform The rest array transform. - * @returns {Function} Returns the new function. - */ - function overRest(func, start, transform) { - start = nativeMax(start === undefined ? (func.length - 1) : start, 0); - return function() { - var args = arguments, - index = -1, - length = nativeMax(args.length - start, 0), - array = Array(length); - - while (++index < length) { - array[index] = args[start + index]; - } - index = -1; - var otherArgs = Array(start + 1); - while (++index < start) { - otherArgs[index] = args[index]; - } - otherArgs[start] = transform(array); - return apply(func, this, otherArgs); - }; - } - - /** - * Gets the parent value at `path` of `object`. - * - * @private - * @param {Object} object The object to query. - * @param {Array} path The path to get the parent value of. - * @returns {*} Returns the parent value. - */ - function parent(object, path) { - return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1)); - } - - /** - * Reorder `array` according to the specified indexes where the element at - * the first index is assigned as the first element, the element at - * the second index is assigned as the second element, and so on. - * - * @private - * @param {Array} array The array to reorder. - * @param {Array} indexes The arranged array indexes. - * @returns {Array} Returns `array`. - */ - function reorder(array, indexes) { - var arrLength = array.length, - length = nativeMin(indexes.length, arrLength), - oldArray = copyArray(array); - - while (length--) { - var index = indexes[length]; - array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined; - } - return array; - } - - /** - * Gets the value at `key`, unless `key` is "__proto__" or "constructor". - * - * @private - * @param {Object} object The object to query. - * @param {string} key The key of the property to get. - * @returns {*} Returns the property value. - */ - function safeGet(object, key) { - if (key === 'constructor' && typeof object[key] === 'function') { - return; - } - - if (key == '__proto__') { - return; - } - - return object[key]; - } - - /** - * Sets metadata for `func`. - * - * **Note:** If this function becomes hot, i.e. is invoked a lot in a short - * period of time, it will trip its breaker and transition to an identity - * function to avoid garbage collection pauses in V8. See - * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070) - * for more details. - * - * @private - * @param {Function} func The function to associate metadata with. - * @param {*} data The metadata. - * @returns {Function} Returns `func`. - */ - var setData = shortOut(baseSetData); - - /** - * A simple wrapper around the global [`setTimeout`](https://mdn.io/setTimeout). - * - * @private - * @param {Function} func The function to delay. - * @param {number} wait The number of milliseconds to delay invocation. - * @returns {number|Object} Returns the timer id or timeout object. - */ - var setTimeout = ctxSetTimeout || function(func, wait) { - return root.setTimeout(func, wait); - }; - - /** - * Sets the `toString` method of `func` to return `string`. - * - * @private - * @param {Function} func The function to modify. - * @param {Function} string The `toString` result. - * @returns {Function} Returns `func`. - */ - var setToString = shortOut(baseSetToString); - - /** - * Sets the `toString` method of `wrapper` to mimic the source of `reference` - * with wrapper details in a comment at the top of the source body. - * - * @private - * @param {Function} wrapper The function to modify. - * @param {Function} reference The reference function. - * @param {number} bitmask The bitmask flags. See `createWrap` for more details. - * @returns {Function} Returns `wrapper`. - */ - function setWrapToString(wrapper, reference, bitmask) { - var source = (reference + ''); - return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask))); - } - - /** - * Creates a function that'll short out and invoke `identity` instead - * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN` - * milliseconds. - * - * @private - * @param {Function} func The function to restrict. - * @returns {Function} Returns the new shortable function. - */ - function shortOut(func) { - var count = 0, - lastCalled = 0; - - return function() { - var stamp = nativeNow(), - remaining = HOT_SPAN - (stamp - lastCalled); - - lastCalled = stamp; - if (remaining > 0) { - if (++count >= HOT_COUNT) { - return arguments[0]; - } - } else { - count = 0; - } - return func.apply(undefined, arguments); - }; - } - - /** - * A specialized version of `_.shuffle` which mutates and sets the size of `array`. - * - * @private - * @param {Array} array The array to shuffle. - * @param {number} [size=array.length] The size of `array`. - * @returns {Array} Returns `array`. - */ - function shuffleSelf(array, size) { - var index = -1, - length = array.length, - lastIndex = length - 1; - - size = size === undefined ? length : size; - while (++index < size) { - var rand = baseRandom(index, lastIndex), - value = array[rand]; - - array[rand] = array[index]; - array[index] = value; - } - array.length = size; - return array; - } - - /** - * Converts `string` to a property path array. - * - * @private - * @param {string} string The string to convert. - * @returns {Array} Returns the property path array. - */ - var stringToPath = memoizeCapped(function(string) { - var result = []; - if (string.charCodeAt(0) === 46 /* . */) { - result.push(''); - } - string.replace(rePropName, function(match, number, quote, subString) { - result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match)); - }); - return result; - }); - - /** - * Converts `value` to a string key if it's not a string or symbol. - * - * @private - * @param {*} value The value to inspect. - * @returns {string|symbol} Returns the key. - */ - function toKey(value) { - if (typeof value == 'string' || isSymbol(value)) { - return value; - } - var result = (value + ''); - return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result; - } - - /** - * Converts `func` to its source code. - * - * @private - * @param {Function} func The function to convert. - * @returns {string} Returns the source code. - */ - function toSource(func) { - if (func != null) { - try { - return funcToString.call(func); - } catch (e) {} - try { - return (func + ''); - } catch (e) {} - } - return ''; - } - - /** - * Updates wrapper `details` based on `bitmask` flags. - * - * @private - * @returns {Array} details The details to modify. - * @param {number} bitmask The bitmask flags. See `createWrap` for more details. - * @returns {Array} Returns `details`. - */ - function updateWrapDetails(details, bitmask) { - arrayEach(wrapFlags, function(pair) { - var value = '_.' + pair[0]; - if ((bitmask & pair[1]) && !arrayIncludes(details, value)) { - details.push(value); - } - }); - return details.sort(); - } - - /** - * Creates a clone of `wrapper`. - * - * @private - * @param {Object} wrapper The wrapper to clone. - * @returns {Object} Returns the cloned wrapper. - */ - function wrapperClone(wrapper) { - if (wrapper instanceof LazyWrapper) { - return wrapper.clone(); - } - var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__); - result.__actions__ = copyArray(wrapper.__actions__); - result.__index__ = wrapper.__index__; - result.__values__ = wrapper.__values__; - return result; - } - - /*------------------------------------------------------------------------*/ - - /** - * Creates an array of elements split into groups the length of `size`. - * If `array` can't be split evenly, the final chunk will be the remaining - * elements. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to process. - * @param {number} [size=1] The length of each chunk - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Array} Returns the new array of chunks. - * @example - * - * _.chunk(['a', 'b', 'c', 'd'], 2); - * // => [['a', 'b'], ['c', 'd']] - * - * _.chunk(['a', 'b', 'c', 'd'], 3); - * // => [['a', 'b', 'c'], ['d']] - */ - function chunk(array, size, guard) { - if ((guard ? isIterateeCall(array, size, guard) : size === undefined)) { - size = 1; - } else { - size = nativeMax(toInteger(size), 0); - } - var length = array == null ? 0 : array.length; - if (!length || size < 1) { - return []; - } - var index = 0, - resIndex = 0, - result = Array(nativeCeil(length / size)); - - while (index < length) { - result[resIndex++] = baseSlice(array, index, (index += size)); - } - return result; - } - - /** - * Creates an array with all falsey values removed. The values `false`, `null`, - * `0`, `""`, `undefined`, and `NaN` are falsey. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to compact. - * @returns {Array} Returns the new array of filtered values. - * @example - * - * _.compact([0, 1, false, 2, '', 3]); - * // => [1, 2, 3] - */ - function compact(array) { - var index = -1, - length = array == null ? 0 : array.length, - resIndex = 0, - result = []; - - while (++index < length) { - var value = array[index]; - if (value) { - result[resIndex++] = value; - } - } - return result; - } - - /** - * Creates a new array concatenating `array` with any additional arrays - * and/or values. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to concatenate. - * @param {...*} [values] The values to concatenate. - * @returns {Array} Returns the new concatenated array. - * @example - * - * var array = [1]; - * var other = _.concat(array, 2, [3], [[4]]); - * - * console.log(other); - * // => [1, 2, 3, [4]] - * - * console.log(array); - * // => [1] - */ - function concat() { - var length = arguments.length; - if (!length) { - return []; - } - var args = Array(length - 1), - array = arguments[0], - index = length; - - while (index--) { - args[index - 1] = arguments[index]; - } - return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1)); - } - - /** - * Creates an array of `array` values not included in the other given arrays - * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. The order and references of result values are - * determined by the first array. - * - * **Note:** Unlike `_.pullAll`, this method returns a new array. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {...Array} [values] The values to exclude. - * @returns {Array} Returns the new array of filtered values. - * @see _.without, _.xor - * @example - * - * _.difference([2, 1], [2, 3]); - * // => [1] - */ - var difference = baseRest(function(array, values) { - return isArrayLikeObject(array) - ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true)) - : []; - }); - - /** - * This method is like `_.difference` except that it accepts `iteratee` which - * is invoked for each element of `array` and `values` to generate the criterion - * by which they're compared. The order and references of result values are - * determined by the first array. The iteratee is invoked with one argument: - * (value). - * - * **Note:** Unlike `_.pullAllBy`, this method returns a new array. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {...Array} [values] The values to exclude. - * @param {Function} [iteratee=_.identity] The iteratee invoked per element. - * @returns {Array} Returns the new array of filtered values. - * @example - * - * _.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor); - * // => [1.2] - * - * // The `_.property` iteratee shorthand. - * _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x'); - * // => [{ 'x': 2 }] - */ - var differenceBy = baseRest(function(array, values) { - var iteratee = last(values); - if (isArrayLikeObject(iteratee)) { - iteratee = undefined; - } - return isArrayLikeObject(array) - ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), getIteratee(iteratee, 2)) - : []; - }); - - /** - * This method is like `_.difference` except that it accepts `comparator` - * which is invoked to compare elements of `array` to `values`. The order and - * references of result values are determined by the first array. The comparator - * is invoked with two arguments: (arrVal, othVal). - * - * **Note:** Unlike `_.pullAllWith`, this method returns a new array. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {...Array} [values] The values to exclude. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new array of filtered values. - * @example - * - * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; - * - * _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual); - * // => [{ 'x': 2, 'y': 1 }] - */ - var differenceWith = baseRest(function(array, values) { - var comparator = last(values); - if (isArrayLikeObject(comparator)) { - comparator = undefined; - } - return isArrayLikeObject(array) - ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), undefined, comparator) - : []; - }); - - /** - * Creates a slice of `array` with `n` elements dropped from the beginning. - * - * @static - * @memberOf _ - * @since 0.5.0 - * @category Array - * @param {Array} array The array to query. - * @param {number} [n=1] The number of elements to drop. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.drop([1, 2, 3]); - * // => [2, 3] - * - * _.drop([1, 2, 3], 2); - * // => [3] - * - * _.drop([1, 2, 3], 5); - * // => [] - * - * _.drop([1, 2, 3], 0); - * // => [1, 2, 3] - */ - function drop(array, n, guard) { - var length = array == null ? 0 : array.length; - if (!length) { - return []; - } - n = (guard || n === undefined) ? 1 : toInteger(n); - return baseSlice(array, n < 0 ? 0 : n, length); - } - - /** - * Creates a slice of `array` with `n` elements dropped from the end. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to query. - * @param {number} [n=1] The number of elements to drop. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.dropRight([1, 2, 3]); - * // => [1, 2] - * - * _.dropRight([1, 2, 3], 2); - * // => [1] - * - * _.dropRight([1, 2, 3], 5); - * // => [] - * - * _.dropRight([1, 2, 3], 0); - * // => [1, 2, 3] - */ - function dropRight(array, n, guard) { - var length = array == null ? 0 : array.length; - if (!length) { - return []; - } - n = (guard || n === undefined) ? 1 : toInteger(n); - n = length - n; - return baseSlice(array, 0, n < 0 ? 0 : n); - } - - /** - * Creates a slice of `array` excluding elements dropped from the end. - * Elements are dropped until `predicate` returns falsey. The predicate is - * invoked with three arguments: (value, index, array). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to query. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {Array} Returns the slice of `array`. - * @example - * - * var users = [ - * { 'user': 'barney', 'active': true }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': false } - * ]; - * - * _.dropRightWhile(users, function(o) { return !o.active; }); - * // => objects for ['barney'] - * - * // The `_.matches` iteratee shorthand. - * _.dropRightWhile(users, { 'user': 'pebbles', 'active': false }); - * // => objects for ['barney', 'fred'] - * - * // The `_.matchesProperty` iteratee shorthand. - * _.dropRightWhile(users, ['active', false]); - * // => objects for ['barney'] - * - * // The `_.property` iteratee shorthand. - * _.dropRightWhile(users, 'active'); - * // => objects for ['barney', 'fred', 'pebbles'] - */ - function dropRightWhile(array, predicate) { - return (array && array.length) - ? baseWhile(array, getIteratee(predicate, 3), true, true) - : []; - } - - /** - * Creates a slice of `array` excluding elements dropped from the beginning. - * Elements are dropped until `predicate` returns falsey. The predicate is - * invoked with three arguments: (value, index, array). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to query. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {Array} Returns the slice of `array`. - * @example - * - * var users = [ - * { 'user': 'barney', 'active': false }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': true } - * ]; - * - * _.dropWhile(users, function(o) { return !o.active; }); - * // => objects for ['pebbles'] - * - * // The `_.matches` iteratee shorthand. - * _.dropWhile(users, { 'user': 'barney', 'active': false }); - * // => objects for ['fred', 'pebbles'] - * - * // The `_.matchesProperty` iteratee shorthand. - * _.dropWhile(users, ['active', false]); - * // => objects for ['pebbles'] - * - * // The `_.property` iteratee shorthand. - * _.dropWhile(users, 'active'); - * // => objects for ['barney', 'fred', 'pebbles'] - */ - function dropWhile(array, predicate) { - return (array && array.length) - ? baseWhile(array, getIteratee(predicate, 3), true) - : []; - } - - /** - * Fills elements of `array` with `value` from `start` up to, but not - * including, `end`. - * - * **Note:** This method mutates `array`. - * - * @static - * @memberOf _ - * @since 3.2.0 - * @category Array - * @param {Array} array The array to fill. - * @param {*} value The value to fill `array` with. - * @param {number} [start=0] The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns `array`. - * @example - * - * var array = [1, 2, 3]; - * - * _.fill(array, 'a'); - * console.log(array); - * // => ['a', 'a', 'a'] - * - * _.fill(Array(3), 2); - * // => [2, 2, 2] - * - * _.fill([4, 6, 8, 10], '*', 1, 3); - * // => [4, '*', '*', 10] - */ - function fill(array, value, start, end) { - var length = array == null ? 0 : array.length; - if (!length) { - return []; - } - if (start && typeof start != 'number' && isIterateeCall(array, value, start)) { - start = 0; - end = length; - } - return baseFill(array, value, start, end); - } - - /** - * This method is like `_.find` except that it returns the index of the first - * element `predicate` returns truthy for instead of the element itself. - * - * @static - * @memberOf _ - * @since 1.1.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @param {number} [fromIndex=0] The index to search from. - * @returns {number} Returns the index of the found element, else `-1`. - * @example - * - * var users = [ - * { 'user': 'barney', 'active': false }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': true } - * ]; - * - * _.findIndex(users, function(o) { return o.user == 'barney'; }); - * // => 0 - * - * // The `_.matches` iteratee shorthand. - * _.findIndex(users, { 'user': 'fred', 'active': false }); - * // => 1 - * - * // The `_.matchesProperty` iteratee shorthand. - * _.findIndex(users, ['active', false]); - * // => 0 - * - * // The `_.property` iteratee shorthand. - * _.findIndex(users, 'active'); - * // => 2 - */ - function findIndex(array, predicate, fromIndex) { - var length = array == null ? 0 : array.length; - if (!length) { - return -1; - } - var index = fromIndex == null ? 0 : toInteger(fromIndex); - if (index < 0) { - index = nativeMax(length + index, 0); - } - return baseFindIndex(array, getIteratee(predicate, 3), index); - } - - /** - * This method is like `_.findIndex` except that it iterates over elements - * of `collection` from right to left. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @param {number} [fromIndex=array.length-1] The index to search from. - * @returns {number} Returns the index of the found element, else `-1`. - * @example - * - * var users = [ - * { 'user': 'barney', 'active': true }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': false } - * ]; - * - * _.findLastIndex(users, function(o) { return o.user == 'pebbles'; }); - * // => 2 - * - * // The `_.matches` iteratee shorthand. - * _.findLastIndex(users, { 'user': 'barney', 'active': true }); - * // => 0 - * - * // The `_.matchesProperty` iteratee shorthand. - * _.findLastIndex(users, ['active', false]); - * // => 2 - * - * // The `_.property` iteratee shorthand. - * _.findLastIndex(users, 'active'); - * // => 0 - */ - function findLastIndex(array, predicate, fromIndex) { - var length = array == null ? 0 : array.length; - if (!length) { - return -1; - } - var index = length - 1; - if (fromIndex !== undefined) { - index = toInteger(fromIndex); - index = fromIndex < 0 - ? nativeMax(length + index, 0) - : nativeMin(index, length - 1); - } - return baseFindIndex(array, getIteratee(predicate, 3), index, true); - } - - /** - * Flattens `array` a single level deep. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to flatten. - * @returns {Array} Returns the new flattened array. - * @example - * - * _.flatten([1, [2, [3, [4]], 5]]); - * // => [1, 2, [3, [4]], 5] - */ - function flatten(array) { - var length = array == null ? 0 : array.length; - return length ? baseFlatten(array, 1) : []; - } - - /** - * Recursively flattens `array`. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to flatten. - * @returns {Array} Returns the new flattened array. - * @example - * - * _.flattenDeep([1, [2, [3, [4]], 5]]); - * // => [1, 2, 3, 4, 5] - */ - function flattenDeep(array) { - var length = array == null ? 0 : array.length; - return length ? baseFlatten(array, INFINITY) : []; - } - - /** - * Recursively flatten `array` up to `depth` times. - * - * @static - * @memberOf _ - * @since 4.4.0 - * @category Array - * @param {Array} array The array to flatten. - * @param {number} [depth=1] The maximum recursion depth. - * @returns {Array} Returns the new flattened array. - * @example - * - * var array = [1, [2, [3, [4]], 5]]; - * - * _.flattenDepth(array, 1); - * // => [1, 2, [3, [4]], 5] - * - * _.flattenDepth(array, 2); - * // => [1, 2, 3, [4], 5] - */ - function flattenDepth(array, depth) { - var length = array == null ? 0 : array.length; - if (!length) { - return []; - } - depth = depth === undefined ? 1 : toInteger(depth); - return baseFlatten(array, depth); - } - - /** - * The inverse of `_.toPairs`; this method returns an object composed - * from key-value `pairs`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} pairs The key-value pairs. - * @returns {Object} Returns the new object. - * @example - * - * _.fromPairs([['a', 1], ['b', 2]]); - * // => { 'a': 1, 'b': 2 } - */ - function fromPairs(pairs) { - var index = -1, - length = pairs == null ? 0 : pairs.length, - result = {}; - - while (++index < length) { - var pair = pairs[index]; - result[pair[0]] = pair[1]; - } - return result; - } - - /** - * Gets the first element of `array`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @alias first - * @category Array - * @param {Array} array The array to query. - * @returns {*} Returns the first element of `array`. - * @example - * - * _.head([1, 2, 3]); - * // => 1 - * - * _.head([]); - * // => undefined - */ - function head(array) { - return (array && array.length) ? array[0] : undefined; - } - - /** - * Gets the index at which the first occurrence of `value` is found in `array` - * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. If `fromIndex` is negative, it's used as the - * offset from the end of `array`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @param {number} [fromIndex=0] The index to search from. - * @returns {number} Returns the index of the matched value, else `-1`. - * @example - * - * _.indexOf([1, 2, 1, 2], 2); - * // => 1 - * - * // Search from the `fromIndex`. - * _.indexOf([1, 2, 1, 2], 2, 2); - * // => 3 - */ - function indexOf(array, value, fromIndex) { - var length = array == null ? 0 : array.length; - if (!length) { - return -1; - } - var index = fromIndex == null ? 0 : toInteger(fromIndex); - if (index < 0) { - index = nativeMax(length + index, 0); - } - return baseIndexOf(array, value, index); - } - - /** - * Gets all but the last element of `array`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to query. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.initial([1, 2, 3]); - * // => [1, 2] - */ - function initial(array) { - var length = array == null ? 0 : array.length; - return length ? baseSlice(array, 0, -1) : []; - } - - /** - * Creates an array of unique values that are included in all given arrays - * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. The order and references of result values are - * determined by the first array. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @returns {Array} Returns the new array of intersecting values. - * @example - * - * _.intersection([2, 1], [2, 3]); - * // => [2] - */ - var intersection = baseRest(function(arrays) { - var mapped = arrayMap(arrays, castArrayLikeObject); - return (mapped.length && mapped[0] === arrays[0]) - ? baseIntersection(mapped) - : []; - }); - - /** - * This method is like `_.intersection` except that it accepts `iteratee` - * which is invoked for each element of each `arrays` to generate the criterion - * by which they're compared. The order and references of result values are - * determined by the first array. The iteratee is invoked with one argument: - * (value). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @param {Function} [iteratee=_.identity] The iteratee invoked per element. - * @returns {Array} Returns the new array of intersecting values. - * @example - * - * _.intersectionBy([2.1, 1.2], [2.3, 3.4], Math.floor); - * // => [2.1] - * - * // The `_.property` iteratee shorthand. - * _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); - * // => [{ 'x': 1 }] - */ - var intersectionBy = baseRest(function(arrays) { - var iteratee = last(arrays), - mapped = arrayMap(arrays, castArrayLikeObject); - - if (iteratee === last(mapped)) { - iteratee = undefined; - } else { - mapped.pop(); - } - return (mapped.length && mapped[0] === arrays[0]) - ? baseIntersection(mapped, getIteratee(iteratee, 2)) - : []; - }); - - /** - * This method is like `_.intersection` except that it accepts `comparator` - * which is invoked to compare elements of `arrays`. The order and references - * of result values are determined by the first array. The comparator is - * invoked with two arguments: (arrVal, othVal). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new array of intersecting values. - * @example - * - * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; - * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; - * - * _.intersectionWith(objects, others, _.isEqual); - * // => [{ 'x': 1, 'y': 2 }] - */ - var intersectionWith = baseRest(function(arrays) { - var comparator = last(arrays), - mapped = arrayMap(arrays, castArrayLikeObject); - - comparator = typeof comparator == 'function' ? comparator : undefined; - if (comparator) { - mapped.pop(); - } - return (mapped.length && mapped[0] === arrays[0]) - ? baseIntersection(mapped, undefined, comparator) - : []; - }); - - /** - * Converts all elements in `array` into a string separated by `separator`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to convert. - * @param {string} [separator=','] The element separator. - * @returns {string} Returns the joined string. - * @example - * - * _.join(['a', 'b', 'c'], '~'); - * // => 'a~b~c' - */ - function join(array, separator) { - return array == null ? '' : nativeJoin.call(array, separator); - } - - /** - * Gets the last element of `array`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to query. - * @returns {*} Returns the last element of `array`. - * @example - * - * _.last([1, 2, 3]); - * // => 3 - */ - function last(array) { - var length = array == null ? 0 : array.length; - return length ? array[length - 1] : undefined; - } - - /** - * This method is like `_.indexOf` except that it iterates over elements of - * `array` from right to left. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @param {number} [fromIndex=array.length-1] The index to search from. - * @returns {number} Returns the index of the matched value, else `-1`. - * @example - * - * _.lastIndexOf([1, 2, 1, 2], 2); - * // => 3 - * - * // Search from the `fromIndex`. - * _.lastIndexOf([1, 2, 1, 2], 2, 2); - * // => 1 - */ - function lastIndexOf(array, value, fromIndex) { - var length = array == null ? 0 : array.length; - if (!length) { - return -1; - } - var index = length; - if (fromIndex !== undefined) { - index = toInteger(fromIndex); - index = index < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1); - } - return value === value - ? strictLastIndexOf(array, value, index) - : baseFindIndex(array, baseIsNaN, index, true); - } - - /** - * Gets the element at index `n` of `array`. If `n` is negative, the nth - * element from the end is returned. - * - * @static - * @memberOf _ - * @since 4.11.0 - * @category Array - * @param {Array} array The array to query. - * @param {number} [n=0] The index of the element to return. - * @returns {*} Returns the nth element of `array`. - * @example - * - * var array = ['a', 'b', 'c', 'd']; - * - * _.nth(array, 1); - * // => 'b' - * - * _.nth(array, -2); - * // => 'c'; - */ - function nth(array, n) { - return (array && array.length) ? baseNth(array, toInteger(n)) : undefined; - } - - /** - * Removes all given values from `array` using - * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. - * - * **Note:** Unlike `_.without`, this method mutates `array`. Use `_.remove` - * to remove elements from an array by predicate. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Array - * @param {Array} array The array to modify. - * @param {...*} [values] The values to remove. - * @returns {Array} Returns `array`. - * @example - * - * var array = ['a', 'b', 'c', 'a', 'b', 'c']; - * - * _.pull(array, 'a', 'c'); - * console.log(array); - * // => ['b', 'b'] - */ - var pull = baseRest(pullAll); - - /** - * This method is like `_.pull` except that it accepts an array of values to remove. - * - * **Note:** Unlike `_.difference`, this method mutates `array`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to modify. - * @param {Array} values The values to remove. - * @returns {Array} Returns `array`. - * @example - * - * var array = ['a', 'b', 'c', 'a', 'b', 'c']; - * - * _.pullAll(array, ['a', 'c']); - * console.log(array); - * // => ['b', 'b'] - */ - function pullAll(array, values) { - return (array && array.length && values && values.length) - ? basePullAll(array, values) - : array; - } - - /** - * This method is like `_.pullAll` except that it accepts `iteratee` which is - * invoked for each element of `array` and `values` to generate the criterion - * by which they're compared. The iteratee is invoked with one argument: (value). - * - * **Note:** Unlike `_.differenceBy`, this method mutates `array`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to modify. - * @param {Array} values The values to remove. - * @param {Function} [iteratee=_.identity] The iteratee invoked per element. - * @returns {Array} Returns `array`. - * @example - * - * var array = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }]; - * - * _.pullAllBy(array, [{ 'x': 1 }, { 'x': 3 }], 'x'); - * console.log(array); - * // => [{ 'x': 2 }] - */ - function pullAllBy(array, values, iteratee) { - return (array && array.length && values && values.length) - ? basePullAll(array, values, getIteratee(iteratee, 2)) - : array; - } - - /** - * This method is like `_.pullAll` except that it accepts `comparator` which - * is invoked to compare elements of `array` to `values`. The comparator is - * invoked with two arguments: (arrVal, othVal). - * - * **Note:** Unlike `_.differenceWith`, this method mutates `array`. - * - * @static - * @memberOf _ - * @since 4.6.0 - * @category Array - * @param {Array} array The array to modify. - * @param {Array} values The values to remove. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns `array`. - * @example - * - * var array = [{ 'x': 1, 'y': 2 }, { 'x': 3, 'y': 4 }, { 'x': 5, 'y': 6 }]; - * - * _.pullAllWith(array, [{ 'x': 3, 'y': 4 }], _.isEqual); - * console.log(array); - * // => [{ 'x': 1, 'y': 2 }, { 'x': 5, 'y': 6 }] - */ - function pullAllWith(array, values, comparator) { - return (array && array.length && values && values.length) - ? basePullAll(array, values, undefined, comparator) - : array; - } - - /** - * Removes elements from `array` corresponding to `indexes` and returns an - * array of removed elements. - * - * **Note:** Unlike `_.at`, this method mutates `array`. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to modify. - * @param {...(number|number[])} [indexes] The indexes of elements to remove. - * @returns {Array} Returns the new array of removed elements. - * @example - * - * var array = ['a', 'b', 'c', 'd']; - * var pulled = _.pullAt(array, [1, 3]); - * - * console.log(array); - * // => ['a', 'c'] - * - * console.log(pulled); - * // => ['b', 'd'] - */ - var pullAt = flatRest(function(array, indexes) { - var length = array == null ? 0 : array.length, - result = baseAt(array, indexes); - - basePullAt(array, arrayMap(indexes, function(index) { - return isIndex(index, length) ? +index : index; - }).sort(compareAscending)); - - return result; - }); - - /** - * Removes all elements from `array` that `predicate` returns truthy for - * and returns an array of the removed elements. The predicate is invoked - * with three arguments: (value, index, array). - * - * **Note:** Unlike `_.filter`, this method mutates `array`. Use `_.pull` - * to pull elements from an array by value. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Array - * @param {Array} array The array to modify. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {Array} Returns the new array of removed elements. - * @example - * - * var array = [1, 2, 3, 4]; - * var evens = _.remove(array, function(n) { - * return n % 2 == 0; - * }); - * - * console.log(array); - * // => [1, 3] - * - * console.log(evens); - * // => [2, 4] - */ - function remove(array, predicate) { - var result = []; - if (!(array && array.length)) { - return result; - } - var index = -1, - indexes = [], - length = array.length; - - predicate = getIteratee(predicate, 3); - while (++index < length) { - var value = array[index]; - if (predicate(value, index, array)) { - result.push(value); - indexes.push(index); - } - } - basePullAt(array, indexes); - return result; - } - - /** - * Reverses `array` so that the first element becomes the last, the second - * element becomes the second to last, and so on. - * - * **Note:** This method mutates `array` and is based on - * [`Array#reverse`](https://mdn.io/Array/reverse). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to modify. - * @returns {Array} Returns `array`. - * @example - * - * var array = [1, 2, 3]; - * - * _.reverse(array); - * // => [3, 2, 1] - * - * console.log(array); - * // => [3, 2, 1] - */ - function reverse(array) { - return array == null ? array : nativeReverse.call(array); - } - - /** - * Creates a slice of `array` from `start` up to, but not including, `end`. - * - * **Note:** This method is used instead of - * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are - * returned. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to slice. - * @param {number} [start=0] The start position. - * @param {number} [end=array.length] The end position. - * @returns {Array} Returns the slice of `array`. - */ - function slice(array, start, end) { - var length = array == null ? 0 : array.length; - if (!length) { - return []; - } - if (end && typeof end != 'number' && isIterateeCall(array, start, end)) { - start = 0; - end = length; - } - else { - start = start == null ? 0 : toInteger(start); - end = end === undefined ? length : toInteger(end); - } - return baseSlice(array, start, end); - } - - /** - * Uses a binary search to determine the lowest index at which `value` - * should be inserted into `array` in order to maintain its sort order. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The sorted array to inspect. - * @param {*} value The value to evaluate. - * @returns {number} Returns the index at which `value` should be inserted - * into `array`. - * @example - * - * _.sortedIndex([30, 50], 40); - * // => 1 - */ - function sortedIndex(array, value) { - return baseSortedIndex(array, value); - } - - /** - * This method is like `_.sortedIndex` except that it accepts `iteratee` - * which is invoked for `value` and each element of `array` to compute their - * sort ranking. The iteratee is invoked with one argument: (value). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The sorted array to inspect. - * @param {*} value The value to evaluate. - * @param {Function} [iteratee=_.identity] The iteratee invoked per element. - * @returns {number} Returns the index at which `value` should be inserted - * into `array`. - * @example - * - * var objects = [{ 'x': 4 }, { 'x': 5 }]; - * - * _.sortedIndexBy(objects, { 'x': 4 }, function(o) { return o.x; }); - * // => 0 - * - * // The `_.property` iteratee shorthand. - * _.sortedIndexBy(objects, { 'x': 4 }, 'x'); - * // => 0 - */ - function sortedIndexBy(array, value, iteratee) { - return baseSortedIndexBy(array, value, getIteratee(iteratee, 2)); - } - - /** - * This method is like `_.indexOf` except that it performs a binary - * search on a sorted `array`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @returns {number} Returns the index of the matched value, else `-1`. - * @example - * - * _.sortedIndexOf([4, 5, 5, 5, 6], 5); - * // => 1 - */ - function sortedIndexOf(array, value) { - var length = array == null ? 0 : array.length; - if (length) { - var index = baseSortedIndex(array, value); - if (index < length && eq(array[index], value)) { - return index; - } - } - return -1; - } - - /** - * This method is like `_.sortedIndex` except that it returns the highest - * index at which `value` should be inserted into `array` in order to - * maintain its sort order. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The sorted array to inspect. - * @param {*} value The value to evaluate. - * @returns {number} Returns the index at which `value` should be inserted - * into `array`. - * @example - * - * _.sortedLastIndex([4, 5, 5, 5, 6], 5); - * // => 4 - */ - function sortedLastIndex(array, value) { - return baseSortedIndex(array, value, true); - } - - /** - * This method is like `_.sortedLastIndex` except that it accepts `iteratee` - * which is invoked for `value` and each element of `array` to compute their - * sort ranking. The iteratee is invoked with one argument: (value). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The sorted array to inspect. - * @param {*} value The value to evaluate. - * @param {Function} [iteratee=_.identity] The iteratee invoked per element. - * @returns {number} Returns the index at which `value` should be inserted - * into `array`. - * @example - * - * var objects = [{ 'x': 4 }, { 'x': 5 }]; - * - * _.sortedLastIndexBy(objects, { 'x': 4 }, function(o) { return o.x; }); - * // => 1 - * - * // The `_.property` iteratee shorthand. - * _.sortedLastIndexBy(objects, { 'x': 4 }, 'x'); - * // => 1 - */ - function sortedLastIndexBy(array, value, iteratee) { - return baseSortedIndexBy(array, value, getIteratee(iteratee, 2), true); - } - - /** - * This method is like `_.lastIndexOf` except that it performs a binary - * search on a sorted `array`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {*} value The value to search for. - * @returns {number} Returns the index of the matched value, else `-1`. - * @example - * - * _.sortedLastIndexOf([4, 5, 5, 5, 6], 5); - * // => 3 - */ - function sortedLastIndexOf(array, value) { - var length = array == null ? 0 : array.length; - if (length) { - var index = baseSortedIndex(array, value, true) - 1; - if (eq(array[index], value)) { - return index; - } - } - return -1; - } - - /** - * This method is like `_.uniq` except that it's designed and optimized - * for sorted arrays. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to inspect. - * @returns {Array} Returns the new duplicate free array. - * @example - * - * _.sortedUniq([1, 1, 2]); - * // => [1, 2] - */ - function sortedUniq(array) { - return (array && array.length) - ? baseSortedUniq(array) - : []; - } - - /** - * This method is like `_.uniqBy` except that it's designed and optimized - * for sorted arrays. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {Function} [iteratee] The iteratee invoked per element. - * @returns {Array} Returns the new duplicate free array. - * @example - * - * _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor); - * // => [1.1, 2.3] - */ - function sortedUniqBy(array, iteratee) { - return (array && array.length) - ? baseSortedUniq(array, getIteratee(iteratee, 2)) - : []; - } - - /** - * Gets all but the first element of `array`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to query. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.tail([1, 2, 3]); - * // => [2, 3] - */ - function tail(array) { - var length = array == null ? 0 : array.length; - return length ? baseSlice(array, 1, length) : []; - } - - /** - * Creates a slice of `array` with `n` elements taken from the beginning. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to query. - * @param {number} [n=1] The number of elements to take. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.take([1, 2, 3]); - * // => [1] - * - * _.take([1, 2, 3], 2); - * // => [1, 2] - * - * _.take([1, 2, 3], 5); - * // => [1, 2, 3] - * - * _.take([1, 2, 3], 0); - * // => [] - */ - function take(array, n, guard) { - if (!(array && array.length)) { - return []; - } - n = (guard || n === undefined) ? 1 : toInteger(n); - return baseSlice(array, 0, n < 0 ? 0 : n); - } - - /** - * Creates a slice of `array` with `n` elements taken from the end. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to query. - * @param {number} [n=1] The number of elements to take. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Array} Returns the slice of `array`. - * @example - * - * _.takeRight([1, 2, 3]); - * // => [3] - * - * _.takeRight([1, 2, 3], 2); - * // => [2, 3] - * - * _.takeRight([1, 2, 3], 5); - * // => [1, 2, 3] - * - * _.takeRight([1, 2, 3], 0); - * // => [] - */ - function takeRight(array, n, guard) { - var length = array == null ? 0 : array.length; - if (!length) { - return []; - } - n = (guard || n === undefined) ? 1 : toInteger(n); - n = length - n; - return baseSlice(array, n < 0 ? 0 : n, length); - } - - /** - * Creates a slice of `array` with elements taken from the end. Elements are - * taken until `predicate` returns falsey. The predicate is invoked with - * three arguments: (value, index, array). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to query. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {Array} Returns the slice of `array`. - * @example - * - * var users = [ - * { 'user': 'barney', 'active': true }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': false } - * ]; - * - * _.takeRightWhile(users, function(o) { return !o.active; }); - * // => objects for ['fred', 'pebbles'] - * - * // The `_.matches` iteratee shorthand. - * _.takeRightWhile(users, { 'user': 'pebbles', 'active': false }); - * // => objects for ['pebbles'] - * - * // The `_.matchesProperty` iteratee shorthand. - * _.takeRightWhile(users, ['active', false]); - * // => objects for ['fred', 'pebbles'] - * - * // The `_.property` iteratee shorthand. - * _.takeRightWhile(users, 'active'); - * // => [] - */ - function takeRightWhile(array, predicate) { - return (array && array.length) - ? baseWhile(array, getIteratee(predicate, 3), false, true) - : []; - } - - /** - * Creates a slice of `array` with elements taken from the beginning. Elements - * are taken until `predicate` returns falsey. The predicate is invoked with - * three arguments: (value, index, array). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Array - * @param {Array} array The array to query. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {Array} Returns the slice of `array`. - * @example - * - * var users = [ - * { 'user': 'barney', 'active': false }, - * { 'user': 'fred', 'active': false }, - * { 'user': 'pebbles', 'active': true } - * ]; - * - * _.takeWhile(users, function(o) { return !o.active; }); - * // => objects for ['barney', 'fred'] - * - * // The `_.matches` iteratee shorthand. - * _.takeWhile(users, { 'user': 'barney', 'active': false }); - * // => objects for ['barney'] - * - * // The `_.matchesProperty` iteratee shorthand. - * _.takeWhile(users, ['active', false]); - * // => objects for ['barney', 'fred'] - * - * // The `_.property` iteratee shorthand. - * _.takeWhile(users, 'active'); - * // => [] - */ - function takeWhile(array, predicate) { - return (array && array.length) - ? baseWhile(array, getIteratee(predicate, 3)) - : []; - } - - /** - * Creates an array of unique values, in order, from all given arrays using - * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @returns {Array} Returns the new array of combined values. - * @example - * - * _.union([2], [1, 2]); - * // => [2, 1] - */ - var union = baseRest(function(arrays) { - return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true)); - }); - - /** - * This method is like `_.union` except that it accepts `iteratee` which is - * invoked for each element of each `arrays` to generate the criterion by - * which uniqueness is computed. Result values are chosen from the first - * array in which the value occurs. The iteratee is invoked with one argument: - * (value). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @param {Function} [iteratee=_.identity] The iteratee invoked per element. - * @returns {Array} Returns the new array of combined values. - * @example - * - * _.unionBy([2.1], [1.2, 2.3], Math.floor); - * // => [2.1, 1.2] - * - * // The `_.property` iteratee shorthand. - * _.unionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); - * // => [{ 'x': 1 }, { 'x': 2 }] - */ - var unionBy = baseRest(function(arrays) { - var iteratee = last(arrays); - if (isArrayLikeObject(iteratee)) { - iteratee = undefined; - } - return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), getIteratee(iteratee, 2)); - }); - - /** - * This method is like `_.union` except that it accepts `comparator` which - * is invoked to compare elements of `arrays`. Result values are chosen from - * the first array in which the value occurs. The comparator is invoked - * with two arguments: (arrVal, othVal). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new array of combined values. - * @example - * - * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; - * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; - * - * _.unionWith(objects, others, _.isEqual); - * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }] - */ - var unionWith = baseRest(function(arrays) { - var comparator = last(arrays); - comparator = typeof comparator == 'function' ? comparator : undefined; - return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), undefined, comparator); - }); - - /** - * Creates a duplicate-free version of an array, using - * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons, in which only the first occurrence of each element - * is kept. The order of result values is determined by the order they occur - * in the array. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to inspect. - * @returns {Array} Returns the new duplicate free array. - * @example - * - * _.uniq([2, 1, 2]); - * // => [2, 1] - */ - function uniq(array) { - return (array && array.length) ? baseUniq(array) : []; - } - - /** - * This method is like `_.uniq` except that it accepts `iteratee` which is - * invoked for each element in `array` to generate the criterion by which - * uniqueness is computed. The order of result values is determined by the - * order they occur in the array. The iteratee is invoked with one argument: - * (value). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {Function} [iteratee=_.identity] The iteratee invoked per element. - * @returns {Array} Returns the new duplicate free array. - * @example - * - * _.uniqBy([2.1, 1.2, 2.3], Math.floor); - * // => [2.1, 1.2] - * - * // The `_.property` iteratee shorthand. - * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x'); - * // => [{ 'x': 1 }, { 'x': 2 }] - */ - function uniqBy(array, iteratee) { - return (array && array.length) ? baseUniq(array, getIteratee(iteratee, 2)) : []; - } - - /** - * This method is like `_.uniq` except that it accepts `comparator` which - * is invoked to compare elements of `array`. The order of result values is - * determined by the order they occur in the array.The comparator is invoked - * with two arguments: (arrVal, othVal). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new duplicate free array. - * @example - * - * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }]; - * - * _.uniqWith(objects, _.isEqual); - * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }] - */ - function uniqWith(array, comparator) { - comparator = typeof comparator == 'function' ? comparator : undefined; - return (array && array.length) ? baseUniq(array, undefined, comparator) : []; - } - - /** - * This method is like `_.zip` except that it accepts an array of grouped - * elements and creates an array regrouping the elements to their pre-zip - * configuration. - * - * @static - * @memberOf _ - * @since 1.2.0 - * @category Array - * @param {Array} array The array of grouped elements to process. - * @returns {Array} Returns the new array of regrouped elements. - * @example - * - * var zipped = _.zip(['a', 'b'], [1, 2], [true, false]); - * // => [['a', 1, true], ['b', 2, false]] - * - * _.unzip(zipped); - * // => [['a', 'b'], [1, 2], [true, false]] - */ - function unzip(array) { - if (!(array && array.length)) { - return []; - } - var length = 0; - array = arrayFilter(array, function(group) { - if (isArrayLikeObject(group)) { - length = nativeMax(group.length, length); - return true; - } - }); - return baseTimes(length, function(index) { - return arrayMap(array, baseProperty(index)); - }); - } - - /** - * This method is like `_.unzip` except that it accepts `iteratee` to specify - * how regrouped values should be combined. The iteratee is invoked with the - * elements of each group: (...group). - * - * @static - * @memberOf _ - * @since 3.8.0 - * @category Array - * @param {Array} array The array of grouped elements to process. - * @param {Function} [iteratee=_.identity] The function to combine - * regrouped values. - * @returns {Array} Returns the new array of regrouped elements. - * @example - * - * var zipped = _.zip([1, 2], [10, 20], [100, 200]); - * // => [[1, 10, 100], [2, 20, 200]] - * - * _.unzipWith(zipped, _.add); - * // => [3, 30, 300] - */ - function unzipWith(array, iteratee) { - if (!(array && array.length)) { - return []; - } - var result = unzip(array); - if (iteratee == null) { - return result; - } - return arrayMap(result, function(group) { - return apply(iteratee, undefined, group); - }); - } - - /** - * Creates an array excluding all given values using - * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * for equality comparisons. - * - * **Note:** Unlike `_.pull`, this method returns a new array. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {Array} array The array to inspect. - * @param {...*} [values] The values to exclude. - * @returns {Array} Returns the new array of filtered values. - * @see _.difference, _.xor - * @example - * - * _.without([2, 1, 2, 3], 1, 2); - * // => [3] - */ - var without = baseRest(function(array, values) { - return isArrayLikeObject(array) - ? baseDifference(array, values) - : []; - }); - - /** - * Creates an array of unique values that is the - * [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference) - * of the given arrays. The order of result values is determined by the order - * they occur in the arrays. - * - * @static - * @memberOf _ - * @since 2.4.0 - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @returns {Array} Returns the new array of filtered values. - * @see _.difference, _.without - * @example - * - * _.xor([2, 1], [2, 3]); - * // => [1, 3] - */ - var xor = baseRest(function(arrays) { - return baseXor(arrayFilter(arrays, isArrayLikeObject)); - }); - - /** - * This method is like `_.xor` except that it accepts `iteratee` which is - * invoked for each element of each `arrays` to generate the criterion by - * which by which they're compared. The order of result values is determined - * by the order they occur in the arrays. The iteratee is invoked with one - * argument: (value). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @param {Function} [iteratee=_.identity] The iteratee invoked per element. - * @returns {Array} Returns the new array of filtered values. - * @example - * - * _.xorBy([2.1, 1.2], [2.3, 3.4], Math.floor); - * // => [1.2, 3.4] - * - * // The `_.property` iteratee shorthand. - * _.xorBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x'); - * // => [{ 'x': 2 }] - */ - var xorBy = baseRest(function(arrays) { - var iteratee = last(arrays); - if (isArrayLikeObject(iteratee)) { - iteratee = undefined; - } - return baseXor(arrayFilter(arrays, isArrayLikeObject), getIteratee(iteratee, 2)); - }); - - /** - * This method is like `_.xor` except that it accepts `comparator` which is - * invoked to compare elements of `arrays`. The order of result values is - * determined by the order they occur in the arrays. The comparator is invoked - * with two arguments: (arrVal, othVal). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Array - * @param {...Array} [arrays] The arrays to inspect. - * @param {Function} [comparator] The comparator invoked per element. - * @returns {Array} Returns the new array of filtered values. - * @example - * - * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]; - * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }]; - * - * _.xorWith(objects, others, _.isEqual); - * // => [{ 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }] - */ - var xorWith = baseRest(function(arrays) { - var comparator = last(arrays); - comparator = typeof comparator == 'function' ? comparator : undefined; - return baseXor(arrayFilter(arrays, isArrayLikeObject), undefined, comparator); - }); - - /** - * Creates an array of grouped elements, the first of which contains the - * first elements of the given arrays, the second of which contains the - * second elements of the given arrays, and so on. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Array - * @param {...Array} [arrays] The arrays to process. - * @returns {Array} Returns the new array of grouped elements. - * @example - * - * _.zip(['a', 'b'], [1, 2], [true, false]); - * // => [['a', 1, true], ['b', 2, false]] - */ - var zip = baseRest(unzip); - - /** - * This method is like `_.fromPairs` except that it accepts two arrays, - * one of property identifiers and one of corresponding values. - * - * @static - * @memberOf _ - * @since 0.4.0 - * @category Array - * @param {Array} [props=[]] The property identifiers. - * @param {Array} [values=[]] The property values. - * @returns {Object} Returns the new object. - * @example - * - * _.zipObject(['a', 'b'], [1, 2]); - * // => { 'a': 1, 'b': 2 } - */ - function zipObject(props, values) { - return baseZipObject(props || [], values || [], assignValue); - } - - /** - * This method is like `_.zipObject` except that it supports property paths. - * - * @static - * @memberOf _ - * @since 4.1.0 - * @category Array - * @param {Array} [props=[]] The property identifiers. - * @param {Array} [values=[]] The property values. - * @returns {Object} Returns the new object. - * @example - * - * _.zipObjectDeep(['a.b[0].c', 'a.b[1].d'], [1, 2]); - * // => { 'a': { 'b': [{ 'c': 1 }, { 'd': 2 }] } } - */ - function zipObjectDeep(props, values) { - return baseZipObject(props || [], values || [], baseSet); - } - - /** - * This method is like `_.zip` except that it accepts `iteratee` to specify - * how grouped values should be combined. The iteratee is invoked with the - * elements of each group: (...group). - * - * @static - * @memberOf _ - * @since 3.8.0 - * @category Array - * @param {...Array} [arrays] The arrays to process. - * @param {Function} [iteratee=_.identity] The function to combine - * grouped values. - * @returns {Array} Returns the new array of grouped elements. - * @example - * - * _.zipWith([1, 2], [10, 20], [100, 200], function(a, b, c) { - * return a + b + c; - * }); - * // => [111, 222] - */ - var zipWith = baseRest(function(arrays) { - var length = arrays.length, - iteratee = length > 1 ? arrays[length - 1] : undefined; - - iteratee = typeof iteratee == 'function' ? (arrays.pop(), iteratee) : undefined; - return unzipWith(arrays, iteratee); - }); - - /*------------------------------------------------------------------------*/ - - /** - * Creates a `lodash` wrapper instance that wraps `value` with explicit method - * chain sequences enabled. The result of such sequences must be unwrapped - * with `_#value`. - * - * @static - * @memberOf _ - * @since 1.3.0 - * @category Seq - * @param {*} value The value to wrap. - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36 }, - * { 'user': 'fred', 'age': 40 }, - * { 'user': 'pebbles', 'age': 1 } - * ]; - * - * var youngest = _ - * .chain(users) - * .sortBy('age') - * .map(function(o) { - * return o.user + ' is ' + o.age; - * }) - * .head() - * .value(); - * // => 'pebbles is 1' - */ - function chain(value) { - var result = lodash(value); - result.__chain__ = true; - return result; - } - - /** - * This method invokes `interceptor` and returns `value`. The interceptor - * is invoked with one argument; (value). The purpose of this method is to - * "tap into" a method chain sequence in order to modify intermediate results. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Seq - * @param {*} value The value to provide to `interceptor`. - * @param {Function} interceptor The function to invoke. - * @returns {*} Returns `value`. - * @example - * - * _([1, 2, 3]) - * .tap(function(array) { - * // Mutate input array. - * array.pop(); - * }) - * .reverse() - * .value(); - * // => [2, 1] - */ - function tap(value, interceptor) { - interceptor(value); - return value; - } - - /** - * This method is like `_.tap` except that it returns the result of `interceptor`. - * The purpose of this method is to "pass thru" values replacing intermediate - * results in a method chain sequence. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Seq - * @param {*} value The value to provide to `interceptor`. - * @param {Function} interceptor The function to invoke. - * @returns {*} Returns the result of `interceptor`. - * @example - * - * _(' abc ') - * .chain() - * .trim() - * .thru(function(value) { - * return [value]; - * }) - * .value(); - * // => ['abc'] - */ - function thru(value, interceptor) { - return interceptor(value); - } - - /** - * This method is the wrapper version of `_.at`. - * - * @name at - * @memberOf _ - * @since 1.0.0 - * @category Seq - * @param {...(string|string[])} [paths] The property paths to pick. - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] }; - * - * _(object).at(['a[0].b.c', 'a[1]']).value(); - * // => [3, 4] - */ - var wrapperAt = flatRest(function(paths) { - var length = paths.length, - start = length ? paths[0] : 0, - value = this.__wrapped__, - interceptor = function(object) { return baseAt(object, paths); }; - - if (length > 1 || this.__actions__.length || - !(value instanceof LazyWrapper) || !isIndex(start)) { - return this.thru(interceptor); - } - value = value.slice(start, +start + (length ? 1 : 0)); - value.__actions__.push({ - 'func': thru, - 'args': [interceptor], - 'thisArg': undefined - }); - return new LodashWrapper(value, this.__chain__).thru(function(array) { - if (length && !array.length) { - array.push(undefined); - } - return array; - }); - }); - - /** - * Creates a `lodash` wrapper instance with explicit method chain sequences enabled. - * - * @name chain - * @memberOf _ - * @since 0.1.0 - * @category Seq - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36 }, - * { 'user': 'fred', 'age': 40 } - * ]; - * - * // A sequence without explicit chaining. - * _(users).head(); - * // => { 'user': 'barney', 'age': 36 } - * - * // A sequence with explicit chaining. - * _(users) - * .chain() - * .head() - * .pick('user') - * .value(); - * // => { 'user': 'barney' } - */ - function wrapperChain() { - return chain(this); - } - - /** - * Executes the chain sequence and returns the wrapped result. - * - * @name commit - * @memberOf _ - * @since 3.2.0 - * @category Seq - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * var array = [1, 2]; - * var wrapped = _(array).push(3); - * - * console.log(array); - * // => [1, 2] - * - * wrapped = wrapped.commit(); - * console.log(array); - * // => [1, 2, 3] - * - * wrapped.last(); - * // => 3 - * - * console.log(array); - * // => [1, 2, 3] - */ - function wrapperCommit() { - return new LodashWrapper(this.value(), this.__chain__); - } - - /** - * Gets the next value on a wrapped object following the - * [iterator protocol](https://mdn.io/iteration_protocols#iterator). - * - * @name next - * @memberOf _ - * @since 4.0.0 - * @category Seq - * @returns {Object} Returns the next iterator value. - * @example - * - * var wrapped = _([1, 2]); - * - * wrapped.next(); - * // => { 'done': false, 'value': 1 } - * - * wrapped.next(); - * // => { 'done': false, 'value': 2 } - * - * wrapped.next(); - * // => { 'done': true, 'value': undefined } - */ - function wrapperNext() { - if (this.__values__ === undefined) { - this.__values__ = toArray(this.value()); - } - var done = this.__index__ >= this.__values__.length, - value = done ? undefined : this.__values__[this.__index__++]; - - return { 'done': done, 'value': value }; - } - - /** - * Enables the wrapper to be iterable. - * - * @name Symbol.iterator - * @memberOf _ - * @since 4.0.0 - * @category Seq - * @returns {Object} Returns the wrapper object. - * @example - * - * var wrapped = _([1, 2]); - * - * wrapped[Symbol.iterator]() === wrapped; - * // => true - * - * Array.from(wrapped); - * // => [1, 2] - */ - function wrapperToIterator() { - return this; - } - - /** - * Creates a clone of the chain sequence planting `value` as the wrapped value. - * - * @name plant - * @memberOf _ - * @since 3.2.0 - * @category Seq - * @param {*} value The value to plant. - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * function square(n) { - * return n * n; - * } - * - * var wrapped = _([1, 2]).map(square); - * var other = wrapped.plant([3, 4]); - * - * other.value(); - * // => [9, 16] - * - * wrapped.value(); - * // => [1, 4] - */ - function wrapperPlant(value) { - var result, - parent = this; - - while (parent instanceof baseLodash) { - var clone = wrapperClone(parent); - clone.__index__ = 0; - clone.__values__ = undefined; - if (result) { - previous.__wrapped__ = clone; - } else { - result = clone; - } - var previous = clone; - parent = parent.__wrapped__; - } - previous.__wrapped__ = value; - return result; - } - - /** - * This method is the wrapper version of `_.reverse`. - * - * **Note:** This method mutates the wrapped array. - * - * @name reverse - * @memberOf _ - * @since 0.1.0 - * @category Seq - * @returns {Object} Returns the new `lodash` wrapper instance. - * @example - * - * var array = [1, 2, 3]; - * - * _(array).reverse().value() - * // => [3, 2, 1] - * - * console.log(array); - * // => [3, 2, 1] - */ - function wrapperReverse() { - var value = this.__wrapped__; - if (value instanceof LazyWrapper) { - var wrapped = value; - if (this.__actions__.length) { - wrapped = new LazyWrapper(this); - } - wrapped = wrapped.reverse(); - wrapped.__actions__.push({ - 'func': thru, - 'args': [reverse], - 'thisArg': undefined - }); - return new LodashWrapper(wrapped, this.__chain__); - } - return this.thru(reverse); - } - - /** - * Executes the chain sequence to resolve the unwrapped value. - * - * @name value - * @memberOf _ - * @since 0.1.0 - * @alias toJSON, valueOf - * @category Seq - * @returns {*} Returns the resolved unwrapped value. - * @example - * - * _([1, 2, 3]).value(); - * // => [1, 2, 3] - */ - function wrapperValue() { - return baseWrapperValue(this.__wrapped__, this.__actions__); - } - - /*------------------------------------------------------------------------*/ - - /** - * Creates an object composed of keys generated from the results of running - * each element of `collection` thru `iteratee`. The corresponding value of - * each key is the number of times the key was returned by `iteratee`. The - * iteratee is invoked with one argument: (value). - * - * @static - * @memberOf _ - * @since 0.5.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The iteratee to transform keys. - * @returns {Object} Returns the composed aggregate object. - * @example - * - * _.countBy([6.1, 4.2, 6.3], Math.floor); - * // => { '4': 1, '6': 2 } - * - * // The `_.property` iteratee shorthand. - * _.countBy(['one', 'two', 'three'], 'length'); - * // => { '3': 2, '5': 1 } - */ - var countBy = createAggregator(function(result, value, key) { - if (hasOwnProperty.call(result, key)) { - ++result[key]; - } else { - baseAssignValue(result, key, 1); - } - }); - - /** - * Checks if `predicate` returns truthy for **all** elements of `collection`. - * Iteration is stopped once `predicate` returns falsey. The predicate is - * invoked with three arguments: (value, index|key, collection). - * - * **Note:** This method returns `true` for - * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because - * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of - * elements of empty collections. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {boolean} Returns `true` if all elements pass the predicate check, - * else `false`. - * @example - * - * _.every([true, 1, null, 'yes'], Boolean); - * // => false - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': false }, - * { 'user': 'fred', 'age': 40, 'active': false } - * ]; - * - * // The `_.matches` iteratee shorthand. - * _.every(users, { 'user': 'barney', 'active': false }); - * // => false - * - * // The `_.matchesProperty` iteratee shorthand. - * _.every(users, ['active', false]); - * // => true - * - * // The `_.property` iteratee shorthand. - * _.every(users, 'active'); - * // => false - */ - function every(collection, predicate, guard) { - var func = isArray(collection) ? arrayEvery : baseEvery; - if (guard && isIterateeCall(collection, predicate, guard)) { - predicate = undefined; - } - return func(collection, getIteratee(predicate, 3)); - } - - /** - * Iterates over elements of `collection`, returning an array of all elements - * `predicate` returns truthy for. The predicate is invoked with three - * arguments: (value, index|key, collection). - * - * **Note:** Unlike `_.remove`, this method returns a new array. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {Array} Returns the new filtered array. - * @see _.reject - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': true }, - * { 'user': 'fred', 'age': 40, 'active': false } - * ]; - * - * _.filter(users, function(o) { return !o.active; }); - * // => objects for ['fred'] - * - * // The `_.matches` iteratee shorthand. - * _.filter(users, { 'age': 36, 'active': true }); - * // => objects for ['barney'] - * - * // The `_.matchesProperty` iteratee shorthand. - * _.filter(users, ['active', false]); - * // => objects for ['fred'] - * - * // The `_.property` iteratee shorthand. - * _.filter(users, 'active'); - * // => objects for ['barney'] - * - * // Combining several predicates using `_.overEvery` or `_.overSome`. - * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]])); - * // => objects for ['fred', 'barney'] - */ - function filter(collection, predicate) { - var func = isArray(collection) ? arrayFilter : baseFilter; - return func(collection, getIteratee(predicate, 3)); - } - - /** - * Iterates over elements of `collection`, returning the first element - * `predicate` returns truthy for. The predicate is invoked with three - * arguments: (value, index|key, collection). - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to inspect. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @param {number} [fromIndex=0] The index to search from. - * @returns {*} Returns the matched element, else `undefined`. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': true }, - * { 'user': 'fred', 'age': 40, 'active': false }, - * { 'user': 'pebbles', 'age': 1, 'active': true } - * ]; - * - * _.find(users, function(o) { return o.age < 40; }); - * // => object for 'barney' - * - * // The `_.matches` iteratee shorthand. - * _.find(users, { 'age': 1, 'active': true }); - * // => object for 'pebbles' - * - * // The `_.matchesProperty` iteratee shorthand. - * _.find(users, ['active', false]); - * // => object for 'fred' - * - * // The `_.property` iteratee shorthand. - * _.find(users, 'active'); - * // => object for 'barney' - */ - var find = createFind(findIndex); - - /** - * This method is like `_.find` except that it iterates over elements of - * `collection` from right to left. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Collection - * @param {Array|Object} collection The collection to inspect. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @param {number} [fromIndex=collection.length-1] The index to search from. - * @returns {*} Returns the matched element, else `undefined`. - * @example - * - * _.findLast([1, 2, 3, 4], function(n) { - * return n % 2 == 1; - * }); - * // => 3 - */ - var findLast = createFind(findLastIndex); - - /** - * Creates a flattened array of values by running each element in `collection` - * thru `iteratee` and flattening the mapped results. The iteratee is invoked - * with three arguments: (value, index|key, collection). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Array} Returns the new flattened array. - * @example - * - * function duplicate(n) { - * return [n, n]; - * } - * - * _.flatMap([1, 2], duplicate); - * // => [1, 1, 2, 2] - */ - function flatMap(collection, iteratee) { - return baseFlatten(map(collection, iteratee), 1); - } - - /** - * This method is like `_.flatMap` except that it recursively flattens the - * mapped results. - * - * @static - * @memberOf _ - * @since 4.7.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Array} Returns the new flattened array. - * @example - * - * function duplicate(n) { - * return [[[n, n]]]; - * } - * - * _.flatMapDeep([1, 2], duplicate); - * // => [1, 1, 2, 2] - */ - function flatMapDeep(collection, iteratee) { - return baseFlatten(map(collection, iteratee), INFINITY); - } - - /** - * This method is like `_.flatMap` except that it recursively flattens the - * mapped results up to `depth` times. - * - * @static - * @memberOf _ - * @since 4.7.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @param {number} [depth=1] The maximum recursion depth. - * @returns {Array} Returns the new flattened array. - * @example - * - * function duplicate(n) { - * return [[[n, n]]]; - * } - * - * _.flatMapDepth([1, 2], duplicate, 2); - * // => [[1, 1], [2, 2]] - */ - function flatMapDepth(collection, iteratee, depth) { - depth = depth === undefined ? 1 : toInteger(depth); - return baseFlatten(map(collection, iteratee), depth); - } - - /** - * Iterates over elements of `collection` and invokes `iteratee` for each element. - * The iteratee is invoked with three arguments: (value, index|key, collection). - * Iteratee functions may exit iteration early by explicitly returning `false`. - * - * **Note:** As with other "Collections" methods, objects with a "length" - * property are iterated like arrays. To avoid this behavior use `_.forIn` - * or `_.forOwn` for object iteration. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @alias each - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Array|Object} Returns `collection`. - * @see _.forEachRight - * @example - * - * _.forEach([1, 2], function(value) { - * console.log(value); - * }); - * // => Logs `1` then `2`. - * - * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) { - * console.log(key); - * }); - * // => Logs 'a' then 'b' (iteration order is not guaranteed). - */ - function forEach(collection, iteratee) { - var func = isArray(collection) ? arrayEach : baseEach; - return func(collection, getIteratee(iteratee, 3)); - } - - /** - * This method is like `_.forEach` except that it iterates over elements of - * `collection` from right to left. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @alias eachRight - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Array|Object} Returns `collection`. - * @see _.forEach - * @example - * - * _.forEachRight([1, 2], function(value) { - * console.log(value); - * }); - * // => Logs `2` then `1`. - */ - function forEachRight(collection, iteratee) { - var func = isArray(collection) ? arrayEachRight : baseEachRight; - return func(collection, getIteratee(iteratee, 3)); - } - - /** - * Creates an object composed of keys generated from the results of running - * each element of `collection` thru `iteratee`. The order of grouped values - * is determined by the order they occur in `collection`. The corresponding - * value of each key is an array of elements responsible for generating the - * key. The iteratee is invoked with one argument: (value). - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The iteratee to transform keys. - * @returns {Object} Returns the composed aggregate object. - * @example - * - * _.groupBy([6.1, 4.2, 6.3], Math.floor); - * // => { '4': [4.2], '6': [6.1, 6.3] } - * - * // The `_.property` iteratee shorthand. - * _.groupBy(['one', 'two', 'three'], 'length'); - * // => { '3': ['one', 'two'], '5': ['three'] } - */ - var groupBy = createAggregator(function(result, value, key) { - if (hasOwnProperty.call(result, key)) { - result[key].push(value); - } else { - baseAssignValue(result, key, [value]); - } - }); - - /** - * Checks if `value` is in `collection`. If `collection` is a string, it's - * checked for a substring of `value`, otherwise - * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * is used for equality comparisons. If `fromIndex` is negative, it's used as - * the offset from the end of `collection`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object|string} collection The collection to inspect. - * @param {*} value The value to search for. - * @param {number} [fromIndex=0] The index to search from. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`. - * @returns {boolean} Returns `true` if `value` is found, else `false`. - * @example - * - * _.includes([1, 2, 3], 1); - * // => true - * - * _.includes([1, 2, 3], 1, 2); - * // => false - * - * _.includes({ 'a': 1, 'b': 2 }, 1); - * // => true - * - * _.includes('abcd', 'bc'); - * // => true - */ - function includes(collection, value, fromIndex, guard) { - collection = isArrayLike(collection) ? collection : values(collection); - fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0; - - var length = collection.length; - if (fromIndex < 0) { - fromIndex = nativeMax(length + fromIndex, 0); - } - return isString(collection) - ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1) - : (!!length && baseIndexOf(collection, value, fromIndex) > -1); - } - - /** - * Invokes the method at `path` of each element in `collection`, returning - * an array of the results of each invoked method. Any additional arguments - * are provided to each invoked method. If `path` is a function, it's invoked - * for, and `this` bound to, each element in `collection`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Array|Function|string} path The path of the method to invoke or - * the function invoked per iteration. - * @param {...*} [args] The arguments to invoke each method with. - * @returns {Array} Returns the array of results. - * @example - * - * _.invokeMap([[5, 1, 7], [3, 2, 1]], 'sort'); - * // => [[1, 5, 7], [1, 2, 3]] - * - * _.invokeMap([123, 456], String.prototype.split, ''); - * // => [['1', '2', '3'], ['4', '5', '6']] - */ - var invokeMap = baseRest(function(collection, path, args) { - var index = -1, - isFunc = typeof path == 'function', - result = isArrayLike(collection) ? Array(collection.length) : []; - - baseEach(collection, function(value) { - result[++index] = isFunc ? apply(path, value, args) : baseInvoke(value, path, args); - }); - return result; - }); - - /** - * Creates an object composed of keys generated from the results of running - * each element of `collection` thru `iteratee`. The corresponding value of - * each key is the last element responsible for generating the key. The - * iteratee is invoked with one argument: (value). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The iteratee to transform keys. - * @returns {Object} Returns the composed aggregate object. - * @example - * - * var array = [ - * { 'dir': 'left', 'code': 97 }, - * { 'dir': 'right', 'code': 100 } - * ]; - * - * _.keyBy(array, function(o) { - * return String.fromCharCode(o.code); - * }); - * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } } - * - * _.keyBy(array, 'dir'); - * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } } - */ - var keyBy = createAggregator(function(result, value, key) { - baseAssignValue(result, key, value); - }); - - /** - * Creates an array of values by running each element in `collection` thru - * `iteratee`. The iteratee is invoked with three arguments: - * (value, index|key, collection). - * - * Many lodash methods are guarded to work as iteratees for methods like - * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`. - * - * The guarded methods are: - * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`, - * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`, - * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`, - * `template`, `trim`, `trimEnd`, `trimStart`, and `words` - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Array} Returns the new mapped array. - * @example - * - * function square(n) { - * return n * n; - * } - * - * _.map([4, 8], square); - * // => [16, 64] - * - * _.map({ 'a': 4, 'b': 8 }, square); - * // => [16, 64] (iteration order is not guaranteed) - * - * var users = [ - * { 'user': 'barney' }, - * { 'user': 'fred' } - * ]; - * - * // The `_.property` iteratee shorthand. - * _.map(users, 'user'); - * // => ['barney', 'fred'] - */ - function map(collection, iteratee) { - var func = isArray(collection) ? arrayMap : baseMap; - return func(collection, getIteratee(iteratee, 3)); - } - - /** - * This method is like `_.sortBy` except that it allows specifying the sort - * orders of the iteratees to sort by. If `orders` is unspecified, all values - * are sorted in ascending order. Otherwise, specify an order of "desc" for - * descending or "asc" for ascending sort order of corresponding values. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Array[]|Function[]|Object[]|string[]} [iteratees=[_.identity]] - * The iteratees to sort by. - * @param {string[]} [orders] The sort orders of `iteratees`. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`. - * @returns {Array} Returns the new sorted array. - * @example - * - * var users = [ - * { 'user': 'fred', 'age': 48 }, - * { 'user': 'barney', 'age': 34 }, - * { 'user': 'fred', 'age': 40 }, - * { 'user': 'barney', 'age': 36 } - * ]; - * - * // Sort by `user` in ascending order and by `age` in descending order. - * _.orderBy(users, ['user', 'age'], ['asc', 'desc']); - * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]] - */ - function orderBy(collection, iteratees, orders, guard) { - if (collection == null) { - return []; - } - if (!isArray(iteratees)) { - iteratees = iteratees == null ? [] : [iteratees]; - } - orders = guard ? undefined : orders; - if (!isArray(orders)) { - orders = orders == null ? [] : [orders]; - } - return baseOrderBy(collection, iteratees, orders); - } - - /** - * Creates an array of elements split into two groups, the first of which - * contains elements `predicate` returns truthy for, the second of which - * contains elements `predicate` returns falsey for. The predicate is - * invoked with one argument: (value). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {Array} Returns the array of grouped elements. - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': false }, - * { 'user': 'fred', 'age': 40, 'active': true }, - * { 'user': 'pebbles', 'age': 1, 'active': false } - * ]; - * - * _.partition(users, function(o) { return o.active; }); - * // => objects for [['fred'], ['barney', 'pebbles']] - * - * // The `_.matches` iteratee shorthand. - * _.partition(users, { 'age': 1, 'active': false }); - * // => objects for [['pebbles'], ['barney', 'fred']] - * - * // The `_.matchesProperty` iteratee shorthand. - * _.partition(users, ['active', false]); - * // => objects for [['barney', 'pebbles'], ['fred']] - * - * // The `_.property` iteratee shorthand. - * _.partition(users, 'active'); - * // => objects for [['fred'], ['barney', 'pebbles']] - */ - var partition = createAggregator(function(result, value, key) { - result[key ? 0 : 1].push(value); - }, function() { return [[], []]; }); - - /** - * Reduces `collection` to a value which is the accumulated result of running - * each element in `collection` thru `iteratee`, where each successive - * invocation is supplied the return value of the previous. If `accumulator` - * is not given, the first element of `collection` is used as the initial - * value. The iteratee is invoked with four arguments: - * (accumulator, value, index|key, collection). - * - * Many lodash methods are guarded to work as iteratees for methods like - * `_.reduce`, `_.reduceRight`, and `_.transform`. - * - * The guarded methods are: - * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`, - * and `sortBy` - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @param {*} [accumulator] The initial value. - * @returns {*} Returns the accumulated value. - * @see _.reduceRight - * @example - * - * _.reduce([1, 2], function(sum, n) { - * return sum + n; - * }, 0); - * // => 3 - * - * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) { - * (result[value] || (result[value] = [])).push(key); - * return result; - * }, {}); - * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed) - */ - function reduce(collection, iteratee, accumulator) { - var func = isArray(collection) ? arrayReduce : baseReduce, - initAccum = arguments.length < 3; - - return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEach); - } - - /** - * This method is like `_.reduce` except that it iterates over elements of - * `collection` from right to left. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @param {*} [accumulator] The initial value. - * @returns {*} Returns the accumulated value. - * @see _.reduce - * @example - * - * var array = [[0, 1], [2, 3], [4, 5]]; - * - * _.reduceRight(array, function(flattened, other) { - * return flattened.concat(other); - * }, []); - * // => [4, 5, 2, 3, 0, 1] - */ - function reduceRight(collection, iteratee, accumulator) { - var func = isArray(collection) ? arrayReduceRight : baseReduce, - initAccum = arguments.length < 3; - - return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEachRight); - } - - /** - * The opposite of `_.filter`; this method returns the elements of `collection` - * that `predicate` does **not** return truthy for. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {Array} Returns the new filtered array. - * @see _.filter - * @example - * - * var users = [ - * { 'user': 'barney', 'age': 36, 'active': false }, - * { 'user': 'fred', 'age': 40, 'active': true } - * ]; - * - * _.reject(users, function(o) { return !o.active; }); - * // => objects for ['fred'] - * - * // The `_.matches` iteratee shorthand. - * _.reject(users, { 'age': 40, 'active': true }); - * // => objects for ['barney'] - * - * // The `_.matchesProperty` iteratee shorthand. - * _.reject(users, ['active', false]); - * // => objects for ['fred'] - * - * // The `_.property` iteratee shorthand. - * _.reject(users, 'active'); - * // => objects for ['barney'] - */ - function reject(collection, predicate) { - var func = isArray(collection) ? arrayFilter : baseFilter; - return func(collection, negate(getIteratee(predicate, 3))); - } - - /** - * Gets a random element from `collection`. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Collection - * @param {Array|Object} collection The collection to sample. - * @returns {*} Returns the random element. - * @example - * - * _.sample([1, 2, 3, 4]); - * // => 2 - */ - function sample(collection) { - var func = isArray(collection) ? arraySample : baseSample; - return func(collection); - } - - /** - * Gets `n` random elements at unique keys from `collection` up to the - * size of `collection`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Collection - * @param {Array|Object} collection The collection to sample. - * @param {number} [n=1] The number of elements to sample. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Array} Returns the random elements. - * @example - * - * _.sampleSize([1, 2, 3], 2); - * // => [3, 1] - * - * _.sampleSize([1, 2, 3], 4); - * // => [2, 3, 1] - */ - function sampleSize(collection, n, guard) { - if ((guard ? isIterateeCall(collection, n, guard) : n === undefined)) { - n = 1; - } else { - n = toInteger(n); - } - var func = isArray(collection) ? arraySampleSize : baseSampleSize; - return func(collection, n); - } - - /** - * Creates an array of shuffled values, using a version of the - * [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle). - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to shuffle. - * @returns {Array} Returns the new shuffled array. - * @example - * - * _.shuffle([1, 2, 3, 4]); - * // => [4, 1, 3, 2] - */ - function shuffle(collection) { - var func = isArray(collection) ? arrayShuffle : baseShuffle; - return func(collection); - } - - /** - * Gets the size of `collection` by returning its length for array-like - * values or the number of own enumerable string keyed properties for objects. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object|string} collection The collection to inspect. - * @returns {number} Returns the collection size. - * @example - * - * _.size([1, 2, 3]); - * // => 3 - * - * _.size({ 'a': 1, 'b': 2 }); - * // => 2 - * - * _.size('pebbles'); - * // => 7 - */ - function size(collection) { - if (collection == null) { - return 0; - } - if (isArrayLike(collection)) { - return isString(collection) ? stringSize(collection) : collection.length; - } - var tag = getTag(collection); - if (tag == mapTag || tag == setTag) { - return collection.size; - } - return baseKeys(collection).length; - } - - /** - * Checks if `predicate` returns truthy for **any** element of `collection`. - * Iteration is stopped once `predicate` returns truthy. The predicate is - * invoked with three arguments: (value, index|key, collection). - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {boolean} Returns `true` if any element passes the predicate check, - * else `false`. - * @example - * - * _.some([null, 0, 'yes', false], Boolean); - * // => true - * - * var users = [ - * { 'user': 'barney', 'active': true }, - * { 'user': 'fred', 'active': false } - * ]; - * - * // The `_.matches` iteratee shorthand. - * _.some(users, { 'user': 'barney', 'active': false }); - * // => false - * - * // The `_.matchesProperty` iteratee shorthand. - * _.some(users, ['active', false]); - * // => true - * - * // The `_.property` iteratee shorthand. - * _.some(users, 'active'); - * // => true - */ - function some(collection, predicate, guard) { - var func = isArray(collection) ? arraySome : baseSome; - if (guard && isIterateeCall(collection, predicate, guard)) { - predicate = undefined; - } - return func(collection, getIteratee(predicate, 3)); - } - - /** - * Creates an array of elements, sorted in ascending order by the results of - * running each element in a collection thru each iteratee. This method - * performs a stable sort, that is, it preserves the original sort order of - * equal elements. The iteratees are invoked with one argument: (value). - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Collection - * @param {Array|Object} collection The collection to iterate over. - * @param {...(Function|Function[])} [iteratees=[_.identity]] - * The iteratees to sort by. - * @returns {Array} Returns the new sorted array. - * @example - * - * var users = [ - * { 'user': 'fred', 'age': 48 }, - * { 'user': 'barney', 'age': 36 }, - * { 'user': 'fred', 'age': 30 }, - * { 'user': 'barney', 'age': 34 } - * ]; - * - * _.sortBy(users, [function(o) { return o.user; }]); - * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]] - * - * _.sortBy(users, ['user', 'age']); - * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]] - */ - var sortBy = baseRest(function(collection, iteratees) { - if (collection == null) { - return []; - } - var length = iteratees.length; - if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) { - iteratees = []; - } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) { - iteratees = [iteratees[0]]; - } - return baseOrderBy(collection, baseFlatten(iteratees, 1), []); - }); - - /*------------------------------------------------------------------------*/ - - /** - * Gets the timestamp of the number of milliseconds that have elapsed since - * the Unix epoch (1 January 1970 00:00:00 UTC). - * - * @static - * @memberOf _ - * @since 2.4.0 - * @category Date - * @returns {number} Returns the timestamp. - * @example - * - * _.defer(function(stamp) { - * console.log(_.now() - stamp); - * }, _.now()); - * // => Logs the number of milliseconds it took for the deferred invocation. - */ - var now = ctxNow || function() { - return root.Date.now(); - }; - - /*------------------------------------------------------------------------*/ - - /** - * The opposite of `_.before`; this method creates a function that invokes - * `func` once it's called `n` or more times. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {number} n The number of calls before `func` is invoked. - * @param {Function} func The function to restrict. - * @returns {Function} Returns the new restricted function. - * @example - * - * var saves = ['profile', 'settings']; - * - * var done = _.after(saves.length, function() { - * console.log('done saving!'); - * }); - * - * _.forEach(saves, function(type) { - * asyncSave({ 'type': type, 'complete': done }); - * }); - * // => Logs 'done saving!' after the two async saves have completed. - */ - function after(n, func) { - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - n = toInteger(n); - return function() { - if (--n < 1) { - return func.apply(this, arguments); - } - }; - } - - /** - * Creates a function that invokes `func`, with up to `n` arguments, - * ignoring any additional arguments. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Function - * @param {Function} func The function to cap arguments for. - * @param {number} [n=func.length] The arity cap. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Function} Returns the new capped function. - * @example - * - * _.map(['6', '8', '10'], _.ary(parseInt, 1)); - * // => [6, 8, 10] - */ - function ary(func, n, guard) { - n = guard ? undefined : n; - n = (func && n == null) ? func.length : n; - return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n); - } - - /** - * Creates a function that invokes `func`, with the `this` binding and arguments - * of the created function, while it's called less than `n` times. Subsequent - * calls to the created function return the result of the last `func` invocation. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Function - * @param {number} n The number of calls at which `func` is no longer invoked. - * @param {Function} func The function to restrict. - * @returns {Function} Returns the new restricted function. - * @example - * - * jQuery(element).on('click', _.before(5, addContactToList)); - * // => Allows adding up to 4 contacts to the list. - */ - function before(n, func) { - var result; - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - n = toInteger(n); - return function() { - if (--n > 0) { - result = func.apply(this, arguments); - } - if (n <= 1) { - func = undefined; - } - return result; - }; - } - - /** - * Creates a function that invokes `func` with the `this` binding of `thisArg` - * and `partials` prepended to the arguments it receives. - * - * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds, - * may be used as a placeholder for partially applied arguments. - * - * **Note:** Unlike native `Function#bind`, this method doesn't set the "length" - * property of bound functions. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to bind. - * @param {*} thisArg The `this` binding of `func`. - * @param {...*} [partials] The arguments to be partially applied. - * @returns {Function} Returns the new bound function. - * @example - * - * function greet(greeting, punctuation) { - * return greeting + ' ' + this.user + punctuation; - * } - * - * var object = { 'user': 'fred' }; - * - * var bound = _.bind(greet, object, 'hi'); - * bound('!'); - * // => 'hi fred!' - * - * // Bound with placeholders. - * var bound = _.bind(greet, object, _, '!'); - * bound('hi'); - * // => 'hi fred!' - */ - var bind = baseRest(function(func, thisArg, partials) { - var bitmask = WRAP_BIND_FLAG; - if (partials.length) { - var holders = replaceHolders(partials, getHolder(bind)); - bitmask |= WRAP_PARTIAL_FLAG; - } - return createWrap(func, bitmask, thisArg, partials, holders); - }); - - /** - * Creates a function that invokes the method at `object[key]` with `partials` - * prepended to the arguments it receives. - * - * This method differs from `_.bind` by allowing bound functions to reference - * methods that may be redefined or don't yet exist. See - * [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern) - * for more details. - * - * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic - * builds, may be used as a placeholder for partially applied arguments. - * - * @static - * @memberOf _ - * @since 0.10.0 - * @category Function - * @param {Object} object The object to invoke the method on. - * @param {string} key The key of the method. - * @param {...*} [partials] The arguments to be partially applied. - * @returns {Function} Returns the new bound function. - * @example - * - * var object = { - * 'user': 'fred', - * 'greet': function(greeting, punctuation) { - * return greeting + ' ' + this.user + punctuation; - * } - * }; - * - * var bound = _.bindKey(object, 'greet', 'hi'); - * bound('!'); - * // => 'hi fred!' - * - * object.greet = function(greeting, punctuation) { - * return greeting + 'ya ' + this.user + punctuation; - * }; - * - * bound('!'); - * // => 'hiya fred!' - * - * // Bound with placeholders. - * var bound = _.bindKey(object, 'greet', _, '!'); - * bound('hi'); - * // => 'hiya fred!' - */ - var bindKey = baseRest(function(object, key, partials) { - var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG; - if (partials.length) { - var holders = replaceHolders(partials, getHolder(bindKey)); - bitmask |= WRAP_PARTIAL_FLAG; - } - return createWrap(key, bitmask, object, partials, holders); - }); - - /** - * Creates a function that accepts arguments of `func` and either invokes - * `func` returning its result, if at least `arity` number of arguments have - * been provided, or returns a function that accepts the remaining `func` - * arguments, and so on. The arity of `func` may be specified if `func.length` - * is not sufficient. - * - * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds, - * may be used as a placeholder for provided arguments. - * - * **Note:** This method doesn't set the "length" property of curried functions. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Function - * @param {Function} func The function to curry. - * @param {number} [arity=func.length] The arity of `func`. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Function} Returns the new curried function. - * @example - * - * var abc = function(a, b, c) { - * return [a, b, c]; - * }; - * - * var curried = _.curry(abc); - * - * curried(1)(2)(3); - * // => [1, 2, 3] - * - * curried(1, 2)(3); - * // => [1, 2, 3] - * - * curried(1, 2, 3); - * // => [1, 2, 3] - * - * // Curried with placeholders. - * curried(1)(_, 3)(2); - * // => [1, 2, 3] - */ - function curry(func, arity, guard) { - arity = guard ? undefined : arity; - var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity); - result.placeholder = curry.placeholder; - return result; - } - - /** - * This method is like `_.curry` except that arguments are applied to `func` - * in the manner of `_.partialRight` instead of `_.partial`. - * - * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic - * builds, may be used as a placeholder for provided arguments. - * - * **Note:** This method doesn't set the "length" property of curried functions. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Function - * @param {Function} func The function to curry. - * @param {number} [arity=func.length] The arity of `func`. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Function} Returns the new curried function. - * @example - * - * var abc = function(a, b, c) { - * return [a, b, c]; - * }; - * - * var curried = _.curryRight(abc); - * - * curried(3)(2)(1); - * // => [1, 2, 3] - * - * curried(2, 3)(1); - * // => [1, 2, 3] - * - * curried(1, 2, 3); - * // => [1, 2, 3] - * - * // Curried with placeholders. - * curried(3)(1, _)(2); - * // => [1, 2, 3] - */ - function curryRight(func, arity, guard) { - arity = guard ? undefined : arity; - var result = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity); - result.placeholder = curryRight.placeholder; - return result; - } - - /** - * Creates a debounced function that delays invoking `func` until after `wait` - * milliseconds have elapsed since the last time the debounced function was - * invoked. The debounced function comes with a `cancel` method to cancel - * delayed `func` invocations and a `flush` method to immediately invoke them. - * Provide `options` to indicate whether `func` should be invoked on the - * leading and/or trailing edge of the `wait` timeout. The `func` is invoked - * with the last arguments provided to the debounced function. Subsequent - * calls to the debounced function return the result of the last `func` - * invocation. - * - * **Note:** If `leading` and `trailing` options are `true`, `func` is - * invoked on the trailing edge of the timeout only if the debounced function - * is invoked more than once during the `wait` timeout. - * - * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred - * until to the next tick, similar to `setTimeout` with a timeout of `0`. - * - * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) - * for details over the differences between `_.debounce` and `_.throttle`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to debounce. - * @param {number} [wait=0] The number of milliseconds to delay. - * @param {Object} [options={}] The options object. - * @param {boolean} [options.leading=false] - * Specify invoking on the leading edge of the timeout. - * @param {number} [options.maxWait] - * The maximum time `func` is allowed to be delayed before it's invoked. - * @param {boolean} [options.trailing=true] - * Specify invoking on the trailing edge of the timeout. - * @returns {Function} Returns the new debounced function. - * @example - * - * // Avoid costly calculations while the window size is in flux. - * jQuery(window).on('resize', _.debounce(calculateLayout, 150)); - * - * // Invoke `sendMail` when clicked, debouncing subsequent calls. - * jQuery(element).on('click', _.debounce(sendMail, 300, { - * 'leading': true, - * 'trailing': false - * })); - * - * // Ensure `batchLog` is invoked once after 1 second of debounced calls. - * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 }); - * var source = new EventSource('/stream'); - * jQuery(source).on('message', debounced); - * - * // Cancel the trailing debounced invocation. - * jQuery(window).on('popstate', debounced.cancel); - */ - function debounce(func, wait, options) { - var lastArgs, - lastThis, - maxWait, - result, - timerId, - lastCallTime, - lastInvokeTime = 0, - leading = false, - maxing = false, - trailing = true; - - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - wait = toNumber(wait) || 0; - if (isObject(options)) { - leading = !!options.leading; - maxing = 'maxWait' in options; - maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait; - trailing = 'trailing' in options ? !!options.trailing : trailing; - } - - function invokeFunc(time) { - var args = lastArgs, - thisArg = lastThis; - - lastArgs = lastThis = undefined; - lastInvokeTime = time; - result = func.apply(thisArg, args); - return result; - } - - function leadingEdge(time) { - // Reset any `maxWait` timer. - lastInvokeTime = time; - // Start the timer for the trailing edge. - timerId = setTimeout(timerExpired, wait); - // Invoke the leading edge. - return leading ? invokeFunc(time) : result; - } - - function remainingWait(time) { - var timeSinceLastCall = time - lastCallTime, - timeSinceLastInvoke = time - lastInvokeTime, - timeWaiting = wait - timeSinceLastCall; - - return maxing - ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke) - : timeWaiting; - } - - function shouldInvoke(time) { - var timeSinceLastCall = time - lastCallTime, - timeSinceLastInvoke = time - lastInvokeTime; - - // Either this is the first call, activity has stopped and we're at the - // trailing edge, the system time has gone backwards and we're treating - // it as the trailing edge, or we've hit the `maxWait` limit. - return (lastCallTime === undefined || (timeSinceLastCall >= wait) || - (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait)); - } - - function timerExpired() { - var time = now(); - if (shouldInvoke(time)) { - return trailingEdge(time); - } - // Restart the timer. - timerId = setTimeout(timerExpired, remainingWait(time)); - } - - function trailingEdge(time) { - timerId = undefined; - - // Only invoke if we have `lastArgs` which means `func` has been - // debounced at least once. - if (trailing && lastArgs) { - return invokeFunc(time); - } - lastArgs = lastThis = undefined; - return result; - } - - function cancel() { - if (timerId !== undefined) { - clearTimeout(timerId); - } - lastInvokeTime = 0; - lastArgs = lastCallTime = lastThis = timerId = undefined; - } - - function flush() { - return timerId === undefined ? result : trailingEdge(now()); - } - - function debounced() { - var time = now(), - isInvoking = shouldInvoke(time); - - lastArgs = arguments; - lastThis = this; - lastCallTime = time; - - if (isInvoking) { - if (timerId === undefined) { - return leadingEdge(lastCallTime); - } - if (maxing) { - // Handle invocations in a tight loop. - clearTimeout(timerId); - timerId = setTimeout(timerExpired, wait); - return invokeFunc(lastCallTime); - } - } - if (timerId === undefined) { - timerId = setTimeout(timerExpired, wait); - } - return result; - } - debounced.cancel = cancel; - debounced.flush = flush; - return debounced; - } - - /** - * Defers invoking the `func` until the current call stack has cleared. Any - * additional arguments are provided to `func` when it's invoked. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to defer. - * @param {...*} [args] The arguments to invoke `func` with. - * @returns {number} Returns the timer id. - * @example - * - * _.defer(function(text) { - * console.log(text); - * }, 'deferred'); - * // => Logs 'deferred' after one millisecond. - */ - var defer = baseRest(function(func, args) { - return baseDelay(func, 1, args); - }); - - /** - * Invokes `func` after `wait` milliseconds. Any additional arguments are - * provided to `func` when it's invoked. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to delay. - * @param {number} wait The number of milliseconds to delay invocation. - * @param {...*} [args] The arguments to invoke `func` with. - * @returns {number} Returns the timer id. - * @example - * - * _.delay(function(text) { - * console.log(text); - * }, 1000, 'later'); - * // => Logs 'later' after one second. - */ - var delay = baseRest(function(func, wait, args) { - return baseDelay(func, toNumber(wait) || 0, args); - }); - - /** - * Creates a function that invokes `func` with arguments reversed. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Function - * @param {Function} func The function to flip arguments for. - * @returns {Function} Returns the new flipped function. - * @example - * - * var flipped = _.flip(function() { - * return _.toArray(arguments); - * }); - * - * flipped('a', 'b', 'c', 'd'); - * // => ['d', 'c', 'b', 'a'] - */ - function flip(func) { - return createWrap(func, WRAP_FLIP_FLAG); - } - - /** - * Creates a function that memoizes the result of `func`. If `resolver` is - * provided, it determines the cache key for storing the result based on the - * arguments provided to the memoized function. By default, the first argument - * provided to the memoized function is used as the map cache key. The `func` - * is invoked with the `this` binding of the memoized function. - * - * **Note:** The cache is exposed as the `cache` property on the memoized - * function. Its creation may be customized by replacing the `_.memoize.Cache` - * constructor with one whose instances implement the - * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object) - * method interface of `clear`, `delete`, `get`, `has`, and `set`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to have its output memoized. - * @param {Function} [resolver] The function to resolve the cache key. - * @returns {Function} Returns the new memoized function. - * @example - * - * var object = { 'a': 1, 'b': 2 }; - * var other = { 'c': 3, 'd': 4 }; - * - * var values = _.memoize(_.values); - * values(object); - * // => [1, 2] - * - * values(other); - * // => [3, 4] - * - * object.a = 2; - * values(object); - * // => [1, 2] - * - * // Modify the result cache. - * values.cache.set(object, ['a', 'b']); - * values(object); - * // => ['a', 'b'] - * - * // Replace `_.memoize.Cache`. - * _.memoize.Cache = WeakMap; - */ - function memoize(func, resolver) { - if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) { - throw new TypeError(FUNC_ERROR_TEXT); - } - var memoized = function() { - var args = arguments, - key = resolver ? resolver.apply(this, args) : args[0], - cache = memoized.cache; - - if (cache.has(key)) { - return cache.get(key); - } - var result = func.apply(this, args); - memoized.cache = cache.set(key, result) || cache; - return result; - }; - memoized.cache = new (memoize.Cache || MapCache); - return memoized; - } - - // Expose `MapCache`. - memoize.Cache = MapCache; - - /** - * Creates a function that negates the result of the predicate `func`. The - * `func` predicate is invoked with the `this` binding and arguments of the - * created function. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Function - * @param {Function} predicate The predicate to negate. - * @returns {Function} Returns the new negated function. - * @example - * - * function isEven(n) { - * return n % 2 == 0; - * } - * - * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven)); - * // => [1, 3, 5] - */ - function negate(predicate) { - if (typeof predicate != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - return function() { - var args = arguments; - switch (args.length) { - case 0: return !predicate.call(this); - case 1: return !predicate.call(this, args[0]); - case 2: return !predicate.call(this, args[0], args[1]); - case 3: return !predicate.call(this, args[0], args[1], args[2]); - } - return !predicate.apply(this, args); - }; - } - - /** - * Creates a function that is restricted to invoking `func` once. Repeat calls - * to the function return the value of the first invocation. The `func` is - * invoked with the `this` binding and arguments of the created function. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to restrict. - * @returns {Function} Returns the new restricted function. - * @example - * - * var initialize = _.once(createApplication); - * initialize(); - * initialize(); - * // => `createApplication` is invoked once - */ - function once(func) { - return before(2, func); - } - - /** - * Creates a function that invokes `func` with its arguments transformed. - * - * @static - * @since 4.0.0 - * @memberOf _ - * @category Function - * @param {Function} func The function to wrap. - * @param {...(Function|Function[])} [transforms=[_.identity]] - * The argument transforms. - * @returns {Function} Returns the new function. - * @example - * - * function doubled(n) { - * return n * 2; - * } - * - * function square(n) { - * return n * n; - * } - * - * var func = _.overArgs(function(x, y) { - * return [x, y]; - * }, [square, doubled]); - * - * func(9, 3); - * // => [81, 6] - * - * func(10, 5); - * // => [100, 10] - */ - var overArgs = castRest(function(func, transforms) { - transforms = (transforms.length == 1 && isArray(transforms[0])) - ? arrayMap(transforms[0], baseUnary(getIteratee())) - : arrayMap(baseFlatten(transforms, 1), baseUnary(getIteratee())); - - var funcsLength = transforms.length; - return baseRest(function(args) { - var index = -1, - length = nativeMin(args.length, funcsLength); - - while (++index < length) { - args[index] = transforms[index].call(this, args[index]); - } - return apply(func, this, args); - }); - }); - - /** - * Creates a function that invokes `func` with `partials` prepended to the - * arguments it receives. This method is like `_.bind` except it does **not** - * alter the `this` binding. - * - * The `_.partial.placeholder` value, which defaults to `_` in monolithic - * builds, may be used as a placeholder for partially applied arguments. - * - * **Note:** This method doesn't set the "length" property of partially - * applied functions. - * - * @static - * @memberOf _ - * @since 0.2.0 - * @category Function - * @param {Function} func The function to partially apply arguments to. - * @param {...*} [partials] The arguments to be partially applied. - * @returns {Function} Returns the new partially applied function. - * @example - * - * function greet(greeting, name) { - * return greeting + ' ' + name; - * } - * - * var sayHelloTo = _.partial(greet, 'hello'); - * sayHelloTo('fred'); - * // => 'hello fred' - * - * // Partially applied with placeholders. - * var greetFred = _.partial(greet, _, 'fred'); - * greetFred('hi'); - * // => 'hi fred' - */ - var partial = baseRest(function(func, partials) { - var holders = replaceHolders(partials, getHolder(partial)); - return createWrap(func, WRAP_PARTIAL_FLAG, undefined, partials, holders); - }); - - /** - * This method is like `_.partial` except that partially applied arguments - * are appended to the arguments it receives. - * - * The `_.partialRight.placeholder` value, which defaults to `_` in monolithic - * builds, may be used as a placeholder for partially applied arguments. - * - * **Note:** This method doesn't set the "length" property of partially - * applied functions. - * - * @static - * @memberOf _ - * @since 1.0.0 - * @category Function - * @param {Function} func The function to partially apply arguments to. - * @param {...*} [partials] The arguments to be partially applied. - * @returns {Function} Returns the new partially applied function. - * @example - * - * function greet(greeting, name) { - * return greeting + ' ' + name; - * } - * - * var greetFred = _.partialRight(greet, 'fred'); - * greetFred('hi'); - * // => 'hi fred' - * - * // Partially applied with placeholders. - * var sayHelloTo = _.partialRight(greet, 'hello', _); - * sayHelloTo('fred'); - * // => 'hello fred' - */ - var partialRight = baseRest(function(func, partials) { - var holders = replaceHolders(partials, getHolder(partialRight)); - return createWrap(func, WRAP_PARTIAL_RIGHT_FLAG, undefined, partials, holders); - }); - - /** - * Creates a function that invokes `func` with arguments arranged according - * to the specified `indexes` where the argument value at the first index is - * provided as the first argument, the argument value at the second index is - * provided as the second argument, and so on. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Function - * @param {Function} func The function to rearrange arguments for. - * @param {...(number|number[])} indexes The arranged argument indexes. - * @returns {Function} Returns the new function. - * @example - * - * var rearged = _.rearg(function(a, b, c) { - * return [a, b, c]; - * }, [2, 0, 1]); - * - * rearged('b', 'c', 'a') - * // => ['a', 'b', 'c'] - */ - var rearg = flatRest(function(func, indexes) { - return createWrap(func, WRAP_REARG_FLAG, undefined, undefined, undefined, indexes); - }); - - /** - * Creates a function that invokes `func` with the `this` binding of the - * created function and arguments from `start` and beyond provided as - * an array. - * - * **Note:** This method is based on the - * [rest parameter](https://mdn.io/rest_parameters). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Function - * @param {Function} func The function to apply a rest parameter to. - * @param {number} [start=func.length-1] The start position of the rest parameter. - * @returns {Function} Returns the new function. - * @example - * - * var say = _.rest(function(what, names) { - * return what + ' ' + _.initial(names).join(', ') + - * (_.size(names) > 1 ? ', & ' : '') + _.last(names); - * }); - * - * say('hello', 'fred', 'barney', 'pebbles'); - * // => 'hello fred, barney, & pebbles' - */ - function rest(func, start) { - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - start = start === undefined ? start : toInteger(start); - return baseRest(func, start); - } - - /** - * Creates a function that invokes `func` with the `this` binding of the - * create function and an array of arguments much like - * [`Function#apply`](http://www.ecma-international.org/ecma-262/7.0/#sec-function.prototype.apply). - * - * **Note:** This method is based on the - * [spread operator](https://mdn.io/spread_operator). - * - * @static - * @memberOf _ - * @since 3.2.0 - * @category Function - * @param {Function} func The function to spread arguments over. - * @param {number} [start=0] The start position of the spread. - * @returns {Function} Returns the new function. - * @example - * - * var say = _.spread(function(who, what) { - * return who + ' says ' + what; - * }); - * - * say(['fred', 'hello']); - * // => 'fred says hello' - * - * var numbers = Promise.all([ - * Promise.resolve(40), - * Promise.resolve(36) - * ]); - * - * numbers.then(_.spread(function(x, y) { - * return x + y; - * })); - * // => a Promise of 76 - */ - function spread(func, start) { - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - start = start == null ? 0 : nativeMax(toInteger(start), 0); - return baseRest(function(args) { - var array = args[start], - otherArgs = castSlice(args, 0, start); - - if (array) { - arrayPush(otherArgs, array); - } - return apply(func, this, otherArgs); - }); - } - - /** - * Creates a throttled function that only invokes `func` at most once per - * every `wait` milliseconds. The throttled function comes with a `cancel` - * method to cancel delayed `func` invocations and a `flush` method to - * immediately invoke them. Provide `options` to indicate whether `func` - * should be invoked on the leading and/or trailing edge of the `wait` - * timeout. The `func` is invoked with the last arguments provided to the - * throttled function. Subsequent calls to the throttled function return the - * result of the last `func` invocation. - * - * **Note:** If `leading` and `trailing` options are `true`, `func` is - * invoked on the trailing edge of the timeout only if the throttled function - * is invoked more than once during the `wait` timeout. - * - * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred - * until to the next tick, similar to `setTimeout` with a timeout of `0`. - * - * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/) - * for details over the differences between `_.throttle` and `_.debounce`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {Function} func The function to throttle. - * @param {number} [wait=0] The number of milliseconds to throttle invocations to. - * @param {Object} [options={}] The options object. - * @param {boolean} [options.leading=true] - * Specify invoking on the leading edge of the timeout. - * @param {boolean} [options.trailing=true] - * Specify invoking on the trailing edge of the timeout. - * @returns {Function} Returns the new throttled function. - * @example - * - * // Avoid excessively updating the position while scrolling. - * jQuery(window).on('scroll', _.throttle(updatePosition, 100)); - * - * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes. - * var throttled = _.throttle(renewToken, 300000, { 'trailing': false }); - * jQuery(element).on('click', throttled); - * - * // Cancel the trailing throttled invocation. - * jQuery(window).on('popstate', throttled.cancel); - */ - function throttle(func, wait, options) { - var leading = true, - trailing = true; - - if (typeof func != 'function') { - throw new TypeError(FUNC_ERROR_TEXT); - } - if (isObject(options)) { - leading = 'leading' in options ? !!options.leading : leading; - trailing = 'trailing' in options ? !!options.trailing : trailing; - } - return debounce(func, wait, { - 'leading': leading, - 'maxWait': wait, - 'trailing': trailing - }); - } - - /** - * Creates a function that accepts up to one argument, ignoring any - * additional arguments. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Function - * @param {Function} func The function to cap arguments for. - * @returns {Function} Returns the new capped function. - * @example - * - * _.map(['6', '8', '10'], _.unary(parseInt)); - * // => [6, 8, 10] - */ - function unary(func) { - return ary(func, 1); - } - - /** - * Creates a function that provides `value` to `wrapper` as its first - * argument. Any additional arguments provided to the function are appended - * to those provided to the `wrapper`. The wrapper is invoked with the `this` - * binding of the created function. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Function - * @param {*} value The value to wrap. - * @param {Function} [wrapper=identity] The wrapper function. - * @returns {Function} Returns the new function. - * @example - * - * var p = _.wrap(_.escape, function(func, text) { - * return '

' + func(text) + '

'; - * }); - * - * p('fred, barney, & pebbles'); - * // => '

fred, barney, & pebbles

' - */ - function wrap(value, wrapper) { - return partial(castFunction(wrapper), value); - } - - /*------------------------------------------------------------------------*/ - - /** - * Casts `value` as an array if it's not one. - * - * @static - * @memberOf _ - * @since 4.4.0 - * @category Lang - * @param {*} value The value to inspect. - * @returns {Array} Returns the cast array. - * @example - * - * _.castArray(1); - * // => [1] - * - * _.castArray({ 'a': 1 }); - * // => [{ 'a': 1 }] - * - * _.castArray('abc'); - * // => ['abc'] - * - * _.castArray(null); - * // => [null] - * - * _.castArray(undefined); - * // => [undefined] - * - * _.castArray(); - * // => [] - * - * var array = [1, 2, 3]; - * console.log(_.castArray(array) === array); - * // => true - */ - function castArray() { - if (!arguments.length) { - return []; - } - var value = arguments[0]; - return isArray(value) ? value : [value]; - } - - /** - * Creates a shallow clone of `value`. - * - * **Note:** This method is loosely based on the - * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm) - * and supports cloning arrays, array buffers, booleans, date objects, maps, - * numbers, `Object` objects, regexes, sets, strings, symbols, and typed - * arrays. The own enumerable properties of `arguments` objects are cloned - * as plain objects. An empty object is returned for uncloneable values such - * as error objects, functions, DOM nodes, and WeakMaps. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to clone. - * @returns {*} Returns the cloned value. - * @see _.cloneDeep - * @example - * - * var objects = [{ 'a': 1 }, { 'b': 2 }]; - * - * var shallow = _.clone(objects); - * console.log(shallow[0] === objects[0]); - * // => true - */ - function clone(value) { - return baseClone(value, CLONE_SYMBOLS_FLAG); - } - - /** - * This method is like `_.clone` except that it accepts `customizer` which - * is invoked to produce the cloned value. If `customizer` returns `undefined`, - * cloning is handled by the method instead. The `customizer` is invoked with - * up to four arguments; (value [, index|key, object, stack]). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to clone. - * @param {Function} [customizer] The function to customize cloning. - * @returns {*} Returns the cloned value. - * @see _.cloneDeepWith - * @example - * - * function customizer(value) { - * if (_.isElement(value)) { - * return value.cloneNode(false); - * } - * } - * - * var el = _.cloneWith(document.body, customizer); - * - * console.log(el === document.body); - * // => false - * console.log(el.nodeName); - * // => 'BODY' - * console.log(el.childNodes.length); - * // => 0 - */ - function cloneWith(value, customizer) { - customizer = typeof customizer == 'function' ? customizer : undefined; - return baseClone(value, CLONE_SYMBOLS_FLAG, customizer); - } - - /** - * This method is like `_.clone` except that it recursively clones `value`. - * - * @static - * @memberOf _ - * @since 1.0.0 - * @category Lang - * @param {*} value The value to recursively clone. - * @returns {*} Returns the deep cloned value. - * @see _.clone - * @example - * - * var objects = [{ 'a': 1 }, { 'b': 2 }]; - * - * var deep = _.cloneDeep(objects); - * console.log(deep[0] === objects[0]); - * // => false - */ - function cloneDeep(value) { - return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG); - } - - /** - * This method is like `_.cloneWith` except that it recursively clones `value`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to recursively clone. - * @param {Function} [customizer] The function to customize cloning. - * @returns {*} Returns the deep cloned value. - * @see _.cloneWith - * @example - * - * function customizer(value) { - * if (_.isElement(value)) { - * return value.cloneNode(true); - * } - * } - * - * var el = _.cloneDeepWith(document.body, customizer); - * - * console.log(el === document.body); - * // => false - * console.log(el.nodeName); - * // => 'BODY' - * console.log(el.childNodes.length); - * // => 20 - */ - function cloneDeepWith(value, customizer) { - customizer = typeof customizer == 'function' ? customizer : undefined; - return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer); - } - - /** - * Checks if `object` conforms to `source` by invoking the predicate - * properties of `source` with the corresponding property values of `object`. - * - * **Note:** This method is equivalent to `_.conforms` when `source` is - * partially applied. - * - * @static - * @memberOf _ - * @since 4.14.0 - * @category Lang - * @param {Object} object The object to inspect. - * @param {Object} source The object of property predicates to conform to. - * @returns {boolean} Returns `true` if `object` conforms, else `false`. - * @example - * - * var object = { 'a': 1, 'b': 2 }; - * - * _.conformsTo(object, { 'b': function(n) { return n > 1; } }); - * // => true - * - * _.conformsTo(object, { 'b': function(n) { return n > 2; } }); - * // => false - */ - function conformsTo(object, source) { - return source == null || baseConformsTo(object, source, keys(source)); - } - - /** - * Performs a - * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero) - * comparison between two values to determine if they are equivalent. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if the values are equivalent, else `false`. - * @example - * - * var object = { 'a': 1 }; - * var other = { 'a': 1 }; - * - * _.eq(object, object); - * // => true - * - * _.eq(object, other); - * // => false - * - * _.eq('a', 'a'); - * // => true - * - * _.eq('a', Object('a')); - * // => false - * - * _.eq(NaN, NaN); - * // => true - */ - function eq(value, other) { - return value === other || (value !== value && other !== other); - } - - /** - * Checks if `value` is greater than `other`. - * - * @static - * @memberOf _ - * @since 3.9.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if `value` is greater than `other`, - * else `false`. - * @see _.lt - * @example - * - * _.gt(3, 1); - * // => true - * - * _.gt(3, 3); - * // => false - * - * _.gt(1, 3); - * // => false - */ - var gt = createRelationalOperation(baseGt); - - /** - * Checks if `value` is greater than or equal to `other`. - * - * @static - * @memberOf _ - * @since 3.9.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if `value` is greater than or equal to - * `other`, else `false`. - * @see _.lte - * @example - * - * _.gte(3, 1); - * // => true - * - * _.gte(3, 3); - * // => true - * - * _.gte(1, 3); - * // => false - */ - var gte = createRelationalOperation(function(value, other) { - return value >= other; - }); - - /** - * Checks if `value` is likely an `arguments` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an `arguments` object, - * else `false`. - * @example - * - * _.isArguments(function() { return arguments; }()); - * // => true - * - * _.isArguments([1, 2, 3]); - * // => false - */ - var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) { - return isObjectLike(value) && hasOwnProperty.call(value, 'callee') && - !propertyIsEnumerable.call(value, 'callee'); - }; - - /** - * Checks if `value` is classified as an `Array` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an array, else `false`. - * @example - * - * _.isArray([1, 2, 3]); - * // => true - * - * _.isArray(document.body.children); - * // => false - * - * _.isArray('abc'); - * // => false - * - * _.isArray(_.noop); - * // => false - */ - var isArray = Array.isArray; - - /** - * Checks if `value` is classified as an `ArrayBuffer` object. - * - * @static - * @memberOf _ - * @since 4.3.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`. - * @example - * - * _.isArrayBuffer(new ArrayBuffer(2)); - * // => true - * - * _.isArrayBuffer(new Array(2)); - * // => false - */ - var isArrayBuffer = nodeIsArrayBuffer ? baseUnary(nodeIsArrayBuffer) : baseIsArrayBuffer; - - /** - * Checks if `value` is array-like. A value is considered array-like if it's - * not a function and has a `value.length` that's an integer greater than or - * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is array-like, else `false`. - * @example - * - * _.isArrayLike([1, 2, 3]); - * // => true - * - * _.isArrayLike(document.body.children); - * // => true - * - * _.isArrayLike('abc'); - * // => true - * - * _.isArrayLike(_.noop); - * // => false - */ - function isArrayLike(value) { - return value != null && isLength(value.length) && !isFunction(value); - } - - /** - * This method is like `_.isArrayLike` except that it also checks if `value` - * is an object. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an array-like object, - * else `false`. - * @example - * - * _.isArrayLikeObject([1, 2, 3]); - * // => true - * - * _.isArrayLikeObject(document.body.children); - * // => true - * - * _.isArrayLikeObject('abc'); - * // => false - * - * _.isArrayLikeObject(_.noop); - * // => false - */ - function isArrayLikeObject(value) { - return isObjectLike(value) && isArrayLike(value); - } - - /** - * Checks if `value` is classified as a boolean primitive or object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a boolean, else `false`. - * @example - * - * _.isBoolean(false); - * // => true - * - * _.isBoolean(null); - * // => false - */ - function isBoolean(value) { - return value === true || value === false || - (isObjectLike(value) && baseGetTag(value) == boolTag); - } - - /** - * Checks if `value` is a buffer. - * - * @static - * @memberOf _ - * @since 4.3.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a buffer, else `false`. - * @example - * - * _.isBuffer(new Buffer(2)); - * // => true - * - * _.isBuffer(new Uint8Array(2)); - * // => false - */ - var isBuffer = nativeIsBuffer || stubFalse; - - /** - * Checks if `value` is classified as a `Date` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a date object, else `false`. - * @example - * - * _.isDate(new Date); - * // => true - * - * _.isDate('Mon April 23 2012'); - * // => false - */ - var isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate; - - /** - * Checks if `value` is likely a DOM element. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a DOM element, else `false`. - * @example - * - * _.isElement(document.body); - * // => true - * - * _.isElement(''); - * // => false - */ - function isElement(value) { - return isObjectLike(value) && value.nodeType === 1 && !isPlainObject(value); - } - - /** - * Checks if `value` is an empty object, collection, map, or set. - * - * Objects are considered empty if they have no own enumerable string keyed - * properties. - * - * Array-like values such as `arguments` objects, arrays, buffers, strings, or - * jQuery-like collections are considered empty if they have a `length` of `0`. - * Similarly, maps and sets are considered empty if they have a `size` of `0`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is empty, else `false`. - * @example - * - * _.isEmpty(null); - * // => true - * - * _.isEmpty(true); - * // => true - * - * _.isEmpty(1); - * // => true - * - * _.isEmpty([1, 2, 3]); - * // => false - * - * _.isEmpty({ 'a': 1 }); - * // => false - */ - function isEmpty(value) { - if (value == null) { - return true; - } - if (isArrayLike(value) && - (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' || - isBuffer(value) || isTypedArray(value) || isArguments(value))) { - return !value.length; - } - var tag = getTag(value); - if (tag == mapTag || tag == setTag) { - return !value.size; - } - if (isPrototype(value)) { - return !baseKeys(value).length; - } - for (var key in value) { - if (hasOwnProperty.call(value, key)) { - return false; - } - } - return true; - } - - /** - * Performs a deep comparison between two values to determine if they are - * equivalent. - * - * **Note:** This method supports comparing arrays, array buffers, booleans, - * date objects, error objects, maps, numbers, `Object` objects, regexes, - * sets, strings, symbols, and typed arrays. `Object` objects are compared - * by their own, not inherited, enumerable properties. Functions and DOM - * nodes are compared by strict equality, i.e. `===`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if the values are equivalent, else `false`. - * @example - * - * var object = { 'a': 1 }; - * var other = { 'a': 1 }; - * - * _.isEqual(object, other); - * // => true - * - * object === other; - * // => false - */ - function isEqual(value, other) { - return baseIsEqual(value, other); - } - - /** - * This method is like `_.isEqual` except that it accepts `customizer` which - * is invoked to compare values. If `customizer` returns `undefined`, comparisons - * are handled by the method instead. The `customizer` is invoked with up to - * six arguments: (objValue, othValue [, index|key, object, other, stack]). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @param {Function} [customizer] The function to customize comparisons. - * @returns {boolean} Returns `true` if the values are equivalent, else `false`. - * @example - * - * function isGreeting(value) { - * return /^h(?:i|ello)$/.test(value); - * } - * - * function customizer(objValue, othValue) { - * if (isGreeting(objValue) && isGreeting(othValue)) { - * return true; - * } - * } - * - * var array = ['hello', 'goodbye']; - * var other = ['hi', 'goodbye']; - * - * _.isEqualWith(array, other, customizer); - * // => true - */ - function isEqualWith(value, other, customizer) { - customizer = typeof customizer == 'function' ? customizer : undefined; - var result = customizer ? customizer(value, other) : undefined; - return result === undefined ? baseIsEqual(value, other, undefined, customizer) : !!result; - } - - /** - * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`, - * `SyntaxError`, `TypeError`, or `URIError` object. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an error object, else `false`. - * @example - * - * _.isError(new Error); - * // => true - * - * _.isError(Error); - * // => false - */ - function isError(value) { - if (!isObjectLike(value)) { - return false; - } - var tag = baseGetTag(value); - return tag == errorTag || tag == domExcTag || - (typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value)); - } - - /** - * Checks if `value` is a finite primitive number. - * - * **Note:** This method is based on - * [`Number.isFinite`](https://mdn.io/Number/isFinite). - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a finite number, else `false`. - * @example - * - * _.isFinite(3); - * // => true - * - * _.isFinite(Number.MIN_VALUE); - * // => true - * - * _.isFinite(Infinity); - * // => false - * - * _.isFinite('3'); - * // => false - */ - function isFinite(value) { - return typeof value == 'number' && nativeIsFinite(value); - } - - /** - * Checks if `value` is classified as a `Function` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a function, else `false`. - * @example - * - * _.isFunction(_); - * // => true - * - * _.isFunction(/abc/); - * // => false - */ - function isFunction(value) { - if (!isObject(value)) { - return false; - } - // The use of `Object#toString` avoids issues with the `typeof` operator - // in Safari 9 which returns 'object' for typed arrays and other constructors. - var tag = baseGetTag(value); - return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag; - } - - /** - * Checks if `value` is an integer. - * - * **Note:** This method is based on - * [`Number.isInteger`](https://mdn.io/Number/isInteger). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an integer, else `false`. - * @example - * - * _.isInteger(3); - * // => true - * - * _.isInteger(Number.MIN_VALUE); - * // => false - * - * _.isInteger(Infinity); - * // => false - * - * _.isInteger('3'); - * // => false - */ - function isInteger(value) { - return typeof value == 'number' && value == toInteger(value); - } - - /** - * Checks if `value` is a valid array-like length. - * - * **Note:** This method is loosely based on - * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a valid length, else `false`. - * @example - * - * _.isLength(3); - * // => true - * - * _.isLength(Number.MIN_VALUE); - * // => false - * - * _.isLength(Infinity); - * // => false - * - * _.isLength('3'); - * // => false - */ - function isLength(value) { - return typeof value == 'number' && - value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER; - } - - /** - * Checks if `value` is the - * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types) - * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`) - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is an object, else `false`. - * @example - * - * _.isObject({}); - * // => true - * - * _.isObject([1, 2, 3]); - * // => true - * - * _.isObject(_.noop); - * // => true - * - * _.isObject(null); - * // => false - */ - function isObject(value) { - var type = typeof value; - return value != null && (type == 'object' || type == 'function'); - } - - /** - * Checks if `value` is object-like. A value is object-like if it's not `null` - * and has a `typeof` result of "object". - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is object-like, else `false`. - * @example - * - * _.isObjectLike({}); - * // => true - * - * _.isObjectLike([1, 2, 3]); - * // => true - * - * _.isObjectLike(_.noop); - * // => false - * - * _.isObjectLike(null); - * // => false - */ - function isObjectLike(value) { - return value != null && typeof value == 'object'; - } - - /** - * Checks if `value` is classified as a `Map` object. - * - * @static - * @memberOf _ - * @since 4.3.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a map, else `false`. - * @example - * - * _.isMap(new Map); - * // => true - * - * _.isMap(new WeakMap); - * // => false - */ - var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap; - - /** - * Performs a partial deep comparison between `object` and `source` to - * determine if `object` contains equivalent property values. - * - * **Note:** This method is equivalent to `_.matches` when `source` is - * partially applied. - * - * Partial comparisons will match empty array and empty object `source` - * values against any array or object value, respectively. See `_.isEqual` - * for a list of supported value comparisons. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Lang - * @param {Object} object The object to inspect. - * @param {Object} source The object of property values to match. - * @returns {boolean} Returns `true` if `object` is a match, else `false`. - * @example - * - * var object = { 'a': 1, 'b': 2 }; - * - * _.isMatch(object, { 'b': 2 }); - * // => true - * - * _.isMatch(object, { 'b': 1 }); - * // => false - */ - function isMatch(object, source) { - return object === source || baseIsMatch(object, source, getMatchData(source)); - } - - /** - * This method is like `_.isMatch` except that it accepts `customizer` which - * is invoked to compare values. If `customizer` returns `undefined`, comparisons - * are handled by the method instead. The `customizer` is invoked with five - * arguments: (objValue, srcValue, index|key, object, source). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {Object} object The object to inspect. - * @param {Object} source The object of property values to match. - * @param {Function} [customizer] The function to customize comparisons. - * @returns {boolean} Returns `true` if `object` is a match, else `false`. - * @example - * - * function isGreeting(value) { - * return /^h(?:i|ello)$/.test(value); - * } - * - * function customizer(objValue, srcValue) { - * if (isGreeting(objValue) && isGreeting(srcValue)) { - * return true; - * } - * } - * - * var object = { 'greeting': 'hello' }; - * var source = { 'greeting': 'hi' }; - * - * _.isMatchWith(object, source, customizer); - * // => true - */ - function isMatchWith(object, source, customizer) { - customizer = typeof customizer == 'function' ? customizer : undefined; - return baseIsMatch(object, source, getMatchData(source), customizer); - } - - /** - * Checks if `value` is `NaN`. - * - * **Note:** This method is based on - * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as - * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for - * `undefined` and other non-number values. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`. - * @example - * - * _.isNaN(NaN); - * // => true - * - * _.isNaN(new Number(NaN)); - * // => true - * - * isNaN(undefined); - * // => true - * - * _.isNaN(undefined); - * // => false - */ - function isNaN(value) { - // An `NaN` primitive is the only value that is not equal to itself. - // Perform the `toStringTag` check first to avoid errors with some - // ActiveX objects in IE. - return isNumber(value) && value != +value; - } - - /** - * Checks if `value` is a pristine native function. - * - * **Note:** This method can't reliably detect native functions in the presence - * of the core-js package because core-js circumvents this kind of detection. - * Despite multiple requests, the core-js maintainer has made it clear: any - * attempt to fix the detection will be obstructed. As a result, we're left - * with little choice but to throw an error. Unfortunately, this also affects - * packages, like [babel-polyfill](https://www.npmjs.com/package/babel-polyfill), - * which rely on core-js. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a native function, - * else `false`. - * @example - * - * _.isNative(Array.prototype.push); - * // => true - * - * _.isNative(_); - * // => false - */ - function isNative(value) { - if (isMaskable(value)) { - throw new Error(CORE_ERROR_TEXT); - } - return baseIsNative(value); - } - - /** - * Checks if `value` is `null`. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is `null`, else `false`. - * @example - * - * _.isNull(null); - * // => true - * - * _.isNull(void 0); - * // => false - */ - function isNull(value) { - return value === null; - } - - /** - * Checks if `value` is `null` or `undefined`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is nullish, else `false`. - * @example - * - * _.isNil(null); - * // => true - * - * _.isNil(void 0); - * // => true - * - * _.isNil(NaN); - * // => false - */ - function isNil(value) { - return value == null; - } - - /** - * Checks if `value` is classified as a `Number` primitive or object. - * - * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are - * classified as numbers, use the `_.isFinite` method. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a number, else `false`. - * @example - * - * _.isNumber(3); - * // => true - * - * _.isNumber(Number.MIN_VALUE); - * // => true - * - * _.isNumber(Infinity); - * // => true - * - * _.isNumber('3'); - * // => false - */ - function isNumber(value) { - return typeof value == 'number' || - (isObjectLike(value) && baseGetTag(value) == numberTag); - } - - /** - * Checks if `value` is a plain object, that is, an object created by the - * `Object` constructor or one with a `[[Prototype]]` of `null`. - * - * @static - * @memberOf _ - * @since 0.8.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a plain object, else `false`. - * @example - * - * function Foo() { - * this.a = 1; - * } - * - * _.isPlainObject(new Foo); - * // => false - * - * _.isPlainObject([1, 2, 3]); - * // => false - * - * _.isPlainObject({ 'x': 0, 'y': 0 }); - * // => true - * - * _.isPlainObject(Object.create(null)); - * // => true - */ - function isPlainObject(value) { - if (!isObjectLike(value) || baseGetTag(value) != objectTag) { - return false; - } - var proto = getPrototype(value); - if (proto === null) { - return true; - } - var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor; - return typeof Ctor == 'function' && Ctor instanceof Ctor && - funcToString.call(Ctor) == objectCtorString; - } - - /** - * Checks if `value` is classified as a `RegExp` object. - * - * @static - * @memberOf _ - * @since 0.1.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a regexp, else `false`. - * @example - * - * _.isRegExp(/abc/); - * // => true - * - * _.isRegExp('/abc/'); - * // => false - */ - var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp; - - /** - * Checks if `value` is a safe integer. An integer is safe if it's an IEEE-754 - * double precision number which isn't the result of a rounded unsafe integer. - * - * **Note:** This method is based on - * [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a safe integer, else `false`. - * @example - * - * _.isSafeInteger(3); - * // => true - * - * _.isSafeInteger(Number.MIN_VALUE); - * // => false - * - * _.isSafeInteger(Infinity); - * // => false - * - * _.isSafeInteger('3'); - * // => false - */ - function isSafeInteger(value) { - return isInteger(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER; - } - - /** - * Checks if `value` is classified as a `Set` object. - * - * @static - * @memberOf _ - * @since 4.3.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a set, else `false`. - * @example - * - * _.isSet(new Set); - * // => true - * - * _.isSet(new WeakSet); - * // => false - */ - var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet; - - /** - * Checks if `value` is classified as a `String` primitive or object. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a string, else `false`. - * @example - * - * _.isString('abc'); - * // => true - * - * _.isString(1); - * // => false - */ - function isString(value) { - return typeof value == 'string' || - (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag); - } - - /** - * Checks if `value` is classified as a `Symbol` primitive or object. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a symbol, else `false`. - * @example - * - * _.isSymbol(Symbol.iterator); - * // => true - * - * _.isSymbol('abc'); - * // => false - */ - function isSymbol(value) { - return typeof value == 'symbol' || - (isObjectLike(value) && baseGetTag(value) == symbolTag); - } - - /** - * Checks if `value` is classified as a typed array. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a typed array, else `false`. - * @example - * - * _.isTypedArray(new Uint8Array); - * // => true - * - * _.isTypedArray([]); - * // => false - */ - var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray; - - /** - * Checks if `value` is `undefined`. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`. - * @example - * - * _.isUndefined(void 0); - * // => true - * - * _.isUndefined(null); - * // => false - */ - function isUndefined(value) { - return value === undefined; - } - - /** - * Checks if `value` is classified as a `WeakMap` object. - * - * @static - * @memberOf _ - * @since 4.3.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a weak map, else `false`. - * @example - * - * _.isWeakMap(new WeakMap); - * // => true - * - * _.isWeakMap(new Map); - * // => false - */ - function isWeakMap(value) { - return isObjectLike(value) && getTag(value) == weakMapTag; - } - - /** - * Checks if `value` is classified as a `WeakSet` object. - * - * @static - * @memberOf _ - * @since 4.3.0 - * @category Lang - * @param {*} value The value to check. - * @returns {boolean} Returns `true` if `value` is a weak set, else `false`. - * @example - * - * _.isWeakSet(new WeakSet); - * // => true - * - * _.isWeakSet(new Set); - * // => false - */ - function isWeakSet(value) { - return isObjectLike(value) && baseGetTag(value) == weakSetTag; - } - - /** - * Checks if `value` is less than `other`. - * - * @static - * @memberOf _ - * @since 3.9.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if `value` is less than `other`, - * else `false`. - * @see _.gt - * @example - * - * _.lt(1, 3); - * // => true - * - * _.lt(3, 3); - * // => false - * - * _.lt(3, 1); - * // => false - */ - var lt = createRelationalOperation(baseLt); - - /** - * Checks if `value` is less than or equal to `other`. - * - * @static - * @memberOf _ - * @since 3.9.0 - * @category Lang - * @param {*} value The value to compare. - * @param {*} other The other value to compare. - * @returns {boolean} Returns `true` if `value` is less than or equal to - * `other`, else `false`. - * @see _.gte - * @example - * - * _.lte(1, 3); - * // => true - * - * _.lte(3, 3); - * // => true - * - * _.lte(3, 1); - * // => false - */ - var lte = createRelationalOperation(function(value, other) { - return value <= other; - }); - - /** - * Converts `value` to an array. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Lang - * @param {*} value The value to convert. - * @returns {Array} Returns the converted array. - * @example - * - * _.toArray({ 'a': 1, 'b': 2 }); - * // => [1, 2] - * - * _.toArray('abc'); - * // => ['a', 'b', 'c'] - * - * _.toArray(1); - * // => [] - * - * _.toArray(null); - * // => [] - */ - function toArray(value) { - if (!value) { - return []; - } - if (isArrayLike(value)) { - return isString(value) ? stringToArray(value) : copyArray(value); - } - if (symIterator && value[symIterator]) { - return iteratorToArray(value[symIterator]()); - } - var tag = getTag(value), - func = tag == mapTag ? mapToArray : (tag == setTag ? setToArray : values); - - return func(value); - } - - /** - * Converts `value` to a finite number. - * - * @static - * @memberOf _ - * @since 4.12.0 - * @category Lang - * @param {*} value The value to convert. - * @returns {number} Returns the converted number. - * @example - * - * _.toFinite(3.2); - * // => 3.2 - * - * _.toFinite(Number.MIN_VALUE); - * // => 5e-324 - * - * _.toFinite(Infinity); - * // => 1.7976931348623157e+308 - * - * _.toFinite('3.2'); - * // => 3.2 - */ - function toFinite(value) { - if (!value) { - return value === 0 ? value : 0; - } - value = toNumber(value); - if (value === INFINITY || value === -INFINITY) { - var sign = (value < 0 ? -1 : 1); - return sign * MAX_INTEGER; - } - return value === value ? value : 0; - } - - /** - * Converts `value` to an integer. - * - * **Note:** This method is loosely based on - * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to convert. - * @returns {number} Returns the converted integer. - * @example - * - * _.toInteger(3.2); - * // => 3 - * - * _.toInteger(Number.MIN_VALUE); - * // => 0 - * - * _.toInteger(Infinity); - * // => 1.7976931348623157e+308 - * - * _.toInteger('3.2'); - * // => 3 - */ - function toInteger(value) { - var result = toFinite(value), - remainder = result % 1; - - return result === result ? (remainder ? result - remainder : result) : 0; - } - - /** - * Converts `value` to an integer suitable for use as the length of an - * array-like object. - * - * **Note:** This method is based on - * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to convert. - * @returns {number} Returns the converted integer. - * @example - * - * _.toLength(3.2); - * // => 3 - * - * _.toLength(Number.MIN_VALUE); - * // => 0 - * - * _.toLength(Infinity); - * // => 4294967295 - * - * _.toLength('3.2'); - * // => 3 - */ - function toLength(value) { - return value ? baseClamp(toInteger(value), 0, MAX_ARRAY_LENGTH) : 0; - } - - /** - * Converts `value` to a number. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to process. - * @returns {number} Returns the number. - * @example - * - * _.toNumber(3.2); - * // => 3.2 - * - * _.toNumber(Number.MIN_VALUE); - * // => 5e-324 - * - * _.toNumber(Infinity); - * // => Infinity - * - * _.toNumber('3.2'); - * // => 3.2 - */ - function toNumber(value) { - if (typeof value == 'number') { - return value; - } - if (isSymbol(value)) { - return NAN; - } - if (isObject(value)) { - var other = typeof value.valueOf == 'function' ? value.valueOf() : value; - value = isObject(other) ? (other + '') : other; - } - if (typeof value != 'string') { - return value === 0 ? value : +value; - } - value = baseTrim(value); - var isBinary = reIsBinary.test(value); - return (isBinary || reIsOctal.test(value)) - ? freeParseInt(value.slice(2), isBinary ? 2 : 8) - : (reIsBadHex.test(value) ? NAN : +value); - } - - /** - * Converts `value` to a plain object flattening inherited enumerable string - * keyed properties of `value` to own properties of the plain object. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Lang - * @param {*} value The value to convert. - * @returns {Object} Returns the converted plain object. - * @example - * - * function Foo() { - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.assign({ 'a': 1 }, new Foo); - * // => { 'a': 1, 'b': 2 } - * - * _.assign({ 'a': 1 }, _.toPlainObject(new Foo)); - * // => { 'a': 1, 'b': 2, 'c': 3 } - */ - function toPlainObject(value) { - return copyObject(value, keysIn(value)); - } - - /** - * Converts `value` to a safe integer. A safe integer can be compared and - * represented correctly. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to convert. - * @returns {number} Returns the converted integer. - * @example - * - * _.toSafeInteger(3.2); - * // => 3 - * - * _.toSafeInteger(Number.MIN_VALUE); - * // => 0 - * - * _.toSafeInteger(Infinity); - * // => 9007199254740991 - * - * _.toSafeInteger('3.2'); - * // => 3 - */ - function toSafeInteger(value) { - return value - ? baseClamp(toInteger(value), -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER) - : (value === 0 ? value : 0); - } - - /** - * Converts `value` to a string. An empty string is returned for `null` - * and `undefined` values. The sign of `-0` is preserved. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Lang - * @param {*} value The value to convert. - * @returns {string} Returns the converted string. - * @example - * - * _.toString(null); - * // => '' - * - * _.toString(-0); - * // => '-0' - * - * _.toString([1, 2, 3]); - * // => '1,2,3' - */ - function toString(value) { - return value == null ? '' : baseToString(value); - } - - /*------------------------------------------------------------------------*/ - - /** - * Assigns own enumerable string keyed properties of source objects to the - * destination object. Source objects are applied from left to right. - * Subsequent sources overwrite property assignments of previous sources. - * - * **Note:** This method mutates `object` and is loosely based on - * [`Object.assign`](https://mdn.io/Object/assign). - * - * @static - * @memberOf _ - * @since 0.10.0 - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @returns {Object} Returns `object`. - * @see _.assignIn - * @example - * - * function Foo() { - * this.a = 1; - * } - * - * function Bar() { - * this.c = 3; - * } - * - * Foo.prototype.b = 2; - * Bar.prototype.d = 4; - * - * _.assign({ 'a': 0 }, new Foo, new Bar); - * // => { 'a': 1, 'c': 3 } - */ - var assign = createAssigner(function(object, source) { - if (isPrototype(source) || isArrayLike(source)) { - copyObject(source, keys(source), object); - return; - } - for (var key in source) { - if (hasOwnProperty.call(source, key)) { - assignValue(object, key, source[key]); - } - } - }); - - /** - * This method is like `_.assign` except that it iterates over own and - * inherited source properties. - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @alias extend - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @returns {Object} Returns `object`. - * @see _.assign - * @example - * - * function Foo() { - * this.a = 1; - * } - * - * function Bar() { - * this.c = 3; - * } - * - * Foo.prototype.b = 2; - * Bar.prototype.d = 4; - * - * _.assignIn({ 'a': 0 }, new Foo, new Bar); - * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 } - */ - var assignIn = createAssigner(function(object, source) { - copyObject(source, keysIn(source), object); - }); - - /** - * This method is like `_.assignIn` except that it accepts `customizer` - * which is invoked to produce the assigned values. If `customizer` returns - * `undefined`, assignment is handled by the method instead. The `customizer` - * is invoked with five arguments: (objValue, srcValue, key, object, source). - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @alias extendWith - * @category Object - * @param {Object} object The destination object. - * @param {...Object} sources The source objects. - * @param {Function} [customizer] The function to customize assigned values. - * @returns {Object} Returns `object`. - * @see _.assignWith - * @example - * - * function customizer(objValue, srcValue) { - * return _.isUndefined(objValue) ? srcValue : objValue; - * } - * - * var defaults = _.partialRight(_.assignInWith, customizer); - * - * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); - * // => { 'a': 1, 'b': 2 } - */ - var assignInWith = createAssigner(function(object, source, srcIndex, customizer) { - copyObject(source, keysIn(source), object, customizer); - }); - - /** - * This method is like `_.assign` except that it accepts `customizer` - * which is invoked to produce the assigned values. If `customizer` returns - * `undefined`, assignment is handled by the method instead. The `customizer` - * is invoked with five arguments: (objValue, srcValue, key, object, source). - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The destination object. - * @param {...Object} sources The source objects. - * @param {Function} [customizer] The function to customize assigned values. - * @returns {Object} Returns `object`. - * @see _.assignInWith - * @example - * - * function customizer(objValue, srcValue) { - * return _.isUndefined(objValue) ? srcValue : objValue; - * } - * - * var defaults = _.partialRight(_.assignWith, customizer); - * - * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); - * // => { 'a': 1, 'b': 2 } - */ - var assignWith = createAssigner(function(object, source, srcIndex, customizer) { - copyObject(source, keys(source), object, customizer); - }); - - /** - * Creates an array of values corresponding to `paths` of `object`. - * - * @static - * @memberOf _ - * @since 1.0.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {...(string|string[])} [paths] The property paths to pick. - * @returns {Array} Returns the picked values. - * @example - * - * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] }; - * - * _.at(object, ['a[0].b.c', 'a[1]']); - * // => [3, 4] - */ - var at = flatRest(baseAt); - - /** - * Creates an object that inherits from the `prototype` object. If a - * `properties` object is given, its own enumerable string keyed properties - * are assigned to the created object. - * - * @static - * @memberOf _ - * @since 2.3.0 - * @category Object - * @param {Object} prototype The object to inherit from. - * @param {Object} [properties] The properties to assign to the object. - * @returns {Object} Returns the new object. - * @example - * - * function Shape() { - * this.x = 0; - * this.y = 0; - * } - * - * function Circle() { - * Shape.call(this); - * } - * - * Circle.prototype = _.create(Shape.prototype, { - * 'constructor': Circle - * }); - * - * var circle = new Circle; - * circle instanceof Circle; - * // => true - * - * circle instanceof Shape; - * // => true - */ - function create(prototype, properties) { - var result = baseCreate(prototype); - return properties == null ? result : baseAssign(result, properties); - } - - /** - * Assigns own and inherited enumerable string keyed properties of source - * objects to the destination object for all destination properties that - * resolve to `undefined`. Source objects are applied from left to right. - * Once a property is set, additional values of the same property are ignored. - * - * **Note:** This method mutates `object`. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @returns {Object} Returns `object`. - * @see _.defaultsDeep - * @example - * - * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 }); - * // => { 'a': 1, 'b': 2 } - */ - var defaults = baseRest(function(object, sources) { - object = Object(object); - - var index = -1; - var length = sources.length; - var guard = length > 2 ? sources[2] : undefined; - - if (guard && isIterateeCall(sources[0], sources[1], guard)) { - length = 1; - } - - while (++index < length) { - var source = sources[index]; - var props = keysIn(source); - var propsIndex = -1; - var propsLength = props.length; - - while (++propsIndex < propsLength) { - var key = props[propsIndex]; - var value = object[key]; - - if (value === undefined || - (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) { - object[key] = source[key]; - } - } - } - - return object; - }); - - /** - * This method is like `_.defaults` except that it recursively assigns - * default properties. - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 3.10.0 - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @returns {Object} Returns `object`. - * @see _.defaults - * @example - * - * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } }); - * // => { 'a': { 'b': 2, 'c': 3 } } - */ - var defaultsDeep = baseRest(function(args) { - args.push(undefined, customDefaultsMerge); - return apply(mergeWith, undefined, args); - }); - - /** - * This method is like `_.find` except that it returns the key of the first - * element `predicate` returns truthy for instead of the element itself. - * - * @static - * @memberOf _ - * @since 1.1.0 - * @category Object - * @param {Object} object The object to inspect. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {string|undefined} Returns the key of the matched element, - * else `undefined`. - * @example - * - * var users = { - * 'barney': { 'age': 36, 'active': true }, - * 'fred': { 'age': 40, 'active': false }, - * 'pebbles': { 'age': 1, 'active': true } - * }; - * - * _.findKey(users, function(o) { return o.age < 40; }); - * // => 'barney' (iteration order is not guaranteed) - * - * // The `_.matches` iteratee shorthand. - * _.findKey(users, { 'age': 1, 'active': true }); - * // => 'pebbles' - * - * // The `_.matchesProperty` iteratee shorthand. - * _.findKey(users, ['active', false]); - * // => 'fred' - * - * // The `_.property` iteratee shorthand. - * _.findKey(users, 'active'); - * // => 'barney' - */ - function findKey(object, predicate) { - return baseFindKey(object, getIteratee(predicate, 3), baseForOwn); - } - - /** - * This method is like `_.findKey` except that it iterates over elements of - * a collection in the opposite order. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Object - * @param {Object} object The object to inspect. - * @param {Function} [predicate=_.identity] The function invoked per iteration. - * @returns {string|undefined} Returns the key of the matched element, - * else `undefined`. - * @example - * - * var users = { - * 'barney': { 'age': 36, 'active': true }, - * 'fred': { 'age': 40, 'active': false }, - * 'pebbles': { 'age': 1, 'active': true } - * }; - * - * _.findLastKey(users, function(o) { return o.age < 40; }); - * // => returns 'pebbles' assuming `_.findKey` returns 'barney' - * - * // The `_.matches` iteratee shorthand. - * _.findLastKey(users, { 'age': 36, 'active': true }); - * // => 'barney' - * - * // The `_.matchesProperty` iteratee shorthand. - * _.findLastKey(users, ['active', false]); - * // => 'fred' - * - * // The `_.property` iteratee shorthand. - * _.findLastKey(users, 'active'); - * // => 'pebbles' - */ - function findLastKey(object, predicate) { - return baseFindKey(object, getIteratee(predicate, 3), baseForOwnRight); - } - - /** - * Iterates over own and inherited enumerable string keyed properties of an - * object and invokes `iteratee` for each property. The iteratee is invoked - * with three arguments: (value, key, object). Iteratee functions may exit - * iteration early by explicitly returning `false`. - * - * @static - * @memberOf _ - * @since 0.3.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Object} Returns `object`. - * @see _.forInRight - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.forIn(new Foo, function(value, key) { - * console.log(key); - * }); - * // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed). - */ - function forIn(object, iteratee) { - return object == null - ? object - : baseFor(object, getIteratee(iteratee, 3), keysIn); - } - - /** - * This method is like `_.forIn` except that it iterates over properties of - * `object` in the opposite order. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Object} Returns `object`. - * @see _.forIn - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.forInRight(new Foo, function(value, key) { - * console.log(key); - * }); - * // => Logs 'c', 'b', then 'a' assuming `_.forIn` logs 'a', 'b', then 'c'. - */ - function forInRight(object, iteratee) { - return object == null - ? object - : baseForRight(object, getIteratee(iteratee, 3), keysIn); - } - - /** - * Iterates over own enumerable string keyed properties of an object and - * invokes `iteratee` for each property. The iteratee is invoked with three - * arguments: (value, key, object). Iteratee functions may exit iteration - * early by explicitly returning `false`. - * - * @static - * @memberOf _ - * @since 0.3.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Object} Returns `object`. - * @see _.forOwnRight - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.forOwn(new Foo, function(value, key) { - * console.log(key); - * }); - * // => Logs 'a' then 'b' (iteration order is not guaranteed). - */ - function forOwn(object, iteratee) { - return object && baseForOwn(object, getIteratee(iteratee, 3)); - } - - /** - * This method is like `_.forOwn` except that it iterates over properties of - * `object` in the opposite order. - * - * @static - * @memberOf _ - * @since 2.0.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Object} Returns `object`. - * @see _.forOwn - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.forOwnRight(new Foo, function(value, key) { - * console.log(key); - * }); - * // => Logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'. - */ - function forOwnRight(object, iteratee) { - return object && baseForOwnRight(object, getIteratee(iteratee, 3)); - } - - /** - * Creates an array of function property names from own enumerable properties - * of `object`. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The object to inspect. - * @returns {Array} Returns the function names. - * @see _.functionsIn - * @example - * - * function Foo() { - * this.a = _.constant('a'); - * this.b = _.constant('b'); - * } - * - * Foo.prototype.c = _.constant('c'); - * - * _.functions(new Foo); - * // => ['a', 'b'] - */ - function functions(object) { - return object == null ? [] : baseFunctions(object, keys(object)); - } - - /** - * Creates an array of function property names from own and inherited - * enumerable properties of `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The object to inspect. - * @returns {Array} Returns the function names. - * @see _.functions - * @example - * - * function Foo() { - * this.a = _.constant('a'); - * this.b = _.constant('b'); - * } - * - * Foo.prototype.c = _.constant('c'); - * - * _.functionsIn(new Foo); - * // => ['a', 'b', 'c'] - */ - function functionsIn(object) { - return object == null ? [] : baseFunctions(object, keysIn(object)); - } - - /** - * Gets the value at `path` of `object`. If the resolved value is - * `undefined`, the `defaultValue` is returned in its place. - * - * @static - * @memberOf _ - * @since 3.7.0 - * @category Object - * @param {Object} object The object to query. - * @param {Array|string} path The path of the property to get. - * @param {*} [defaultValue] The value returned for `undefined` resolved values. - * @returns {*} Returns the resolved value. - * @example - * - * var object = { 'a': [{ 'b': { 'c': 3 } }] }; - * - * _.get(object, 'a[0].b.c'); - * // => 3 - * - * _.get(object, ['a', '0', 'b', 'c']); - * // => 3 - * - * _.get(object, 'a.b.c', 'default'); - * // => 'default' - */ - function get(object, path, defaultValue) { - var result = object == null ? undefined : baseGet(object, path); - return result === undefined ? defaultValue : result; - } - - /** - * Checks if `path` is a direct property of `object`. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @param {Array|string} path The path to check. - * @returns {boolean} Returns `true` if `path` exists, else `false`. - * @example - * - * var object = { 'a': { 'b': 2 } }; - * var other = _.create({ 'a': _.create({ 'b': 2 }) }); - * - * _.has(object, 'a'); - * // => true - * - * _.has(object, 'a.b'); - * // => true - * - * _.has(object, ['a', 'b']); - * // => true - * - * _.has(other, 'a'); - * // => false - */ - function has(object, path) { - return object != null && hasPath(object, path, baseHas); - } - - /** - * Checks if `path` is a direct or inherited property of `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The object to query. - * @param {Array|string} path The path to check. - * @returns {boolean} Returns `true` if `path` exists, else `false`. - * @example - * - * var object = _.create({ 'a': _.create({ 'b': 2 }) }); - * - * _.hasIn(object, 'a'); - * // => true - * - * _.hasIn(object, 'a.b'); - * // => true - * - * _.hasIn(object, ['a', 'b']); - * // => true - * - * _.hasIn(object, 'b'); - * // => false - */ - function hasIn(object, path) { - return object != null && hasPath(object, path, baseHasIn); - } - - /** - * Creates an object composed of the inverted keys and values of `object`. - * If `object` contains duplicate values, subsequent values overwrite - * property assignments of previous values. - * - * @static - * @memberOf _ - * @since 0.7.0 - * @category Object - * @param {Object} object The object to invert. - * @returns {Object} Returns the new inverted object. - * @example - * - * var object = { 'a': 1, 'b': 2, 'c': 1 }; - * - * _.invert(object); - * // => { '1': 'c', '2': 'b' } - */ - var invert = createInverter(function(result, value, key) { - if (value != null && - typeof value.toString != 'function') { - value = nativeObjectToString.call(value); - } - - result[value] = key; - }, constant(identity)); - - /** - * This method is like `_.invert` except that the inverted object is generated - * from the results of running each element of `object` thru `iteratee`. The - * corresponding inverted value of each inverted key is an array of keys - * responsible for generating the inverted value. The iteratee is invoked - * with one argument: (value). - * - * @static - * @memberOf _ - * @since 4.1.0 - * @category Object - * @param {Object} object The object to invert. - * @param {Function} [iteratee=_.identity] The iteratee invoked per element. - * @returns {Object} Returns the new inverted object. - * @example - * - * var object = { 'a': 1, 'b': 2, 'c': 1 }; - * - * _.invertBy(object); - * // => { '1': ['a', 'c'], '2': ['b'] } - * - * _.invertBy(object, function(value) { - * return 'group' + value; - * }); - * // => { 'group1': ['a', 'c'], 'group2': ['b'] } - */ - var invertBy = createInverter(function(result, value, key) { - if (value != null && - typeof value.toString != 'function') { - value = nativeObjectToString.call(value); - } - - if (hasOwnProperty.call(result, value)) { - result[value].push(key); - } else { - result[value] = [key]; - } - }, getIteratee); - - /** - * Invokes the method at `path` of `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The object to query. - * @param {Array|string} path The path of the method to invoke. - * @param {...*} [args] The arguments to invoke the method with. - * @returns {*} Returns the result of the invoked method. - * @example - * - * var object = { 'a': [{ 'b': { 'c': [1, 2, 3, 4] } }] }; - * - * _.invoke(object, 'a[0].b.c.slice', 1, 3); - * // => [2, 3] - */ - var invoke = baseRest(baseInvoke); - - /** - * Creates an array of the own enumerable property names of `object`. - * - * **Note:** Non-object values are coerced to objects. See the - * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys) - * for more details. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.keys(new Foo); - * // => ['a', 'b'] (iteration order is not guaranteed) - * - * _.keys('hi'); - * // => ['0', '1'] - */ - function keys(object) { - return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object); - } - - /** - * Creates an array of the own and inherited enumerable property names of `object`. - * - * **Note:** Non-object values are coerced to objects. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property names. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.keysIn(new Foo); - * // => ['a', 'b', 'c'] (iteration order is not guaranteed) - */ - function keysIn(object) { - return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object); - } - - /** - * The opposite of `_.mapValues`; this method creates an object with the - * same values as `object` and keys generated by running each own enumerable - * string keyed property of `object` thru `iteratee`. The iteratee is invoked - * with three arguments: (value, key, object). - * - * @static - * @memberOf _ - * @since 3.8.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Object} Returns the new mapped object. - * @see _.mapValues - * @example - * - * _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) { - * return key + value; - * }); - * // => { 'a1': 1, 'b2': 2 } - */ - function mapKeys(object, iteratee) { - var result = {}; - iteratee = getIteratee(iteratee, 3); - - baseForOwn(object, function(value, key, object) { - baseAssignValue(result, iteratee(value, key, object), value); - }); - return result; - } - - /** - * Creates an object with the same keys as `object` and values generated - * by running each own enumerable string keyed property of `object` thru - * `iteratee`. The iteratee is invoked with three arguments: - * (value, key, object). - * - * @static - * @memberOf _ - * @since 2.4.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @returns {Object} Returns the new mapped object. - * @see _.mapKeys - * @example - * - * var users = { - * 'fred': { 'user': 'fred', 'age': 40 }, - * 'pebbles': { 'user': 'pebbles', 'age': 1 } - * }; - * - * _.mapValues(users, function(o) { return o.age; }); - * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed) - * - * // The `_.property` iteratee shorthand. - * _.mapValues(users, 'age'); - * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed) - */ - function mapValues(object, iteratee) { - var result = {}; - iteratee = getIteratee(iteratee, 3); - - baseForOwn(object, function(value, key, object) { - baseAssignValue(result, key, iteratee(value, key, object)); - }); - return result; - } - - /** - * This method is like `_.assign` except that it recursively merges own and - * inherited enumerable string keyed properties of source objects into the - * destination object. Source properties that resolve to `undefined` are - * skipped if a destination value exists. Array and plain object properties - * are merged recursively. Other objects and value types are overridden by - * assignment. Source objects are applied from left to right. Subsequent - * sources overwrite property assignments of previous sources. - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 0.5.0 - * @category Object - * @param {Object} object The destination object. - * @param {...Object} [sources] The source objects. - * @returns {Object} Returns `object`. - * @example - * - * var object = { - * 'a': [{ 'b': 2 }, { 'd': 4 }] - * }; - * - * var other = { - * 'a': [{ 'c': 3 }, { 'e': 5 }] - * }; - * - * _.merge(object, other); - * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] } - */ - var merge = createAssigner(function(object, source, srcIndex) { - baseMerge(object, source, srcIndex); - }); - - /** - * This method is like `_.merge` except that it accepts `customizer` which - * is invoked to produce the merged values of the destination and source - * properties. If `customizer` returns `undefined`, merging is handled by the - * method instead. The `customizer` is invoked with six arguments: - * (objValue, srcValue, key, object, source, stack). - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The destination object. - * @param {...Object} sources The source objects. - * @param {Function} customizer The function to customize assigned values. - * @returns {Object} Returns `object`. - * @example - * - * function customizer(objValue, srcValue) { - * if (_.isArray(objValue)) { - * return objValue.concat(srcValue); - * } - * } - * - * var object = { 'a': [1], 'b': [2] }; - * var other = { 'a': [3], 'b': [4] }; - * - * _.mergeWith(object, other, customizer); - * // => { 'a': [1, 3], 'b': [2, 4] } - */ - var mergeWith = createAssigner(function(object, source, srcIndex, customizer) { - baseMerge(object, source, srcIndex, customizer); - }); - - /** - * The opposite of `_.pick`; this method creates an object composed of the - * own and inherited enumerable property paths of `object` that are not omitted. - * - * **Note:** This method is considerably slower than `_.pick`. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The source object. - * @param {...(string|string[])} [paths] The property paths to omit. - * @returns {Object} Returns the new object. - * @example - * - * var object = { 'a': 1, 'b': '2', 'c': 3 }; - * - * _.omit(object, ['a', 'c']); - * // => { 'b': '2' } - */ - var omit = flatRest(function(object, paths) { - var result = {}; - if (object == null) { - return result; - } - var isDeep = false; - paths = arrayMap(paths, function(path) { - path = castPath(path, object); - isDeep || (isDeep = path.length > 1); - return path; - }); - copyObject(object, getAllKeysIn(object), result); - if (isDeep) { - result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone); - } - var length = paths.length; - while (length--) { - baseUnset(result, paths[length]); - } - return result; - }); - - /** - * The opposite of `_.pickBy`; this method creates an object composed of - * the own and inherited enumerable string keyed properties of `object` that - * `predicate` doesn't return truthy for. The predicate is invoked with two - * arguments: (value, key). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The source object. - * @param {Function} [predicate=_.identity] The function invoked per property. - * @returns {Object} Returns the new object. - * @example - * - * var object = { 'a': 1, 'b': '2', 'c': 3 }; - * - * _.omitBy(object, _.isNumber); - * // => { 'b': '2' } - */ - function omitBy(object, predicate) { - return pickBy(object, negate(getIteratee(predicate))); - } - - /** - * Creates an object composed of the picked `object` properties. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The source object. - * @param {...(string|string[])} [paths] The property paths to pick. - * @returns {Object} Returns the new object. - * @example - * - * var object = { 'a': 1, 'b': '2', 'c': 3 }; - * - * _.pick(object, ['a', 'c']); - * // => { 'a': 1, 'c': 3 } - */ - var pick = flatRest(function(object, paths) { - return object == null ? {} : basePick(object, paths); - }); - - /** - * Creates an object composed of the `object` properties `predicate` returns - * truthy for. The predicate is invoked with two arguments: (value, key). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The source object. - * @param {Function} [predicate=_.identity] The function invoked per property. - * @returns {Object} Returns the new object. - * @example - * - * var object = { 'a': 1, 'b': '2', 'c': 3 }; - * - * _.pickBy(object, _.isNumber); - * // => { 'a': 1, 'c': 3 } - */ - function pickBy(object, predicate) { - if (object == null) { - return {}; - } - var props = arrayMap(getAllKeysIn(object), function(prop) { - return [prop]; - }); - predicate = getIteratee(predicate); - return basePickBy(object, props, function(value, path) { - return predicate(value, path[0]); - }); - } - - /** - * This method is like `_.get` except that if the resolved value is a - * function it's invoked with the `this` binding of its parent object and - * its result is returned. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @param {Array|string} path The path of the property to resolve. - * @param {*} [defaultValue] The value returned for `undefined` resolved values. - * @returns {*} Returns the resolved value. - * @example - * - * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] }; - * - * _.result(object, 'a[0].b.c1'); - * // => 3 - * - * _.result(object, 'a[0].b.c2'); - * // => 4 - * - * _.result(object, 'a[0].b.c3', 'default'); - * // => 'default' - * - * _.result(object, 'a[0].b.c3', _.constant('default')); - * // => 'default' - */ - function result(object, path, defaultValue) { - path = castPath(path, object); - - var index = -1, - length = path.length; - - // Ensure the loop is entered when path is empty. - if (!length) { - length = 1; - object = undefined; - } - while (++index < length) { - var value = object == null ? undefined : object[toKey(path[index])]; - if (value === undefined) { - index = length; - value = defaultValue; - } - object = isFunction(value) ? value.call(object) : value; - } - return object; - } - - /** - * Sets the value at `path` of `object`. If a portion of `path` doesn't exist, - * it's created. Arrays are created for missing index properties while objects - * are created for all other missing properties. Use `_.setWith` to customize - * `path` creation. - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 3.7.0 - * @category Object - * @param {Object} object The object to modify. - * @param {Array|string} path The path of the property to set. - * @param {*} value The value to set. - * @returns {Object} Returns `object`. - * @example - * - * var object = { 'a': [{ 'b': { 'c': 3 } }] }; - * - * _.set(object, 'a[0].b.c', 4); - * console.log(object.a[0].b.c); - * // => 4 - * - * _.set(object, ['x', '0', 'y', 'z'], 5); - * console.log(object.x[0].y.z); - * // => 5 - */ - function set(object, path, value) { - return object == null ? object : baseSet(object, path, value); - } - - /** - * This method is like `_.set` except that it accepts `customizer` which is - * invoked to produce the objects of `path`. If `customizer` returns `undefined` - * path creation is handled by the method instead. The `customizer` is invoked - * with three arguments: (nsValue, key, nsObject). - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The object to modify. - * @param {Array|string} path The path of the property to set. - * @param {*} value The value to set. - * @param {Function} [customizer] The function to customize assigned values. - * @returns {Object} Returns `object`. - * @example - * - * var object = {}; - * - * _.setWith(object, '[0][1]', 'a', Object); - * // => { '0': { '1': 'a' } } - */ - function setWith(object, path, value, customizer) { - customizer = typeof customizer == 'function' ? customizer : undefined; - return object == null ? object : baseSet(object, path, value, customizer); - } - - /** - * Creates an array of own enumerable string keyed-value pairs for `object` - * which can be consumed by `_.fromPairs`. If `object` is a map or set, its - * entries are returned. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @alias entries - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the key-value pairs. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.toPairs(new Foo); - * // => [['a', 1], ['b', 2]] (iteration order is not guaranteed) - */ - var toPairs = createToPairs(keys); - - /** - * Creates an array of own and inherited enumerable string keyed-value pairs - * for `object` which can be consumed by `_.fromPairs`. If `object` is a map - * or set, its entries are returned. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @alias entriesIn - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the key-value pairs. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.toPairsIn(new Foo); - * // => [['a', 1], ['b', 2], ['c', 3]] (iteration order is not guaranteed) - */ - var toPairsIn = createToPairs(keysIn); - - /** - * An alternative to `_.reduce`; this method transforms `object` to a new - * `accumulator` object which is the result of running each of its own - * enumerable string keyed properties thru `iteratee`, with each invocation - * potentially mutating the `accumulator` object. If `accumulator` is not - * provided, a new object with the same `[[Prototype]]` will be used. The - * iteratee is invoked with four arguments: (accumulator, value, key, object). - * Iteratee functions may exit iteration early by explicitly returning `false`. - * - * @static - * @memberOf _ - * @since 1.3.0 - * @category Object - * @param {Object} object The object to iterate over. - * @param {Function} [iteratee=_.identity] The function invoked per iteration. - * @param {*} [accumulator] The custom accumulator value. - * @returns {*} Returns the accumulated value. - * @example - * - * _.transform([2, 3, 4], function(result, n) { - * result.push(n *= n); - * return n % 2 == 0; - * }, []); - * // => [4, 9] - * - * _.transform({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) { - * (result[value] || (result[value] = [])).push(key); - * }, {}); - * // => { '1': ['a', 'c'], '2': ['b'] } - */ - function transform(object, iteratee, accumulator) { - var isArr = isArray(object), - isArrLike = isArr || isBuffer(object) || isTypedArray(object); - - iteratee = getIteratee(iteratee, 4); - if (accumulator == null) { - var Ctor = object && object.constructor; - if (isArrLike) { - accumulator = isArr ? new Ctor : []; - } - else if (isObject(object)) { - accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {}; - } - else { - accumulator = {}; - } - } - (isArrLike ? arrayEach : baseForOwn)(object, function(value, index, object) { - return iteratee(accumulator, value, index, object); - }); - return accumulator; - } - - /** - * Removes the property at `path` of `object`. - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Object - * @param {Object} object The object to modify. - * @param {Array|string} path The path of the property to unset. - * @returns {boolean} Returns `true` if the property is deleted, else `false`. - * @example - * - * var object = { 'a': [{ 'b': { 'c': 7 } }] }; - * _.unset(object, 'a[0].b.c'); - * // => true - * - * console.log(object); - * // => { 'a': [{ 'b': {} }] }; - * - * _.unset(object, ['a', '0', 'b', 'c']); - * // => true - * - * console.log(object); - * // => { 'a': [{ 'b': {} }] }; - */ - function unset(object, path) { - return object == null ? true : baseUnset(object, path); - } - - /** - * This method is like `_.set` except that accepts `updater` to produce the - * value to set. Use `_.updateWith` to customize `path` creation. The `updater` - * is invoked with one argument: (value). - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 4.6.0 - * @category Object - * @param {Object} object The object to modify. - * @param {Array|string} path The path of the property to set. - * @param {Function} updater The function to produce the updated value. - * @returns {Object} Returns `object`. - * @example - * - * var object = { 'a': [{ 'b': { 'c': 3 } }] }; - * - * _.update(object, 'a[0].b.c', function(n) { return n * n; }); - * console.log(object.a[0].b.c); - * // => 9 - * - * _.update(object, 'x[0].y.z', function(n) { return n ? n + 1 : 0; }); - * console.log(object.x[0].y.z); - * // => 0 - */ - function update(object, path, updater) { - return object == null ? object : baseUpdate(object, path, castFunction(updater)); - } - - /** - * This method is like `_.update` except that it accepts `customizer` which is - * invoked to produce the objects of `path`. If `customizer` returns `undefined` - * path creation is handled by the method instead. The `customizer` is invoked - * with three arguments: (nsValue, key, nsObject). - * - * **Note:** This method mutates `object`. - * - * @static - * @memberOf _ - * @since 4.6.0 - * @category Object - * @param {Object} object The object to modify. - * @param {Array|string} path The path of the property to set. - * @param {Function} updater The function to produce the updated value. - * @param {Function} [customizer] The function to customize assigned values. - * @returns {Object} Returns `object`. - * @example - * - * var object = {}; - * - * _.updateWith(object, '[0][1]', _.constant('a'), Object); - * // => { '0': { '1': 'a' } } - */ - function updateWith(object, path, updater, customizer) { - customizer = typeof customizer == 'function' ? customizer : undefined; - return object == null ? object : baseUpdate(object, path, castFunction(updater), customizer); - } - - /** - * Creates an array of the own enumerable string keyed property values of `object`. - * - * **Note:** Non-object values are coerced to objects. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property values. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.values(new Foo); - * // => [1, 2] (iteration order is not guaranteed) - * - * _.values('hi'); - * // => ['h', 'i'] - */ - function values(object) { - return object == null ? [] : baseValues(object, keys(object)); - } - - /** - * Creates an array of the own and inherited enumerable string keyed property - * values of `object`. - * - * **Note:** Non-object values are coerced to objects. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category Object - * @param {Object} object The object to query. - * @returns {Array} Returns the array of property values. - * @example - * - * function Foo() { - * this.a = 1; - * this.b = 2; - * } - * - * Foo.prototype.c = 3; - * - * _.valuesIn(new Foo); - * // => [1, 2, 3] (iteration order is not guaranteed) - */ - function valuesIn(object) { - return object == null ? [] : baseValues(object, keysIn(object)); - } - - /*------------------------------------------------------------------------*/ - - /** - * Clamps `number` within the inclusive `lower` and `upper` bounds. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category Number - * @param {number} number The number to clamp. - * @param {number} [lower] The lower bound. - * @param {number} upper The upper bound. - * @returns {number} Returns the clamped number. - * @example - * - * _.clamp(-10, -5, 5); - * // => -5 - * - * _.clamp(10, -5, 5); - * // => 5 - */ - function clamp(number, lower, upper) { - if (upper === undefined) { - upper = lower; - lower = undefined; - } - if (upper !== undefined) { - upper = toNumber(upper); - upper = upper === upper ? upper : 0; - } - if (lower !== undefined) { - lower = toNumber(lower); - lower = lower === lower ? lower : 0; - } - return baseClamp(toNumber(number), lower, upper); - } - - /** - * Checks if `n` is between `start` and up to, but not including, `end`. If - * `end` is not specified, it's set to `start` with `start` then set to `0`. - * If `start` is greater than `end` the params are swapped to support - * negative ranges. - * - * @static - * @memberOf _ - * @since 3.3.0 - * @category Number - * @param {number} number The number to check. - * @param {number} [start=0] The start of the range. - * @param {number} end The end of the range. - * @returns {boolean} Returns `true` if `number` is in the range, else `false`. - * @see _.range, _.rangeRight - * @example - * - * _.inRange(3, 2, 4); - * // => true - * - * _.inRange(4, 8); - * // => true - * - * _.inRange(4, 2); - * // => false - * - * _.inRange(2, 2); - * // => false - * - * _.inRange(1.2, 2); - * // => true - * - * _.inRange(5.2, 4); - * // => false - * - * _.inRange(-3, -2, -6); - * // => true - */ - function inRange(number, start, end) { - start = toFinite(start); - if (end === undefined) { - end = start; - start = 0; - } else { - end = toFinite(end); - } - number = toNumber(number); - return baseInRange(number, start, end); - } - - /** - * Produces a random number between the inclusive `lower` and `upper` bounds. - * If only one argument is provided a number between `0` and the given number - * is returned. If `floating` is `true`, or either `lower` or `upper` are - * floats, a floating-point number is returned instead of an integer. - * - * **Note:** JavaScript follows the IEEE-754 standard for resolving - * floating-point values which can produce unexpected results. - * - * @static - * @memberOf _ - * @since 0.7.0 - * @category Number - * @param {number} [lower=0] The lower bound. - * @param {number} [upper=1] The upper bound. - * @param {boolean} [floating] Specify returning a floating-point number. - * @returns {number} Returns the random number. - * @example - * - * _.random(0, 5); - * // => an integer between 0 and 5 - * - * _.random(5); - * // => also an integer between 0 and 5 - * - * _.random(5, true); - * // => a floating-point number between 0 and 5 - * - * _.random(1.2, 5.2); - * // => a floating-point number between 1.2 and 5.2 - */ - function random(lower, upper, floating) { - if (floating && typeof floating != 'boolean' && isIterateeCall(lower, upper, floating)) { - upper = floating = undefined; - } - if (floating === undefined) { - if (typeof upper == 'boolean') { - floating = upper; - upper = undefined; - } - else if (typeof lower == 'boolean') { - floating = lower; - lower = undefined; - } - } - if (lower === undefined && upper === undefined) { - lower = 0; - upper = 1; - } - else { - lower = toFinite(lower); - if (upper === undefined) { - upper = lower; - lower = 0; - } else { - upper = toFinite(upper); - } - } - if (lower > upper) { - var temp = lower; - lower = upper; - upper = temp; - } - if (floating || lower % 1 || upper % 1) { - var rand = nativeRandom(); - return nativeMin(lower + (rand * (upper - lower + freeParseFloat('1e-' + ((rand + '').length - 1)))), upper); - } - return baseRandom(lower, upper); - } - - /*------------------------------------------------------------------------*/ - - /** - * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to convert. - * @returns {string} Returns the camel cased string. - * @example - * - * _.camelCase('Foo Bar'); - * // => 'fooBar' - * - * _.camelCase('--foo-bar--'); - * // => 'fooBar' - * - * _.camelCase('__FOO_BAR__'); - * // => 'fooBar' - */ - var camelCase = createCompounder(function(result, word, index) { - word = word.toLowerCase(); - return result + (index ? capitalize(word) : word); - }); - - /** - * Converts the first character of `string` to upper case and the remaining - * to lower case. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to capitalize. - * @returns {string} Returns the capitalized string. - * @example - * - * _.capitalize('FRED'); - * // => 'Fred' - */ - function capitalize(string) { - return upperFirst(toString(string).toLowerCase()); - } - - /** - * Deburrs `string` by converting - * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table) - * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A) - * letters to basic Latin letters and removing - * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to deburr. - * @returns {string} Returns the deburred string. - * @example - * - * _.deburr('déjà vu'); - * // => 'deja vu' - */ - function deburr(string) { - string = toString(string); - return string && string.replace(reLatin, deburrLetter).replace(reComboMark, ''); - } - - /** - * Checks if `string` ends with the given target string. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to inspect. - * @param {string} [target] The string to search for. - * @param {number} [position=string.length] The position to search up to. - * @returns {boolean} Returns `true` if `string` ends with `target`, - * else `false`. - * @example - * - * _.endsWith('abc', 'c'); - * // => true - * - * _.endsWith('abc', 'b'); - * // => false - * - * _.endsWith('abc', 'b', 2); - * // => true - */ - function endsWith(string, target, position) { - string = toString(string); - target = baseToString(target); - - var length = string.length; - position = position === undefined - ? length - : baseClamp(toInteger(position), 0, length); - - var end = position; - position -= target.length; - return position >= 0 && string.slice(position, end) == target; - } - - /** - * Converts the characters "&", "<", ">", '"', and "'" in `string` to their - * corresponding HTML entities. - * - * **Note:** No other characters are escaped. To escape additional - * characters use a third-party library like [_he_](https://mths.be/he). - * - * Though the ">" character is escaped for symmetry, characters like - * ">" and "/" don't need escaping in HTML and have no special meaning - * unless they're part of a tag or unquoted attribute value. See - * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands) - * (under "semi-related fun fact") for more details. - * - * When working with HTML you should always - * [quote attribute values](http://wonko.com/post/html-escaping) to reduce - * XSS vectors. - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category String - * @param {string} [string=''] The string to escape. - * @returns {string} Returns the escaped string. - * @example - * - * _.escape('fred, barney, & pebbles'); - * // => 'fred, barney, & pebbles' - */ - function escape(string) { - string = toString(string); - return (string && reHasUnescapedHtml.test(string)) - ? string.replace(reUnescapedHtml, escapeHtmlChar) - : string; - } - - /** - * Escapes the `RegExp` special characters "^", "$", "\", ".", "*", "+", - * "?", "(", ")", "[", "]", "{", "}", and "|" in `string`. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to escape. - * @returns {string} Returns the escaped string. - * @example - * - * _.escapeRegExp('[lodash](https://lodash.com/)'); - * // => '\[lodash\]\(https://lodash\.com/\)' - */ - function escapeRegExp(string) { - string = toString(string); - return (string && reHasRegExpChar.test(string)) - ? string.replace(reRegExpChar, '\\$&') - : string; - } - - /** - * Converts `string` to - * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to convert. - * @returns {string} Returns the kebab cased string. - * @example - * - * _.kebabCase('Foo Bar'); - * // => 'foo-bar' - * - * _.kebabCase('fooBar'); - * // => 'foo-bar' - * - * _.kebabCase('__FOO_BAR__'); - * // => 'foo-bar' - */ - var kebabCase = createCompounder(function(result, word, index) { - return result + (index ? '-' : '') + word.toLowerCase(); - }); - - /** - * Converts `string`, as space separated words, to lower case. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category String - * @param {string} [string=''] The string to convert. - * @returns {string} Returns the lower cased string. - * @example - * - * _.lowerCase('--Foo-Bar--'); - * // => 'foo bar' - * - * _.lowerCase('fooBar'); - * // => 'foo bar' - * - * _.lowerCase('__FOO_BAR__'); - * // => 'foo bar' - */ - var lowerCase = createCompounder(function(result, word, index) { - return result + (index ? ' ' : '') + word.toLowerCase(); - }); - - /** - * Converts the first character of `string` to lower case. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category String - * @param {string} [string=''] The string to convert. - * @returns {string} Returns the converted string. - * @example - * - * _.lowerFirst('Fred'); - * // => 'fred' - * - * _.lowerFirst('FRED'); - * // => 'fRED' - */ - var lowerFirst = createCaseFirst('toLowerCase'); - - /** - * Pads `string` on the left and right sides if it's shorter than `length`. - * Padding characters are truncated if they can't be evenly divided by `length`. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to pad. - * @param {number} [length=0] The padding length. - * @param {string} [chars=' '] The string used as padding. - * @returns {string} Returns the padded string. - * @example - * - * _.pad('abc', 8); - * // => ' abc ' - * - * _.pad('abc', 8, '_-'); - * // => '_-abc_-_' - * - * _.pad('abc', 3); - * // => 'abc' - */ - function pad(string, length, chars) { - string = toString(string); - length = toInteger(length); - - var strLength = length ? stringSize(string) : 0; - if (!length || strLength >= length) { - return string; - } - var mid = (length - strLength) / 2; - return ( - createPadding(nativeFloor(mid), chars) + - string + - createPadding(nativeCeil(mid), chars) - ); - } - - /** - * Pads `string` on the right side if it's shorter than `length`. Padding - * characters are truncated if they exceed `length`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category String - * @param {string} [string=''] The string to pad. - * @param {number} [length=0] The padding length. - * @param {string} [chars=' '] The string used as padding. - * @returns {string} Returns the padded string. - * @example - * - * _.padEnd('abc', 6); - * // => 'abc ' - * - * _.padEnd('abc', 6, '_-'); - * // => 'abc_-_' - * - * _.padEnd('abc', 3); - * // => 'abc' - */ - function padEnd(string, length, chars) { - string = toString(string); - length = toInteger(length); - - var strLength = length ? stringSize(string) : 0; - return (length && strLength < length) - ? (string + createPadding(length - strLength, chars)) - : string; - } - - /** - * Pads `string` on the left side if it's shorter than `length`. Padding - * characters are truncated if they exceed `length`. - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category String - * @param {string} [string=''] The string to pad. - * @param {number} [length=0] The padding length. - * @param {string} [chars=' '] The string used as padding. - * @returns {string} Returns the padded string. - * @example - * - * _.padStart('abc', 6); - * // => ' abc' - * - * _.padStart('abc', 6, '_-'); - * // => '_-_abc' - * - * _.padStart('abc', 3); - * // => 'abc' - */ - function padStart(string, length, chars) { - string = toString(string); - length = toInteger(length); - - var strLength = length ? stringSize(string) : 0; - return (length && strLength < length) - ? (createPadding(length - strLength, chars) + string) - : string; - } - - /** - * Converts `string` to an integer of the specified radix. If `radix` is - * `undefined` or `0`, a `radix` of `10` is used unless `value` is a - * hexadecimal, in which case a `radix` of `16` is used. - * - * **Note:** This method aligns with the - * [ES5 implementation](https://es5.github.io/#x15.1.2.2) of `parseInt`. - * - * @static - * @memberOf _ - * @since 1.1.0 - * @category String - * @param {string} string The string to convert. - * @param {number} [radix=10] The radix to interpret `value` by. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {number} Returns the converted integer. - * @example - * - * _.parseInt('08'); - * // => 8 - * - * _.map(['6', '08', '10'], _.parseInt); - * // => [6, 8, 10] - */ - function parseInt(string, radix, guard) { - if (guard || radix == null) { - radix = 0; - } else if (radix) { - radix = +radix; - } - return nativeParseInt(toString(string).replace(reTrimStart, ''), radix || 0); - } - - /** - * Repeats the given string `n` times. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to repeat. - * @param {number} [n=1] The number of times to repeat the string. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {string} Returns the repeated string. - * @example - * - * _.repeat('*', 3); - * // => '***' - * - * _.repeat('abc', 2); - * // => 'abcabc' - * - * _.repeat('abc', 0); - * // => '' - */ - function repeat(string, n, guard) { - if ((guard ? isIterateeCall(string, n, guard) : n === undefined)) { - n = 1; - } else { - n = toInteger(n); - } - return baseRepeat(toString(string), n); - } - - /** - * Replaces matches for `pattern` in `string` with `replacement`. - * - * **Note:** This method is based on - * [`String#replace`](https://mdn.io/String/replace). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category String - * @param {string} [string=''] The string to modify. - * @param {RegExp|string} pattern The pattern to replace. - * @param {Function|string} replacement The match replacement. - * @returns {string} Returns the modified string. - * @example - * - * _.replace('Hi Fred', 'Fred', 'Barney'); - * // => 'Hi Barney' - */ - function replace() { - var args = arguments, - string = toString(args[0]); - - return args.length < 3 ? string : string.replace(args[1], args[2]); - } - - /** - * Converts `string` to - * [snake case](https://en.wikipedia.org/wiki/Snake_case). - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to convert. - * @returns {string} Returns the snake cased string. - * @example - * - * _.snakeCase('Foo Bar'); - * // => 'foo_bar' - * - * _.snakeCase('fooBar'); - * // => 'foo_bar' - * - * _.snakeCase('--FOO-BAR--'); - * // => 'foo_bar' - */ - var snakeCase = createCompounder(function(result, word, index) { - return result + (index ? '_' : '') + word.toLowerCase(); - }); - - /** - * Splits `string` by `separator`. - * - * **Note:** This method is based on - * [`String#split`](https://mdn.io/String/split). - * - * @static - * @memberOf _ - * @since 4.0.0 - * @category String - * @param {string} [string=''] The string to split. - * @param {RegExp|string} separator The separator pattern to split by. - * @param {number} [limit] The length to truncate results to. - * @returns {Array} Returns the string segments. - * @example - * - * _.split('a-b-c', '-', 2); - * // => ['a', 'b'] - */ - function split(string, separator, limit) { - if (limit && typeof limit != 'number' && isIterateeCall(string, separator, limit)) { - separator = limit = undefined; - } - limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0; - if (!limit) { - return []; - } - string = toString(string); - if (string && ( - typeof separator == 'string' || - (separator != null && !isRegExp(separator)) - )) { - separator = baseToString(separator); - if (!separator && hasUnicode(string)) { - return castSlice(stringToArray(string), 0, limit); - } - } - return string.split(separator, limit); - } - - /** - * Converts `string` to - * [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage). - * - * @static - * @memberOf _ - * @since 3.1.0 - * @category String - * @param {string} [string=''] The string to convert. - * @returns {string} Returns the start cased string. - * @example - * - * _.startCase('--foo-bar--'); - * // => 'Foo Bar' - * - * _.startCase('fooBar'); - * // => 'Foo Bar' - * - * _.startCase('__FOO_BAR__'); - * // => 'FOO BAR' - */ - var startCase = createCompounder(function(result, word, index) { - return result + (index ? ' ' : '') + upperFirst(word); - }); - - /** - * Checks if `string` starts with the given target string. - * - * @static - * @memberOf _ - * @since 3.0.0 - * @category String - * @param {string} [string=''] The string to inspect. - * @param {string} [target] The string to search for. - * @param {number} [position=0] The position to search from. - * @returns {boolean} Returns `true` if `string` starts with `target`, - * else `false`. - * @example - * - * _.startsWith('abc', 'a'); - * // => true - * - * _.startsWith('abc', 'b'); - * // => false - * - * _.startsWith('abc', 'b', 1); - * // => true - */ - function startsWith(string, target, position) { - string = toString(string); - position = position == null - ? 0 - : baseClamp(toInteger(position), 0, string.length); - - target = baseToString(target); - return string.slice(position, position + target.length) == target; - } - - /** - * Creates a compiled template function that can interpolate data properties - * in "interpolate" delimiters, HTML-escape interpolated data properties in - * "escape" delimiters, and execute JavaScript in "evaluate" delimiters. Data - * properties may be accessed as free variables in the template. If a setting - * object is given, it takes precedence over `_.templateSettings` values. - * - * **Note:** In the development build `_.template` utilizes - * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl) - * for easier debugging. - * - * For more information on precompiling templates see - * [lodash's custom builds documentation](https://lodash.com/custom-builds). - * - * For more information on Chrome extension sandboxes see - * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval). - * - * @static - * @since 0.1.0 - * @memberOf _ - * @category String - * @param {string} [string=''] The template string. - * @param {Object} [options={}] The options object. - * @param {RegExp} [options.escape=_.templateSettings.escape] - * The HTML "escape" delimiter. - * @param {RegExp} [options.evaluate=_.templateSettings.evaluate] - * The "evaluate" delimiter. - * @param {Object} [options.imports=_.templateSettings.imports] - * An object to import into the template as free variables. - * @param {RegExp} [options.interpolate=_.templateSettings.interpolate] - * The "interpolate" delimiter. - * @param {string} [options.sourceURL='lodash.templateSources[n]'] - * The sourceURL of the compiled template. - * @param {string} [options.variable='obj'] - * The data object variable name. - * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`. - * @returns {Function} Returns the compiled template function. - * @example - * - * // Use the "interpolate" delimiter to create a compiled template. - * var compiled = _.template('hello <%= user %>!'); - * compiled({ 'user': 'fred' }); - * // => 'hello fred!' - * - * // Use the HTML "escape" delimiter to escape data property values. - * var compiled = _.template('<%- value %>'); - * compiled({ 'value': ''` string occurrence breaking pages ([#349](https://github.com/sveltejs/svelte/pull/349)) -* Allow reference to whitelisted globals without properties ([#333](https://github.com/sveltejs/svelte/pull/333)) -* Don't remove ` ` incorrectly ([#348](https://github.com/sveltejs/svelte/issues/348)) -* `let` -> `var` in `addCss` block ([#351](https://github.com/sveltejs/svelte/pull/351)) - -## 1.10.2 - -* Accept any case for doctype declarations ([#336](https://github.com/sveltejs/svelte/issues/336)) -* Allow non-top-level `"; - unsubscribe = listen(window, 'message', (event) => { - if (event.source === iframe.contentWindow) - fn(); - }); - } - else { - iframe.src = 'about:blank'; - iframe.onload = () => { - unsubscribe = listen(iframe.contentWindow, 'resize', fn); - }; - } - append(node, iframe); - return () => { - if (crossorigin) { - unsubscribe(); - } - else if (unsubscribe && iframe.contentWindow) { - unsubscribe(); - } - detach(iframe); - }; -} -function toggle_class(element, name, toggle) { - element.classList[toggle ? 'add' : 'remove'](name); -} -function custom_event(type, detail, bubbles = false) { - const e = document.createEvent('CustomEvent'); - e.initCustomEvent(type, bubbles, false, detail); - return e; -} -function query_selector_all(selector, parent = document.body) { - return Array.from(parent.querySelectorAll(selector)); -} -class HtmlTag { - constructor() { - this.e = this.n = null; - } - c(html) { - this.h(html); - } - m(html, target, anchor = null) { - if (!this.e) { - this.e = element(target.nodeName); - this.t = target; - this.c(html); - } - this.i(anchor); - } - h(html) { - this.e.innerHTML = html; - this.n = Array.from(this.e.childNodes); - } - i(anchor) { - for (let i = 0; i < this.n.length; i += 1) { - insert(this.t, this.n[i], anchor); - } - } - p(html) { - this.d(); - this.h(html); - this.i(this.a); - } - d() { - this.n.forEach(detach); - } -} -class HtmlTagHydration extends HtmlTag { - constructor(claimed_nodes) { - super(); - this.e = this.n = null; - this.l = claimed_nodes; - } - c(html) { - if (this.l) { - this.n = this.l; - } - else { - super.c(html); - } - } - i(anchor) { - for (let i = 0; i < this.n.length; i += 1) { - insert_hydration(this.t, this.n[i], anchor); - } - } -} -function attribute_to_object(attributes) { - const result = {}; - for (const attribute of attributes) { - result[attribute.name] = attribute.value; - } - return result; -} -function get_custom_elements_slots(element) { - const result = {}; - element.childNodes.forEach((node) => { - result[node.slot || 'default'] = true; - }); - return result; -} - -// we need to store the information for multiple documents because a Svelte application could also contain iframes -// https://github.com/sveltejs/svelte/issues/3624 -const managed_styles = new Map(); -let active = 0; -// https://github.com/darkskyapp/string-hash/blob/master/index.js -function hash(str) { - let hash = 5381; - let i = str.length; - while (i--) - hash = ((hash << 5) - hash) ^ str.charCodeAt(i); - return hash >>> 0; -} -function create_style_information(doc, node) { - const info = { stylesheet: append_empty_stylesheet(node), rules: {} }; - managed_styles.set(doc, info); - return info; -} -function create_rule(node, a, b, duration, delay, ease, fn, uid = 0) { - const step = 16.666 / duration; - let keyframes = '{\n'; - for (let p = 0; p <= 1; p += step) { - const t = a + (b - a) * ease(p); - keyframes += p * 100 + `%{${fn(t, 1 - t)}}\n`; - } - const rule = keyframes + `100% {${fn(b, 1 - b)}}\n}`; - const name = `__svelte_${hash(rule)}_${uid}`; - const doc = get_root_for_style(node); - const { stylesheet, rules } = managed_styles.get(doc) || create_style_information(doc, node); - if (!rules[name]) { - rules[name] = true; - stylesheet.insertRule(`@keyframes ${name} ${rule}`, stylesheet.cssRules.length); - } - const animation = node.style.animation || ''; - node.style.animation = `${animation ? `${animation}, ` : ''}${name} ${duration}ms linear ${delay}ms 1 both`; - active += 1; - return name; -} -function delete_rule(node, name) { - const previous = (node.style.animation || '').split(', '); - const next = previous.filter(name - ? anim => anim.indexOf(name) < 0 // remove specific animation - : anim => anim.indexOf('__svelte') === -1 // remove all Svelte animations - ); - const deleted = previous.length - next.length; - if (deleted) { - node.style.animation = next.join(', '); - active -= deleted; - if (!active) - clear_rules(); - } -} -function clear_rules() { - exports.raf(() => { - if (active) - return; - managed_styles.forEach(info => { - const { stylesheet } = info; - let i = stylesheet.cssRules.length; - while (i--) - stylesheet.deleteRule(i); - info.rules = {}; - }); - managed_styles.clear(); - }); -} - -function create_animation(node, from, fn, params) { - if (!from) - return noop; - const to = node.getBoundingClientRect(); - if (from.left === to.left && from.right === to.right && from.top === to.top && from.bottom === to.bottom) - return noop; - const { delay = 0, duration = 300, easing = identity, - // @ts-ignore todo: should this be separated from destructuring? Or start/end added to public api and documentation? - start: start_time = exports.now() + delay, - // @ts-ignore todo: - end = start_time + duration, tick = noop, css } = fn(node, { from, to }, params); - let running = true; - let started = false; - let name; - function start() { - if (css) { - name = create_rule(node, 0, 1, duration, delay, easing, css); - } - if (!delay) { - started = true; - } - } - function stop() { - if (css) - delete_rule(node, name); - running = false; - } - loop(now => { - if (!started && now >= start_time) { - started = true; - } - if (started && now >= end) { - tick(1, 0); - stop(); - } - if (!running) { - return false; - } - if (started) { - const p = now - start_time; - const t = 0 + 1 * easing(p / duration); - tick(t, 1 - t); - } - return true; - }); - start(); - tick(0, 1); - return stop; -} -function fix_position(node) { - const style = getComputedStyle(node); - if (style.position !== 'absolute' && style.position !== 'fixed') { - const { width, height } = style; - const a = node.getBoundingClientRect(); - node.style.position = 'absolute'; - node.style.width = width; - node.style.height = height; - add_transform(node, a); - } -} -function add_transform(node, a) { - const b = node.getBoundingClientRect(); - if (a.left !== b.left || a.top !== b.top) { - const style = getComputedStyle(node); - const transform = style.transform === 'none' ? '' : style.transform; - node.style.transform = `${transform} translate(${a.left - b.left}px, ${a.top - b.top}px)`; - } -} - -function set_current_component(component) { - exports.current_component = component; -} -function get_current_component() { - if (!exports.current_component) - throw new Error('Function called outside component initialization'); - return exports.current_component; -} -function beforeUpdate(fn) { - get_current_component().$$.before_update.push(fn); -} -function onMount(fn) { - get_current_component().$$.on_mount.push(fn); -} -function afterUpdate(fn) { - get_current_component().$$.after_update.push(fn); -} -function onDestroy(fn) { - get_current_component().$$.on_destroy.push(fn); -} -function createEventDispatcher() { - const component = get_current_component(); - return (type, detail) => { - const callbacks = component.$$.callbacks[type]; - if (callbacks) { - // TODO are there situations where events could be dispatched - // in a server (non-DOM) environment? - const event = custom_event(type, detail); - callbacks.slice().forEach(fn => { - fn.call(component, event); - }); - } - }; -} -function setContext(key, context) { - get_current_component().$$.context.set(key, context); -} -function getContext(key) { - return get_current_component().$$.context.get(key); -} -function getAllContexts() { - return get_current_component().$$.context; -} -function hasContext(key) { - return get_current_component().$$.context.has(key); -} -// TODO figure out if we still want to support -// shorthand events, or if we want to implement -// a real bubbling mechanism -function bubble(component, event) { - const callbacks = component.$$.callbacks[event.type]; - if (callbacks) { - // @ts-ignore - callbacks.slice().forEach(fn => fn.call(this, event)); - } -} - -const dirty_components = []; -const intros = { enabled: false }; -const binding_callbacks = []; -const render_callbacks = []; -const flush_callbacks = []; -const resolved_promise = Promise.resolve(); -let update_scheduled = false; -function schedule_update() { - if (!update_scheduled) { - update_scheduled = true; - resolved_promise.then(flush); - } -} -function tick() { - schedule_update(); - return resolved_promise; -} -function add_render_callback(fn) { - render_callbacks.push(fn); -} -function add_flush_callback(fn) { - flush_callbacks.push(fn); -} -// flush() calls callbacks in this order: -// 1. All beforeUpdate callbacks, in order: parents before children -// 2. All bind:this callbacks, in reverse order: children before parents. -// 3. All afterUpdate callbacks, in order: parents before children. EXCEPT -// for afterUpdates called during the initial onMount, which are called in -// reverse order: children before parents. -// Since callbacks might update component values, which could trigger another -// call to flush(), the following steps guard against this: -// 1. During beforeUpdate, any updated components will be added to the -// dirty_components array and will cause a reentrant call to flush(). Because -// the flush index is kept outside the function, the reentrant call will pick -// up where the earlier call left off and go through all dirty components. The -// current_component value is saved and restored so that the reentrant call will -// not interfere with the "parent" flush() call. -// 2. bind:this callbacks cannot trigger new flush() calls. -// 3. During afterUpdate, any updated components will NOT have their afterUpdate -// callback called a second time; the seen_callbacks set, outside the flush() -// function, guarantees this behavior. -const seen_callbacks = new Set(); -let flushidx = 0; // Do *not* move this inside the flush() function -function flush() { - const saved_component = exports.current_component; - do { - // first, call beforeUpdate functions - // and update components - while (flushidx < dirty_components.length) { - const component = dirty_components[flushidx]; - flushidx++; - set_current_component(component); - update(component.$$); - } - set_current_component(null); - dirty_components.length = 0; - flushidx = 0; - while (binding_callbacks.length) - binding_callbacks.pop()(); - // then, once components are updated, call - // afterUpdate functions. This may cause - // subsequent updates... - for (let i = 0; i < render_callbacks.length; i += 1) { - const callback = render_callbacks[i]; - if (!seen_callbacks.has(callback)) { - // ...so guard against infinite loops - seen_callbacks.add(callback); - callback(); - } - } - render_callbacks.length = 0; - } while (dirty_components.length); - while (flush_callbacks.length) { - flush_callbacks.pop()(); - } - update_scheduled = false; - seen_callbacks.clear(); - set_current_component(saved_component); -} -function update($$) { - if ($$.fragment !== null) { - $$.update(); - run_all($$.before_update); - const dirty = $$.dirty; - $$.dirty = [-1]; - $$.fragment && $$.fragment.p($$.ctx, dirty); - $$.after_update.forEach(add_render_callback); - } -} - -let promise; -function wait() { - if (!promise) { - promise = Promise.resolve(); - promise.then(() => { - promise = null; - }); - } - return promise; -} -function dispatch(node, direction, kind) { - node.dispatchEvent(custom_event(`${direction ? 'intro' : 'outro'}${kind}`)); -} -const outroing = new Set(); -let outros; -function group_outros() { - outros = { - r: 0, - c: [], - p: outros // parent group - }; -} -function check_outros() { - if (!outros.r) { - run_all(outros.c); - } - outros = outros.p; -} -function transition_in(block, local) { - if (block && block.i) { - outroing.delete(block); - block.i(local); - } -} -function transition_out(block, local, detach, callback) { - if (block && block.o) { - if (outroing.has(block)) - return; - outroing.add(block); - outros.c.push(() => { - outroing.delete(block); - if (callback) { - if (detach) - block.d(1); - callback(); - } - }); - block.o(local); - } -} -const null_transition = { duration: 0 }; -function create_in_transition(node, fn, params) { - let config = fn(node, params); - let running = false; - let animation_name; - let task; - let uid = 0; - function cleanup() { - if (animation_name) - delete_rule(node, animation_name); - } - function go() { - const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition; - if (css) - animation_name = create_rule(node, 0, 1, duration, delay, easing, css, uid++); - tick(0, 1); - const start_time = exports.now() + delay; - const end_time = start_time + duration; - if (task) - task.abort(); - running = true; - add_render_callback(() => dispatch(node, true, 'start')); - task = loop(now => { - if (running) { - if (now >= end_time) { - tick(1, 0); - dispatch(node, true, 'end'); - cleanup(); - return running = false; - } - if (now >= start_time) { - const t = easing((now - start_time) / duration); - tick(t, 1 - t); - } - } - return running; - }); - } - let started = false; - return { - start() { - if (started) - return; - started = true; - delete_rule(node); - if (is_function(config)) { - config = config(); - wait().then(go); - } - else { - go(); - } - }, - invalidate() { - started = false; - }, - end() { - if (running) { - cleanup(); - running = false; - } - } - }; -} -function create_out_transition(node, fn, params) { - let config = fn(node, params); - let running = true; - let animation_name; - const group = outros; - group.r += 1; - function go() { - const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition; - if (css) - animation_name = create_rule(node, 1, 0, duration, delay, easing, css); - const start_time = exports.now() + delay; - const end_time = start_time + duration; - add_render_callback(() => dispatch(node, false, 'start')); - loop(now => { - if (running) { - if (now >= end_time) { - tick(0, 1); - dispatch(node, false, 'end'); - if (!--group.r) { - // this will result in `end()` being called, - // so we don't need to clean up here - run_all(group.c); - } - return false; - } - if (now >= start_time) { - const t = easing((now - start_time) / duration); - tick(1 - t, t); - } - } - return running; - }); - } - if (is_function(config)) { - wait().then(() => { - // @ts-ignore - config = config(); - go(); - }); - } - else { - go(); - } - return { - end(reset) { - if (reset && config.tick) { - config.tick(1, 0); - } - if (running) { - if (animation_name) - delete_rule(node, animation_name); - running = false; - } - } - }; -} -function create_bidirectional_transition(node, fn, params, intro) { - let config = fn(node, params); - let t = intro ? 0 : 1; - let running_program = null; - let pending_program = null; - let animation_name = null; - function clear_animation() { - if (animation_name) - delete_rule(node, animation_name); - } - function init(program, duration) { - const d = (program.b - t); - duration *= Math.abs(d); - return { - a: t, - b: program.b, - d, - duration, - start: program.start, - end: program.start + duration, - group: program.group - }; - } - function go(b) { - const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition; - const program = { - start: exports.now() + delay, - b - }; - if (!b) { - // @ts-ignore todo: improve typings - program.group = outros; - outros.r += 1; - } - if (running_program || pending_program) { - pending_program = program; - } - else { - // if this is an intro, and there's a delay, we need to do - // an initial tick and/or apply CSS animation immediately - if (css) { - clear_animation(); - animation_name = create_rule(node, t, b, duration, delay, easing, css); - } - if (b) - tick(0, 1); - running_program = init(program, duration); - add_render_callback(() => dispatch(node, b, 'start')); - loop(now => { - if (pending_program && now > pending_program.start) { - running_program = init(pending_program, duration); - pending_program = null; - dispatch(node, running_program.b, 'start'); - if (css) { - clear_animation(); - animation_name = create_rule(node, t, running_program.b, running_program.duration, 0, easing, config.css); - } - } - if (running_program) { - if (now >= running_program.end) { - tick(t = running_program.b, 1 - t); - dispatch(node, running_program.b, 'end'); - if (!pending_program) { - // we're done - if (running_program.b) { - // intro — we can tidy up immediately - clear_animation(); - } - else { - // outro — needs to be coordinated - if (!--running_program.group.r) - run_all(running_program.group.c); - } - } - running_program = null; - } - else if (now >= running_program.start) { - const p = now - running_program.start; - t = running_program.a + running_program.d * easing(p / running_program.duration); - tick(t, 1 - t); - } - } - return !!(running_program || pending_program); - }); - } - } - return { - run(b) { - if (is_function(config)) { - wait().then(() => { - // @ts-ignore - config = config(); - go(b); - }); - } - else { - go(b); - } - }, - end() { - clear_animation(); - running_program = pending_program = null; - } - }; -} - -function handle_promise(promise, info) { - const token = info.token = {}; - function update(type, index, key, value) { - if (info.token !== token) - return; - info.resolved = value; - let child_ctx = info.ctx; - if (key !== undefined) { - child_ctx = child_ctx.slice(); - child_ctx[key] = value; - } - const block = type && (info.current = type)(child_ctx); - let needs_flush = false; - if (info.block) { - if (info.blocks) { - info.blocks.forEach((block, i) => { - if (i !== index && block) { - group_outros(); - transition_out(block, 1, 1, () => { - if (info.blocks[i] === block) { - info.blocks[i] = null; - } - }); - check_outros(); - } - }); - } - else { - info.block.d(1); - } - block.c(); - transition_in(block, 1); - block.m(info.mount(), info.anchor); - needs_flush = true; - } - info.block = block; - if (info.blocks) - info.blocks[index] = block; - if (needs_flush) { - flush(); - } - } - if (is_promise(promise)) { - const current_component = get_current_component(); - promise.then(value => { - set_current_component(current_component); - update(info.then, 1, info.value, value); - set_current_component(null); - }, error => { - set_current_component(current_component); - update(info.catch, 2, info.error, error); - set_current_component(null); - if (!info.hasCatch) { - throw error; - } - }); - // if we previously had a then/catch block, destroy it - if (info.current !== info.pending) { - update(info.pending, 0); - return true; - } - } - else { - if (info.current !== info.then) { - update(info.then, 1, info.value, promise); - return true; - } - info.resolved = promise; - } -} -function update_await_block_branch(info, ctx, dirty) { - const child_ctx = ctx.slice(); - const { resolved } = info; - if (info.current === info.then) { - child_ctx[info.value] = resolved; - } - if (info.current === info.catch) { - child_ctx[info.error] = resolved; - } - info.block.p(child_ctx, dirty); -} - -const globals = (typeof window !== 'undefined' - ? window - : typeof globalThis !== 'undefined' - ? globalThis - : global); - -function destroy_block(block, lookup) { - block.d(1); - lookup.delete(block.key); -} -function outro_and_destroy_block(block, lookup) { - transition_out(block, 1, 1, () => { - lookup.delete(block.key); - }); -} -function fix_and_destroy_block(block, lookup) { - block.f(); - destroy_block(block, lookup); -} -function fix_and_outro_and_destroy_block(block, lookup) { - block.f(); - outro_and_destroy_block(block, lookup); -} -function update_keyed_each(old_blocks, dirty, get_key, dynamic, ctx, list, lookup, node, destroy, create_each_block, next, get_context) { - let o = old_blocks.length; - let n = list.length; - let i = o; - const old_indexes = {}; - while (i--) - old_indexes[old_blocks[i].key] = i; - const new_blocks = []; - const new_lookup = new Map(); - const deltas = new Map(); - i = n; - while (i--) { - const child_ctx = get_context(ctx, list, i); - const key = get_key(child_ctx); - let block = lookup.get(key); - if (!block) { - block = create_each_block(key, child_ctx); - block.c(); - } - else if (dynamic) { - block.p(child_ctx, dirty); - } - new_lookup.set(key, new_blocks[i] = block); - if (key in old_indexes) - deltas.set(key, Math.abs(i - old_indexes[key])); - } - const will_move = new Set(); - const did_move = new Set(); - function insert(block) { - transition_in(block, 1); - block.m(node, next); - lookup.set(block.key, block); - next = block.first; - n--; - } - while (o && n) { - const new_block = new_blocks[n - 1]; - const old_block = old_blocks[o - 1]; - const new_key = new_block.key; - const old_key = old_block.key; - if (new_block === old_block) { - // do nothing - next = new_block.first; - o--; - n--; - } - else if (!new_lookup.has(old_key)) { - // remove old block - destroy(old_block, lookup); - o--; - } - else if (!lookup.has(new_key) || will_move.has(new_key)) { - insert(new_block); - } - else if (did_move.has(old_key)) { - o--; - } - else if (deltas.get(new_key) > deltas.get(old_key)) { - did_move.add(new_key); - insert(new_block); - } - else { - will_move.add(old_key); - o--; - } - } - while (o--) { - const old_block = old_blocks[o]; - if (!new_lookup.has(old_block.key)) - destroy(old_block, lookup); - } - while (n) - insert(new_blocks[n - 1]); - return new_blocks; -} -function validate_each_keys(ctx, list, get_context, get_key) { - const keys = new Set(); - for (let i = 0; i < list.length; i++) { - const key = get_key(get_context(ctx, list, i)); - if (keys.has(key)) { - throw new Error('Cannot have duplicate keys in a keyed each'); - } - keys.add(key); - } -} - -function get_spread_update(levels, updates) { - const update = {}; - const to_null_out = {}; - const accounted_for = { $$scope: 1 }; - let i = levels.length; - while (i--) { - const o = levels[i]; - const n = updates[i]; - if (n) { - for (const key in o) { - if (!(key in n)) - to_null_out[key] = 1; - } - for (const key in n) { - if (!accounted_for[key]) { - update[key] = n[key]; - accounted_for[key] = 1; - } - } - levels[i] = n; - } - else { - for (const key in o) { - accounted_for[key] = 1; - } - } - } - for (const key in to_null_out) { - if (!(key in update)) - update[key] = undefined; - } - return update; -} -function get_spread_object(spread_props) { - return typeof spread_props === 'object' && spread_props !== null ? spread_props : {}; -} - -// source: https://html.spec.whatwg.org/multipage/indices.html -const boolean_attributes = new Set([ - 'allowfullscreen', - 'allowpaymentrequest', - 'async', - 'autofocus', - 'autoplay', - 'checked', - 'controls', - 'default', - 'defer', - 'disabled', - 'formnovalidate', - 'hidden', - 'ismap', - 'loop', - 'multiple', - 'muted', - 'nomodule', - 'novalidate', - 'open', - 'playsinline', - 'readonly', - 'required', - 'reversed', - 'selected' -]); - -const invalid_attribute_name_character = /[\s'">/=\u{FDD0}-\u{FDEF}\u{FFFE}\u{FFFF}\u{1FFFE}\u{1FFFF}\u{2FFFE}\u{2FFFF}\u{3FFFE}\u{3FFFF}\u{4FFFE}\u{4FFFF}\u{5FFFE}\u{5FFFF}\u{6FFFE}\u{6FFFF}\u{7FFFE}\u{7FFFF}\u{8FFFE}\u{8FFFF}\u{9FFFE}\u{9FFFF}\u{AFFFE}\u{AFFFF}\u{BFFFE}\u{BFFFF}\u{CFFFE}\u{CFFFF}\u{DFFFE}\u{DFFFF}\u{EFFFE}\u{EFFFF}\u{FFFFE}\u{FFFFF}\u{10FFFE}\u{10FFFF}]/u; -// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 -// https://infra.spec.whatwg.org/#noncharacter -function spread(args, attrs_to_add) { - const attributes = Object.assign({}, ...args); - if (attrs_to_add) { - const classes_to_add = attrs_to_add.classes; - const styles_to_add = attrs_to_add.styles; - if (classes_to_add) { - if (attributes.class == null) { - attributes.class = classes_to_add; - } - else { - attributes.class += ' ' + classes_to_add; - } - } - if (styles_to_add) { - if (attributes.style == null) { - attributes.style = style_object_to_string(styles_to_add); - } - else { - attributes.style = style_object_to_string(merge_ssr_styles(attributes.style, styles_to_add)); - } - } - } - let str = ''; - Object.keys(attributes).forEach(name => { - if (invalid_attribute_name_character.test(name)) - return; - const value = attributes[name]; - if (value === true) - str += ' ' + name; - else if (boolean_attributes.has(name.toLowerCase())) { - if (value) - str += ' ' + name; - } - else if (value != null) { - str += ` ${name}="${value}"`; - } - }); - return str; -} -function merge_ssr_styles(style_attribute, style_directive) { - const style_object = {}; - for (const individual_style of style_attribute.split(';')) { - const colon_index = individual_style.indexOf(':'); - const name = individual_style.slice(0, colon_index).trim(); - const value = individual_style.slice(colon_index + 1).trim(); - if (!name) - continue; - style_object[name] = value; - } - for (const name in style_directive) { - const value = style_directive[name]; - if (value) { - style_object[name] = value; - } - else { - delete style_object[name]; - } - } - return style_object; -} -const escaped = { - '"': '"', - "'": ''', - '&': '&', - '<': '<', - '>': '>' -}; -function escape(html) { - return String(html).replace(/["'&<>]/g, match => escaped[match]); -} -function escape_attribute_value(value) { - return typeof value === 'string' ? escape(value) : value; -} -function escape_object(obj) { - const result = {}; - for (const key in obj) { - result[key] = escape_attribute_value(obj[key]); - } - return result; -} -function each(items, fn) { - let str = ''; - for (let i = 0; i < items.length; i += 1) { - str += fn(items[i], i); - } - return str; -} -const missing_component = { - $$render: () => '' -}; -function validate_component(component, name) { - if (!component || !component.$$render) { - if (name === 'svelte:component') - name += ' this={...}'; - throw new Error(`<${name}> is not a valid SSR component. You may need to review your build config to ensure that dependencies are compiled, rather than imported as pre-compiled modules`); - } - return component; -} -function debug(file, line, column, values) { - console.log(`{@debug} ${file ? file + ' ' : ''}(${line}:${column})`); // eslint-disable-line no-console - console.log(values); // eslint-disable-line no-console - return ''; -} -let on_destroy; -function create_ssr_component(fn) { - function $$render(result, props, bindings, slots, context) { - const parent_component = exports.current_component; - const $$ = { - on_destroy, - context: new Map(context || (parent_component ? parent_component.$$.context : [])), - // these will be immediately discarded - on_mount: [], - before_update: [], - after_update: [], - callbacks: blank_object() - }; - set_current_component({ $$ }); - const html = fn(result, props, bindings, slots); - set_current_component(parent_component); - return html; - } - return { - render: (props = {}, { $$slots = {}, context = new Map() } = {}) => { - on_destroy = []; - const result = { title: '', head: '', css: new Set() }; - const html = $$render(result, props, {}, $$slots, context); - run_all(on_destroy); - return { - html, - css: { - code: Array.from(result.css).map(css => css.code).join('\n'), - map: null // TODO - }, - head: result.title + result.head - }; - }, - $$render - }; -} -function add_attribute(name, value, boolean) { - if (value == null || (boolean && !value)) - return ''; - return ` ${name}${value === true && boolean_attributes.has(name) ? '' : `=${typeof value === 'string' ? JSON.stringify(escape(value)) : `"${value}"`}`}`; -} -function add_classes(classes) { - return classes ? ` class="${classes}"` : ''; -} -function style_object_to_string(style_object) { - return Object.keys(style_object) - .filter(key => style_object[key]) - .map(key => `${key}: ${style_object[key]};`) - .join(' '); -} -function add_styles(style_object) { - const styles = style_object_to_string(style_object); - return styles ? ` style="${styles}"` : ''; -} - -function bind(component, name, callback) { - const index = component.$$.props[name]; - if (index !== undefined) { - component.$$.bound[index] = callback; - callback(component.$$.ctx[index]); - } -} -function create_component(block) { - block && block.c(); -} -function claim_component(block, parent_nodes) { - block && block.l(parent_nodes); -} -function mount_component(component, target, anchor, customElement) { - const { fragment, on_mount, on_destroy, after_update } = component.$$; - fragment && fragment.m(target, anchor); - if (!customElement) { - // onMount happens before the initial afterUpdate - add_render_callback(() => { - const new_on_destroy = on_mount.map(run).filter(is_function); - if (on_destroy) { - on_destroy.push(...new_on_destroy); - } - else { - // Edge case - component was destroyed immediately, - // most likely as a result of a binding initialising - run_all(new_on_destroy); - } - component.$$.on_mount = []; - }); - } - after_update.forEach(add_render_callback); -} -function destroy_component(component, detaching) { - const $$ = component.$$; - if ($$.fragment !== null) { - run_all($$.on_destroy); - $$.fragment && $$.fragment.d(detaching); - // TODO null out other refs, including component.$$ (but need to - // preserve final state?) - $$.on_destroy = $$.fragment = null; - $$.ctx = []; - } -} -function make_dirty(component, i) { - if (component.$$.dirty[0] === -1) { - dirty_components.push(component); - schedule_update(); - component.$$.dirty.fill(0); - } - component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31)); -} -function init(component, options, instance, create_fragment, not_equal, props, append_styles, dirty = [-1]) { - const parent_component = exports.current_component; - set_current_component(component); - const $$ = component.$$ = { - fragment: null, - ctx: null, - // state - props, - update: noop, - not_equal, - bound: blank_object(), - // lifecycle - on_mount: [], - on_destroy: [], - on_disconnect: [], - before_update: [], - after_update: [], - context: new Map(options.context || (parent_component ? parent_component.$$.context : [])), - // everything else - callbacks: blank_object(), - dirty, - skip_bound: false, - root: options.target || parent_component.$$.root - }; - append_styles && append_styles($$.root); - let ready = false; - $$.ctx = instance - ? instance(component, options.props || {}, (i, ret, ...rest) => { - const value = rest.length ? rest[0] : ret; - if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) { - if (!$$.skip_bound && $$.bound[i]) - $$.bound[i](value); - if (ready) - make_dirty(component, i); - } - return ret; - }) - : []; - $$.update(); - ready = true; - run_all($$.before_update); - // `false` as a special case of no DOM component - $$.fragment = create_fragment ? create_fragment($$.ctx) : false; - if (options.target) { - if (options.hydrate) { - start_hydrating(); - const nodes = children(options.target); - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - $$.fragment && $$.fragment.l(nodes); - nodes.forEach(detach); - } - else { - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - $$.fragment && $$.fragment.c(); - } - if (options.intro) - transition_in(component.$$.fragment); - mount_component(component, options.target, options.anchor, options.customElement); - end_hydrating(); - flush(); - } - set_current_component(parent_component); -} -if (typeof HTMLElement === 'function') { - exports.SvelteElement = class extends HTMLElement { - constructor() { - super(); - this.attachShadow({ mode: 'open' }); - } - connectedCallback() { - const { on_mount } = this.$$; - this.$$.on_disconnect = on_mount.map(run).filter(is_function); - // @ts-ignore todo: improve typings - for (const key in this.$$.slotted) { - // @ts-ignore todo: improve typings - this.appendChild(this.$$.slotted[key]); - } - } - attributeChangedCallback(attr, _oldValue, newValue) { - this[attr] = newValue; - } - disconnectedCallback() { - run_all(this.$$.on_disconnect); - } - $destroy() { - destroy_component(this, 1); - this.$destroy = noop; - } - $on(type, callback) { - // TODO should this delegate to addEventListener? - const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = [])); - callbacks.push(callback); - return () => { - const index = callbacks.indexOf(callback); - if (index !== -1) - callbacks.splice(index, 1); - }; - } - $set($$props) { - if (this.$$set && !is_empty($$props)) { - this.$$.skip_bound = true; - this.$$set($$props); - this.$$.skip_bound = false; - } - } - }; -} -/** - * Base class for Svelte components. Used when dev=false. - */ -class SvelteComponent { - $destroy() { - destroy_component(this, 1); - this.$destroy = noop; - } - $on(type, callback) { - const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = [])); - callbacks.push(callback); - return () => { - const index = callbacks.indexOf(callback); - if (index !== -1) - callbacks.splice(index, 1); - }; - } - $set($$props) { - if (this.$$set && !is_empty($$props)) { - this.$$.skip_bound = true; - this.$$set($$props); - this.$$.skip_bound = false; - } - } -} - -function dispatch_dev(type, detail) { - document.dispatchEvent(custom_event(type, Object.assign({ version: '3.46.2' }, detail), true)); -} -function append_dev(target, node) { - dispatch_dev('SvelteDOMInsert', { target, node }); - append(target, node); -} -function append_hydration_dev(target, node) { - dispatch_dev('SvelteDOMInsert', { target, node }); - append_hydration(target, node); -} -function insert_dev(target, node, anchor) { - dispatch_dev('SvelteDOMInsert', { target, node, anchor }); - insert(target, node, anchor); -} -function insert_hydration_dev(target, node, anchor) { - dispatch_dev('SvelteDOMInsert', { target, node, anchor }); - insert_hydration(target, node, anchor); -} -function detach_dev(node) { - dispatch_dev('SvelteDOMRemove', { node }); - detach(node); -} -function detach_between_dev(before, after) { - while (before.nextSibling && before.nextSibling !== after) { - detach_dev(before.nextSibling); - } -} -function detach_before_dev(after) { - while (after.previousSibling) { - detach_dev(after.previousSibling); - } -} -function detach_after_dev(before) { - while (before.nextSibling) { - detach_dev(before.nextSibling); - } -} -function listen_dev(node, event, handler, options, has_prevent_default, has_stop_propagation) { - const modifiers = options === true ? ['capture'] : options ? Array.from(Object.keys(options)) : []; - if (has_prevent_default) - modifiers.push('preventDefault'); - if (has_stop_propagation) - modifiers.push('stopPropagation'); - dispatch_dev('SvelteDOMAddEventListener', { node, event, handler, modifiers }); - const dispose = listen(node, event, handler, options); - return () => { - dispatch_dev('SvelteDOMRemoveEventListener', { node, event, handler, modifiers }); - dispose(); - }; -} -function attr_dev(node, attribute, value) { - attr(node, attribute, value); - if (value == null) - dispatch_dev('SvelteDOMRemoveAttribute', { node, attribute }); - else - dispatch_dev('SvelteDOMSetAttribute', { node, attribute, value }); -} -function prop_dev(node, property, value) { - node[property] = value; - dispatch_dev('SvelteDOMSetProperty', { node, property, value }); -} -function dataset_dev(node, property, value) { - node.dataset[property] = value; - dispatch_dev('SvelteDOMSetDataset', { node, property, value }); -} -function set_data_dev(text, data) { - data = '' + data; - if (text.wholeText === data) - return; - dispatch_dev('SvelteDOMSetData', { node: text, data }); - text.data = data; -} -function validate_each_argument(arg) { - if (typeof arg !== 'string' && !(arg && typeof arg === 'object' && 'length' in arg)) { - let msg = '{#each} only iterates over array-like objects.'; - if (typeof Symbol === 'function' && arg && Symbol.iterator in arg) { - msg += ' You can use a spread to convert this iterable into an array.'; - } - throw new Error(msg); - } -} -function validate_slots(name, slot, keys) { - for (const slot_key of Object.keys(slot)) { - if (!~keys.indexOf(slot_key)) { - console.warn(`<${name}> received an unexpected slot "${slot_key}".`); - } - } -} -/** - * Base class for Svelte components with some minor dev-enhancements. Used when dev=true. - */ -class SvelteComponentDev extends SvelteComponent { - constructor(options) { - if (!options || (!options.target && !options.$$inline)) { - throw new Error("'target' is a required option"); - } - super(); - } - $destroy() { - super.$destroy(); - this.$destroy = () => { - console.warn('Component was already destroyed'); // eslint-disable-line no-console - }; - } - $capture_state() { } - $inject_state() { } -} -/** - * Base class to create strongly typed Svelte components. - * This only exists for typing purposes and should be used in `.d.ts` files. - * - * ### Example: - * - * You have component library on npm called `component-library`, from which - * you export a component called `MyComponent`. For Svelte+TypeScript users, - * you want to provide typings. Therefore you create a `index.d.ts`: - * ```ts - * import { SvelteComponentTyped } from "svelte"; - * export class MyComponent extends SvelteComponentTyped<{foo: string}> {} - * ``` - * Typing this makes it possible for IDEs like VS Code with the Svelte extension - * to provide intellisense and to use the component like this in a Svelte file - * with TypeScript: - * ```svelte - * - * - * ``` - * - * #### Why not make this part of `SvelteComponent(Dev)`? - * Because - * ```ts - * class ASubclassOfSvelteComponent extends SvelteComponent<{foo: string}> {} - * const component: typeof SvelteComponent = ASubclassOfSvelteComponent; - * ``` - * will throw a type error, so we need to separate the more strictly typed class. - */ -class SvelteComponentTyped extends SvelteComponentDev { - constructor(options) { - super(options); - } -} -function loop_guard(timeout) { - const start = Date.now(); - return () => { - if (Date.now() - start > timeout) { - throw new Error('Infinite loop detected'); - } - }; -} - -exports.HtmlTag = HtmlTag; -exports.HtmlTagHydration = HtmlTagHydration; -exports.SvelteComponent = SvelteComponent; -exports.SvelteComponentDev = SvelteComponentDev; -exports.SvelteComponentTyped = SvelteComponentTyped; -exports.action_destroyer = action_destroyer; -exports.add_attribute = add_attribute; -exports.add_classes = add_classes; -exports.add_flush_callback = add_flush_callback; -exports.add_location = add_location; -exports.add_render_callback = add_render_callback; -exports.add_resize_listener = add_resize_listener; -exports.add_styles = add_styles; -exports.add_transform = add_transform; -exports.afterUpdate = afterUpdate; -exports.append = append; -exports.append_dev = append_dev; -exports.append_empty_stylesheet = append_empty_stylesheet; -exports.append_hydration = append_hydration; -exports.append_hydration_dev = append_hydration_dev; -exports.append_styles = append_styles; -exports.assign = assign; -exports.attr = attr; -exports.attr_dev = attr_dev; -exports.attribute_to_object = attribute_to_object; -exports.beforeUpdate = beforeUpdate; -exports.bind = bind; -exports.binding_callbacks = binding_callbacks; -exports.blank_object = blank_object; -exports.bubble = bubble; -exports.check_outros = check_outros; -exports.children = children; -exports.claim_component = claim_component; -exports.claim_element = claim_element; -exports.claim_html_tag = claim_html_tag; -exports.claim_space = claim_space; -exports.claim_svg_element = claim_svg_element; -exports.claim_text = claim_text; -exports.clear_loops = clear_loops; -exports.component_subscribe = component_subscribe; -exports.compute_rest_props = compute_rest_props; -exports.compute_slots = compute_slots; -exports.createEventDispatcher = createEventDispatcher; -exports.create_animation = create_animation; -exports.create_bidirectional_transition = create_bidirectional_transition; -exports.create_component = create_component; -exports.create_in_transition = create_in_transition; -exports.create_out_transition = create_out_transition; -exports.create_slot = create_slot; -exports.create_ssr_component = create_ssr_component; -exports.custom_event = custom_event; -exports.dataset_dev = dataset_dev; -exports.debug = debug; -exports.destroy_block = destroy_block; -exports.destroy_component = destroy_component; -exports.destroy_each = destroy_each; -exports.detach = detach; -exports.detach_after_dev = detach_after_dev; -exports.detach_before_dev = detach_before_dev; -exports.detach_between_dev = detach_between_dev; -exports.detach_dev = detach_dev; -exports.dirty_components = dirty_components; -exports.dispatch_dev = dispatch_dev; -exports.each = each; -exports.element = element; -exports.element_is = element_is; -exports.empty = empty; -exports.end_hydrating = end_hydrating; -exports.escape = escape; -exports.escape_attribute_value = escape_attribute_value; -exports.escape_object = escape_object; -exports.escaped = escaped; -exports.exclude_internal_props = exclude_internal_props; -exports.fix_and_destroy_block = fix_and_destroy_block; -exports.fix_and_outro_and_destroy_block = fix_and_outro_and_destroy_block; -exports.fix_position = fix_position; -exports.flush = flush; -exports.getAllContexts = getAllContexts; -exports.getContext = getContext; -exports.get_all_dirty_from_scope = get_all_dirty_from_scope; -exports.get_binding_group_value = get_binding_group_value; -exports.get_current_component = get_current_component; -exports.get_custom_elements_slots = get_custom_elements_slots; -exports.get_root_for_style = get_root_for_style; -exports.get_slot_changes = get_slot_changes; -exports.get_spread_object = get_spread_object; -exports.get_spread_update = get_spread_update; -exports.get_store_value = get_store_value; -exports.globals = globals; -exports.group_outros = group_outros; -exports.handle_promise = handle_promise; -exports.hasContext = hasContext; -exports.has_prop = has_prop; -exports.identity = identity; -exports.init = init; -exports.insert = insert; -exports.insert_dev = insert_dev; -exports.insert_hydration = insert_hydration; -exports.insert_hydration_dev = insert_hydration_dev; -exports.intros = intros; -exports.invalid_attribute_name_character = invalid_attribute_name_character; -exports.is_client = is_client; -exports.is_crossorigin = is_crossorigin; -exports.is_empty = is_empty; -exports.is_function = is_function; -exports.is_promise = is_promise; -exports.listen = listen; -exports.listen_dev = listen_dev; -exports.loop = loop; -exports.loop_guard = loop_guard; -exports.merge_ssr_styles = merge_ssr_styles; -exports.missing_component = missing_component; -exports.mount_component = mount_component; -exports.noop = noop; -exports.not_equal = not_equal; -exports.null_to_empty = null_to_empty; -exports.object_without_properties = object_without_properties; -exports.onDestroy = onDestroy; -exports.onMount = onMount; -exports.once = once; -exports.outro_and_destroy_block = outro_and_destroy_block; -exports.prevent_default = prevent_default; -exports.prop_dev = prop_dev; -exports.query_selector_all = query_selector_all; -exports.run = run; -exports.run_all = run_all; -exports.safe_not_equal = safe_not_equal; -exports.schedule_update = schedule_update; -exports.select_multiple_value = select_multiple_value; -exports.select_option = select_option; -exports.select_options = select_options; -exports.select_value = select_value; -exports.self = self; -exports.setContext = setContext; -exports.set_attributes = set_attributes; -exports.set_current_component = set_current_component; -exports.set_custom_element_data = set_custom_element_data; -exports.set_data = set_data; -exports.set_data_dev = set_data_dev; -exports.set_input_type = set_input_type; -exports.set_input_value = set_input_value; -exports.set_now = set_now; -exports.set_raf = set_raf; -exports.set_store_value = set_store_value; -exports.set_style = set_style; -exports.set_svg_attributes = set_svg_attributes; -exports.space = space; -exports.spread = spread; -exports.src_url_equal = src_url_equal; -exports.start_hydrating = start_hydrating; -exports.stop_propagation = stop_propagation; -exports.subscribe = subscribe; -exports.svg_element = svg_element; -exports.text = text; -exports.tick = tick; -exports.time_ranges_to_array = time_ranges_to_array; -exports.to_number = to_number; -exports.toggle_class = toggle_class; -exports.transition_in = transition_in; -exports.transition_out = transition_out; -exports.trusted = trusted; -exports.update_await_block_branch = update_await_block_branch; -exports.update_keyed_each = update_keyed_each; -exports.update_slot = update_slot; -exports.update_slot_base = update_slot_base; -exports.validate_component = validate_component; -exports.validate_each_argument = validate_each_argument; -exports.validate_each_keys = validate_each_keys; -exports.validate_slots = validate_slots; -exports.validate_store = validate_store; -exports.xlink_attr = xlink_attr; diff --git a/packages/frontend-core/node_modules/svelte/internal/index.mjs b/packages/frontend-core/node_modules/svelte/internal/index.mjs deleted file mode 100644 index 433e8cc020..0000000000 --- a/packages/frontend-core/node_modules/svelte/internal/index.mjs +++ /dev/null @@ -1,2122 +0,0 @@ -function noop() { } -const identity = x => x; -function assign(tar, src) { - // @ts-ignore - for (const k in src) - tar[k] = src[k]; - return tar; -} -function is_promise(value) { - return value && typeof value === 'object' && typeof value.then === 'function'; -} -function add_location(element, file, line, column, char) { - element.__svelte_meta = { - loc: { file, line, column, char } - }; -} -function run(fn) { - return fn(); -} -function blank_object() { - return Object.create(null); -} -function run_all(fns) { - fns.forEach(run); -} -function is_function(thing) { - return typeof thing === 'function'; -} -function safe_not_equal(a, b) { - return a != a ? b == b : a !== b || ((a && typeof a === 'object') || typeof a === 'function'); -} -let src_url_equal_anchor; -function src_url_equal(element_src, url) { - if (!src_url_equal_anchor) { - src_url_equal_anchor = document.createElement('a'); - } - src_url_equal_anchor.href = url; - return element_src === src_url_equal_anchor.href; -} -function not_equal(a, b) { - return a != a ? b == b : a !== b; -} -function is_empty(obj) { - return Object.keys(obj).length === 0; -} -function validate_store(store, name) { - if (store != null && typeof store.subscribe !== 'function') { - throw new Error(`'${name}' is not a store with a 'subscribe' method`); - } -} -function subscribe(store, ...callbacks) { - if (store == null) { - return noop; - } - const unsub = store.subscribe(...callbacks); - return unsub.unsubscribe ? () => unsub.unsubscribe() : unsub; -} -function get_store_value(store) { - let value; - subscribe(store, _ => value = _)(); - return value; -} -function component_subscribe(component, store, callback) { - component.$$.on_destroy.push(subscribe(store, callback)); -} -function create_slot(definition, ctx, $$scope, fn) { - if (definition) { - const slot_ctx = get_slot_context(definition, ctx, $$scope, fn); - return definition[0](slot_ctx); - } -} -function get_slot_context(definition, ctx, $$scope, fn) { - return definition[1] && fn - ? assign($$scope.ctx.slice(), definition[1](fn(ctx))) - : $$scope.ctx; -} -function get_slot_changes(definition, $$scope, dirty, fn) { - if (definition[2] && fn) { - const lets = definition[2](fn(dirty)); - if ($$scope.dirty === undefined) { - return lets; - } - if (typeof lets === 'object') { - const merged = []; - const len = Math.max($$scope.dirty.length, lets.length); - for (let i = 0; i < len; i += 1) { - merged[i] = $$scope.dirty[i] | lets[i]; - } - return merged; - } - return $$scope.dirty | lets; - } - return $$scope.dirty; -} -function update_slot_base(slot, slot_definition, ctx, $$scope, slot_changes, get_slot_context_fn) { - if (slot_changes) { - const slot_context = get_slot_context(slot_definition, ctx, $$scope, get_slot_context_fn); - slot.p(slot_context, slot_changes); - } -} -function update_slot(slot, slot_definition, ctx, $$scope, dirty, get_slot_changes_fn, get_slot_context_fn) { - const slot_changes = get_slot_changes(slot_definition, $$scope, dirty, get_slot_changes_fn); - update_slot_base(slot, slot_definition, ctx, $$scope, slot_changes, get_slot_context_fn); -} -function get_all_dirty_from_scope($$scope) { - if ($$scope.ctx.length > 32) { - const dirty = []; - const length = $$scope.ctx.length / 32; - for (let i = 0; i < length; i++) { - dirty[i] = -1; - } - return dirty; - } - return -1; -} -function exclude_internal_props(props) { - const result = {}; - for (const k in props) - if (k[0] !== '$') - result[k] = props[k]; - return result; -} -function compute_rest_props(props, keys) { - const rest = {}; - keys = new Set(keys); - for (const k in props) - if (!keys.has(k) && k[0] !== '$') - rest[k] = props[k]; - return rest; -} -function compute_slots(slots) { - const result = {}; - for (const key in slots) { - result[key] = true; - } - return result; -} -function once(fn) { - let ran = false; - return function (...args) { - if (ran) - return; - ran = true; - fn.call(this, ...args); - }; -} -function null_to_empty(value) { - return value == null ? '' : value; -} -function set_store_value(store, ret, value) { - store.set(value); - return ret; -} -const has_prop = (obj, prop) => Object.prototype.hasOwnProperty.call(obj, prop); -function action_destroyer(action_result) { - return action_result && is_function(action_result.destroy) ? action_result.destroy : noop; -} - -const is_client = typeof window !== 'undefined'; -let now = is_client - ? () => window.performance.now() - : () => Date.now(); -let raf = is_client ? cb => requestAnimationFrame(cb) : noop; -// used internally for testing -function set_now(fn) { - now = fn; -} -function set_raf(fn) { - raf = fn; -} - -const tasks = new Set(); -function run_tasks(now) { - tasks.forEach(task => { - if (!task.c(now)) { - tasks.delete(task); - task.f(); - } - }); - if (tasks.size !== 0) - raf(run_tasks); -} -/** - * For testing purposes only! - */ -function clear_loops() { - tasks.clear(); -} -/** - * Creates a new task that runs on each raf frame - * until it returns a falsy value or is aborted - */ -function loop(callback) { - let task; - if (tasks.size === 0) - raf(run_tasks); - return { - promise: new Promise(fulfill => { - tasks.add(task = { c: callback, f: fulfill }); - }), - abort() { - tasks.delete(task); - } - }; -} - -// Track which nodes are claimed during hydration. Unclaimed nodes can then be removed from the DOM -// at the end of hydration without touching the remaining nodes. -let is_hydrating = false; -function start_hydrating() { - is_hydrating = true; -} -function end_hydrating() { - is_hydrating = false; -} -function upper_bound(low, high, key, value) { - // Return first index of value larger than input value in the range [low, high) - while (low < high) { - const mid = low + ((high - low) >> 1); - if (key(mid) <= value) { - low = mid + 1; - } - else { - high = mid; - } - } - return low; -} -function init_hydrate(target) { - if (target.hydrate_init) - return; - target.hydrate_init = true; - // We know that all children have claim_order values since the unclaimed have been detached if target is not - let children = target.childNodes; - // If target is , there may be children without claim_order - if (target.nodeName === 'HEAD') { - const myChildren = []; - for (let i = 0; i < children.length; i++) { - const node = children[i]; - if (node.claim_order !== undefined) { - myChildren.push(node); - } - } - children = myChildren; - } - /* - * Reorder claimed children optimally. - * We can reorder claimed children optimally by finding the longest subsequence of - * nodes that are already claimed in order and only moving the rest. The longest - * subsequence subsequence of nodes that are claimed in order can be found by - * computing the longest increasing subsequence of .claim_order values. - * - * This algorithm is optimal in generating the least amount of reorder operations - * possible. - * - * Proof: - * We know that, given a set of reordering operations, the nodes that do not move - * always form an increasing subsequence, since they do not move among each other - * meaning that they must be already ordered among each other. Thus, the maximal - * set of nodes that do not move form a longest increasing subsequence. - */ - // Compute longest increasing subsequence - // m: subsequence length j => index k of smallest value that ends an increasing subsequence of length j - const m = new Int32Array(children.length + 1); - // Predecessor indices + 1 - const p = new Int32Array(children.length); - m[0] = -1; - let longest = 0; - for (let i = 0; i < children.length; i++) { - const current = children[i].claim_order; - // Find the largest subsequence length such that it ends in a value less than our current value - // upper_bound returns first greater value, so we subtract one - // with fast path for when we are on the current longest subsequence - const seqLen = ((longest > 0 && children[m[longest]].claim_order <= current) ? longest + 1 : upper_bound(1, longest, idx => children[m[idx]].claim_order, current)) - 1; - p[i] = m[seqLen] + 1; - const newLen = seqLen + 1; - // We can guarantee that current is the smallest value. Otherwise, we would have generated a longer sequence. - m[newLen] = i; - longest = Math.max(newLen, longest); - } - // The longest increasing subsequence of nodes (initially reversed) - const lis = []; - // The rest of the nodes, nodes that will be moved - const toMove = []; - let last = children.length - 1; - for (let cur = m[longest] + 1; cur != 0; cur = p[cur - 1]) { - lis.push(children[cur - 1]); - for (; last >= cur; last--) { - toMove.push(children[last]); - } - last--; - } - for (; last >= 0; last--) { - toMove.push(children[last]); - } - lis.reverse(); - // We sort the nodes being moved to guarantee that their insertion order matches the claim order - toMove.sort((a, b) => a.claim_order - b.claim_order); - // Finally, we move the nodes - for (let i = 0, j = 0; i < toMove.length; i++) { - while (j < lis.length && toMove[i].claim_order >= lis[j].claim_order) { - j++; - } - const anchor = j < lis.length ? lis[j] : null; - target.insertBefore(toMove[i], anchor); - } -} -function append(target, node) { - target.appendChild(node); -} -function append_styles(target, style_sheet_id, styles) { - const append_styles_to = get_root_for_style(target); - if (!append_styles_to.getElementById(style_sheet_id)) { - const style = element('style'); - style.id = style_sheet_id; - style.textContent = styles; - append_stylesheet(append_styles_to, style); - } -} -function get_root_for_style(node) { - if (!node) - return document; - const root = node.getRootNode ? node.getRootNode() : node.ownerDocument; - if (root && root.host) { - return root; - } - return node.ownerDocument; -} -function append_empty_stylesheet(node) { - const style_element = element('style'); - append_stylesheet(get_root_for_style(node), style_element); - return style_element.sheet; -} -function append_stylesheet(node, style) { - append(node.head || node, style); -} -function append_hydration(target, node) { - if (is_hydrating) { - init_hydrate(target); - if ((target.actual_end_child === undefined) || ((target.actual_end_child !== null) && (target.actual_end_child.parentElement !== target))) { - target.actual_end_child = target.firstChild; - } - // Skip nodes of undefined ordering - while ((target.actual_end_child !== null) && (target.actual_end_child.claim_order === undefined)) { - target.actual_end_child = target.actual_end_child.nextSibling; - } - if (node !== target.actual_end_child) { - // We only insert if the ordering of this node should be modified or the parent node is not target - if (node.claim_order !== undefined || node.parentNode !== target) { - target.insertBefore(node, target.actual_end_child); - } - } - else { - target.actual_end_child = node.nextSibling; - } - } - else if (node.parentNode !== target || node.nextSibling !== null) { - target.appendChild(node); - } -} -function insert(target, node, anchor) { - target.insertBefore(node, anchor || null); -} -function insert_hydration(target, node, anchor) { - if (is_hydrating && !anchor) { - append_hydration(target, node); - } - else if (node.parentNode !== target || node.nextSibling != anchor) { - target.insertBefore(node, anchor || null); - } -} -function detach(node) { - node.parentNode.removeChild(node); -} -function destroy_each(iterations, detaching) { - for (let i = 0; i < iterations.length; i += 1) { - if (iterations[i]) - iterations[i].d(detaching); - } -} -function element(name) { - return document.createElement(name); -} -function element_is(name, is) { - return document.createElement(name, { is }); -} -function object_without_properties(obj, exclude) { - const target = {}; - for (const k in obj) { - if (has_prop(obj, k) - // @ts-ignore - && exclude.indexOf(k) === -1) { - // @ts-ignore - target[k] = obj[k]; - } - } - return target; -} -function svg_element(name) { - return document.createElementNS('http://www.w3.org/2000/svg', name); -} -function text(data) { - return document.createTextNode(data); -} -function space() { - return text(' '); -} -function empty() { - return text(''); -} -function listen(node, event, handler, options) { - node.addEventListener(event, handler, options); - return () => node.removeEventListener(event, handler, options); -} -function prevent_default(fn) { - return function (event) { - event.preventDefault(); - // @ts-ignore - return fn.call(this, event); - }; -} -function stop_propagation(fn) { - return function (event) { - event.stopPropagation(); - // @ts-ignore - return fn.call(this, event); - }; -} -function self(fn) { - return function (event) { - // @ts-ignore - if (event.target === this) - fn.call(this, event); - }; -} -function trusted(fn) { - return function (event) { - // @ts-ignore - if (event.isTrusted) - fn.call(this, event); - }; -} -function attr(node, attribute, value) { - if (value == null) - node.removeAttribute(attribute); - else if (node.getAttribute(attribute) !== value) - node.setAttribute(attribute, value); -} -function set_attributes(node, attributes) { - // @ts-ignore - const descriptors = Object.getOwnPropertyDescriptors(node.__proto__); - for (const key in attributes) { - if (attributes[key] == null) { - node.removeAttribute(key); - } - else if (key === 'style') { - node.style.cssText = attributes[key]; - } - else if (key === '__value') { - node.value = node[key] = attributes[key]; - } - else if (descriptors[key] && descriptors[key].set) { - node[key] = attributes[key]; - } - else { - attr(node, key, attributes[key]); - } - } -} -function set_svg_attributes(node, attributes) { - for (const key in attributes) { - attr(node, key, attributes[key]); - } -} -function set_custom_element_data(node, prop, value) { - if (prop in node) { - node[prop] = typeof node[prop] === 'boolean' && value === '' ? true : value; - } - else { - attr(node, prop, value); - } -} -function xlink_attr(node, attribute, value) { - node.setAttributeNS('http://www.w3.org/1999/xlink', attribute, value); -} -function get_binding_group_value(group, __value, checked) { - const value = new Set(); - for (let i = 0; i < group.length; i += 1) { - if (group[i].checked) - value.add(group[i].__value); - } - if (!checked) { - value.delete(__value); - } - return Array.from(value); -} -function to_number(value) { - return value === '' ? null : +value; -} -function time_ranges_to_array(ranges) { - const array = []; - for (let i = 0; i < ranges.length; i += 1) { - array.push({ start: ranges.start(i), end: ranges.end(i) }); - } - return array; -} -function children(element) { - return Array.from(element.childNodes); -} -function init_claim_info(nodes) { - if (nodes.claim_info === undefined) { - nodes.claim_info = { last_index: 0, total_claimed: 0 }; - } -} -function claim_node(nodes, predicate, processNode, createNode, dontUpdateLastIndex = false) { - // Try to find nodes in an order such that we lengthen the longest increasing subsequence - init_claim_info(nodes); - const resultNode = (() => { - // We first try to find an element after the previous one - for (let i = nodes.claim_info.last_index; i < nodes.length; i++) { - const node = nodes[i]; - if (predicate(node)) { - const replacement = processNode(node); - if (replacement === undefined) { - nodes.splice(i, 1); - } - else { - nodes[i] = replacement; - } - if (!dontUpdateLastIndex) { - nodes.claim_info.last_index = i; - } - return node; - } - } - // Otherwise, we try to find one before - // We iterate in reverse so that we don't go too far back - for (let i = nodes.claim_info.last_index - 1; i >= 0; i--) { - const node = nodes[i]; - if (predicate(node)) { - const replacement = processNode(node); - if (replacement === undefined) { - nodes.splice(i, 1); - } - else { - nodes[i] = replacement; - } - if (!dontUpdateLastIndex) { - nodes.claim_info.last_index = i; - } - else if (replacement === undefined) { - // Since we spliced before the last_index, we decrease it - nodes.claim_info.last_index--; - } - return node; - } - } - // If we can't find any matching node, we create a new one - return createNode(); - })(); - resultNode.claim_order = nodes.claim_info.total_claimed; - nodes.claim_info.total_claimed += 1; - return resultNode; -} -function claim_element_base(nodes, name, attributes, create_element) { - return claim_node(nodes, (node) => node.nodeName === name, (node) => { - const remove = []; - for (let j = 0; j < node.attributes.length; j++) { - const attribute = node.attributes[j]; - if (!attributes[attribute.name]) { - remove.push(attribute.name); - } - } - remove.forEach(v => node.removeAttribute(v)); - return undefined; - }, () => create_element(name)); -} -function claim_element(nodes, name, attributes) { - return claim_element_base(nodes, name, attributes, element); -} -function claim_svg_element(nodes, name, attributes) { - return claim_element_base(nodes, name, attributes, svg_element); -} -function claim_text(nodes, data) { - return claim_node(nodes, (node) => node.nodeType === 3, (node) => { - const dataStr = '' + data; - if (node.data.startsWith(dataStr)) { - if (node.data.length !== dataStr.length) { - return node.splitText(dataStr.length); - } - } - else { - node.data = dataStr; - } - }, () => text(data), true // Text nodes should not update last index since it is likely not worth it to eliminate an increasing subsequence of actual elements - ); -} -function claim_space(nodes) { - return claim_text(nodes, ' '); -} -function find_comment(nodes, text, start) { - for (let i = start; i < nodes.length; i += 1) { - const node = nodes[i]; - if (node.nodeType === 8 /* comment node */ && node.textContent.trim() === text) { - return i; - } - } - return nodes.length; -} -function claim_html_tag(nodes) { - // find html opening tag - const start_index = find_comment(nodes, 'HTML_TAG_START', 0); - const end_index = find_comment(nodes, 'HTML_TAG_END', start_index); - if (start_index === end_index) { - return new HtmlTagHydration(); - } - init_claim_info(nodes); - const html_tag_nodes = nodes.splice(start_index, end_index - start_index + 1); - detach(html_tag_nodes[0]); - detach(html_tag_nodes[html_tag_nodes.length - 1]); - const claimed_nodes = html_tag_nodes.slice(1, html_tag_nodes.length - 1); - for (const n of claimed_nodes) { - n.claim_order = nodes.claim_info.total_claimed; - nodes.claim_info.total_claimed += 1; - } - return new HtmlTagHydration(claimed_nodes); -} -function set_data(text, data) { - data = '' + data; - if (text.wholeText !== data) - text.data = data; -} -function set_input_value(input, value) { - input.value = value == null ? '' : value; -} -function set_input_type(input, type) { - try { - input.type = type; - } - catch (e) { - // do nothing - } -} -function set_style(node, key, value, important) { - if (value === null) { - node.style.removeProperty(key); - } - else { - node.style.setProperty(key, value, important ? 'important' : ''); - } -} -function select_option(select, value) { - for (let i = 0; i < select.options.length; i += 1) { - const option = select.options[i]; - if (option.__value === value) { - option.selected = true; - return; - } - } - select.selectedIndex = -1; // no option should be selected -} -function select_options(select, value) { - for (let i = 0; i < select.options.length; i += 1) { - const option = select.options[i]; - option.selected = ~value.indexOf(option.__value); - } -} -function select_value(select) { - const selected_option = select.querySelector(':checked') || select.options[0]; - return selected_option && selected_option.__value; -} -function select_multiple_value(select) { - return [].map.call(select.querySelectorAll(':checked'), option => option.__value); -} -// unfortunately this can't be a constant as that wouldn't be tree-shakeable -// so we cache the result instead -let crossorigin; -function is_crossorigin() { - if (crossorigin === undefined) { - crossorigin = false; - try { - if (typeof window !== 'undefined' && window.parent) { - void window.parent.document; - } - } - catch (error) { - crossorigin = true; - } - } - return crossorigin; -} -function add_resize_listener(node, fn) { - const computed_style = getComputedStyle(node); - if (computed_style.position === 'static') { - node.style.position = 'relative'; - } - const iframe = element('iframe'); - iframe.setAttribute('style', 'display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; ' + - 'overflow: hidden; border: 0; opacity: 0; pointer-events: none; z-index: -1;'); - iframe.setAttribute('aria-hidden', 'true'); - iframe.tabIndex = -1; - const crossorigin = is_crossorigin(); - let unsubscribe; - if (crossorigin) { - iframe.src = "data:text/html,"; - unsubscribe = listen(window, 'message', (event) => { - if (event.source === iframe.contentWindow) - fn(); - }); - } - else { - iframe.src = 'about:blank'; - iframe.onload = () => { - unsubscribe = listen(iframe.contentWindow, 'resize', fn); - }; - } - append(node, iframe); - return () => { - if (crossorigin) { - unsubscribe(); - } - else if (unsubscribe && iframe.contentWindow) { - unsubscribe(); - } - detach(iframe); - }; -} -function toggle_class(element, name, toggle) { - element.classList[toggle ? 'add' : 'remove'](name); -} -function custom_event(type, detail, bubbles = false) { - const e = document.createEvent('CustomEvent'); - e.initCustomEvent(type, bubbles, false, detail); - return e; -} -function query_selector_all(selector, parent = document.body) { - return Array.from(parent.querySelectorAll(selector)); -} -class HtmlTag { - constructor() { - this.e = this.n = null; - } - c(html) { - this.h(html); - } - m(html, target, anchor = null) { - if (!this.e) { - this.e = element(target.nodeName); - this.t = target; - this.c(html); - } - this.i(anchor); - } - h(html) { - this.e.innerHTML = html; - this.n = Array.from(this.e.childNodes); - } - i(anchor) { - for (let i = 0; i < this.n.length; i += 1) { - insert(this.t, this.n[i], anchor); - } - } - p(html) { - this.d(); - this.h(html); - this.i(this.a); - } - d() { - this.n.forEach(detach); - } -} -class HtmlTagHydration extends HtmlTag { - constructor(claimed_nodes) { - super(); - this.e = this.n = null; - this.l = claimed_nodes; - } - c(html) { - if (this.l) { - this.n = this.l; - } - else { - super.c(html); - } - } - i(anchor) { - for (let i = 0; i < this.n.length; i += 1) { - insert_hydration(this.t, this.n[i], anchor); - } - } -} -function attribute_to_object(attributes) { - const result = {}; - for (const attribute of attributes) { - result[attribute.name] = attribute.value; - } - return result; -} -function get_custom_elements_slots(element) { - const result = {}; - element.childNodes.forEach((node) => { - result[node.slot || 'default'] = true; - }); - return result; -} - -// we need to store the information for multiple documents because a Svelte application could also contain iframes -// https://github.com/sveltejs/svelte/issues/3624 -const managed_styles = new Map(); -let active = 0; -// https://github.com/darkskyapp/string-hash/blob/master/index.js -function hash(str) { - let hash = 5381; - let i = str.length; - while (i--) - hash = ((hash << 5) - hash) ^ str.charCodeAt(i); - return hash >>> 0; -} -function create_style_information(doc, node) { - const info = { stylesheet: append_empty_stylesheet(node), rules: {} }; - managed_styles.set(doc, info); - return info; -} -function create_rule(node, a, b, duration, delay, ease, fn, uid = 0) { - const step = 16.666 / duration; - let keyframes = '{\n'; - for (let p = 0; p <= 1; p += step) { - const t = a + (b - a) * ease(p); - keyframes += p * 100 + `%{${fn(t, 1 - t)}}\n`; - } - const rule = keyframes + `100% {${fn(b, 1 - b)}}\n}`; - const name = `__svelte_${hash(rule)}_${uid}`; - const doc = get_root_for_style(node); - const { stylesheet, rules } = managed_styles.get(doc) || create_style_information(doc, node); - if (!rules[name]) { - rules[name] = true; - stylesheet.insertRule(`@keyframes ${name} ${rule}`, stylesheet.cssRules.length); - } - const animation = node.style.animation || ''; - node.style.animation = `${animation ? `${animation}, ` : ''}${name} ${duration}ms linear ${delay}ms 1 both`; - active += 1; - return name; -} -function delete_rule(node, name) { - const previous = (node.style.animation || '').split(', '); - const next = previous.filter(name - ? anim => anim.indexOf(name) < 0 // remove specific animation - : anim => anim.indexOf('__svelte') === -1 // remove all Svelte animations - ); - const deleted = previous.length - next.length; - if (deleted) { - node.style.animation = next.join(', '); - active -= deleted; - if (!active) - clear_rules(); - } -} -function clear_rules() { - raf(() => { - if (active) - return; - managed_styles.forEach(info => { - const { stylesheet } = info; - let i = stylesheet.cssRules.length; - while (i--) - stylesheet.deleteRule(i); - info.rules = {}; - }); - managed_styles.clear(); - }); -} - -function create_animation(node, from, fn, params) { - if (!from) - return noop; - const to = node.getBoundingClientRect(); - if (from.left === to.left && from.right === to.right && from.top === to.top && from.bottom === to.bottom) - return noop; - const { delay = 0, duration = 300, easing = identity, - // @ts-ignore todo: should this be separated from destructuring? Or start/end added to public api and documentation? - start: start_time = now() + delay, - // @ts-ignore todo: - end = start_time + duration, tick = noop, css } = fn(node, { from, to }, params); - let running = true; - let started = false; - let name; - function start() { - if (css) { - name = create_rule(node, 0, 1, duration, delay, easing, css); - } - if (!delay) { - started = true; - } - } - function stop() { - if (css) - delete_rule(node, name); - running = false; - } - loop(now => { - if (!started && now >= start_time) { - started = true; - } - if (started && now >= end) { - tick(1, 0); - stop(); - } - if (!running) { - return false; - } - if (started) { - const p = now - start_time; - const t = 0 + 1 * easing(p / duration); - tick(t, 1 - t); - } - return true; - }); - start(); - tick(0, 1); - return stop; -} -function fix_position(node) { - const style = getComputedStyle(node); - if (style.position !== 'absolute' && style.position !== 'fixed') { - const { width, height } = style; - const a = node.getBoundingClientRect(); - node.style.position = 'absolute'; - node.style.width = width; - node.style.height = height; - add_transform(node, a); - } -} -function add_transform(node, a) { - const b = node.getBoundingClientRect(); - if (a.left !== b.left || a.top !== b.top) { - const style = getComputedStyle(node); - const transform = style.transform === 'none' ? '' : style.transform; - node.style.transform = `${transform} translate(${a.left - b.left}px, ${a.top - b.top}px)`; - } -} - -let current_component; -function set_current_component(component) { - current_component = component; -} -function get_current_component() { - if (!current_component) - throw new Error('Function called outside component initialization'); - return current_component; -} -function beforeUpdate(fn) { - get_current_component().$$.before_update.push(fn); -} -function onMount(fn) { - get_current_component().$$.on_mount.push(fn); -} -function afterUpdate(fn) { - get_current_component().$$.after_update.push(fn); -} -function onDestroy(fn) { - get_current_component().$$.on_destroy.push(fn); -} -function createEventDispatcher() { - const component = get_current_component(); - return (type, detail) => { - const callbacks = component.$$.callbacks[type]; - if (callbacks) { - // TODO are there situations where events could be dispatched - // in a server (non-DOM) environment? - const event = custom_event(type, detail); - callbacks.slice().forEach(fn => { - fn.call(component, event); - }); - } - }; -} -function setContext(key, context) { - get_current_component().$$.context.set(key, context); -} -function getContext(key) { - return get_current_component().$$.context.get(key); -} -function getAllContexts() { - return get_current_component().$$.context; -} -function hasContext(key) { - return get_current_component().$$.context.has(key); -} -// TODO figure out if we still want to support -// shorthand events, or if we want to implement -// a real bubbling mechanism -function bubble(component, event) { - const callbacks = component.$$.callbacks[event.type]; - if (callbacks) { - // @ts-ignore - callbacks.slice().forEach(fn => fn.call(this, event)); - } -} - -const dirty_components = []; -const intros = { enabled: false }; -const binding_callbacks = []; -const render_callbacks = []; -const flush_callbacks = []; -const resolved_promise = Promise.resolve(); -let update_scheduled = false; -function schedule_update() { - if (!update_scheduled) { - update_scheduled = true; - resolved_promise.then(flush); - } -} -function tick() { - schedule_update(); - return resolved_promise; -} -function add_render_callback(fn) { - render_callbacks.push(fn); -} -function add_flush_callback(fn) { - flush_callbacks.push(fn); -} -// flush() calls callbacks in this order: -// 1. All beforeUpdate callbacks, in order: parents before children -// 2. All bind:this callbacks, in reverse order: children before parents. -// 3. All afterUpdate callbacks, in order: parents before children. EXCEPT -// for afterUpdates called during the initial onMount, which are called in -// reverse order: children before parents. -// Since callbacks might update component values, which could trigger another -// call to flush(), the following steps guard against this: -// 1. During beforeUpdate, any updated components will be added to the -// dirty_components array and will cause a reentrant call to flush(). Because -// the flush index is kept outside the function, the reentrant call will pick -// up where the earlier call left off and go through all dirty components. The -// current_component value is saved and restored so that the reentrant call will -// not interfere with the "parent" flush() call. -// 2. bind:this callbacks cannot trigger new flush() calls. -// 3. During afterUpdate, any updated components will NOT have their afterUpdate -// callback called a second time; the seen_callbacks set, outside the flush() -// function, guarantees this behavior. -const seen_callbacks = new Set(); -let flushidx = 0; // Do *not* move this inside the flush() function -function flush() { - const saved_component = current_component; - do { - // first, call beforeUpdate functions - // and update components - while (flushidx < dirty_components.length) { - const component = dirty_components[flushidx]; - flushidx++; - set_current_component(component); - update(component.$$); - } - set_current_component(null); - dirty_components.length = 0; - flushidx = 0; - while (binding_callbacks.length) - binding_callbacks.pop()(); - // then, once components are updated, call - // afterUpdate functions. This may cause - // subsequent updates... - for (let i = 0; i < render_callbacks.length; i += 1) { - const callback = render_callbacks[i]; - if (!seen_callbacks.has(callback)) { - // ...so guard against infinite loops - seen_callbacks.add(callback); - callback(); - } - } - render_callbacks.length = 0; - } while (dirty_components.length); - while (flush_callbacks.length) { - flush_callbacks.pop()(); - } - update_scheduled = false; - seen_callbacks.clear(); - set_current_component(saved_component); -} -function update($$) { - if ($$.fragment !== null) { - $$.update(); - run_all($$.before_update); - const dirty = $$.dirty; - $$.dirty = [-1]; - $$.fragment && $$.fragment.p($$.ctx, dirty); - $$.after_update.forEach(add_render_callback); - } -} - -let promise; -function wait() { - if (!promise) { - promise = Promise.resolve(); - promise.then(() => { - promise = null; - }); - } - return promise; -} -function dispatch(node, direction, kind) { - node.dispatchEvent(custom_event(`${direction ? 'intro' : 'outro'}${kind}`)); -} -const outroing = new Set(); -let outros; -function group_outros() { - outros = { - r: 0, - c: [], - p: outros // parent group - }; -} -function check_outros() { - if (!outros.r) { - run_all(outros.c); - } - outros = outros.p; -} -function transition_in(block, local) { - if (block && block.i) { - outroing.delete(block); - block.i(local); - } -} -function transition_out(block, local, detach, callback) { - if (block && block.o) { - if (outroing.has(block)) - return; - outroing.add(block); - outros.c.push(() => { - outroing.delete(block); - if (callback) { - if (detach) - block.d(1); - callback(); - } - }); - block.o(local); - } -} -const null_transition = { duration: 0 }; -function create_in_transition(node, fn, params) { - let config = fn(node, params); - let running = false; - let animation_name; - let task; - let uid = 0; - function cleanup() { - if (animation_name) - delete_rule(node, animation_name); - } - function go() { - const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition; - if (css) - animation_name = create_rule(node, 0, 1, duration, delay, easing, css, uid++); - tick(0, 1); - const start_time = now() + delay; - const end_time = start_time + duration; - if (task) - task.abort(); - running = true; - add_render_callback(() => dispatch(node, true, 'start')); - task = loop(now => { - if (running) { - if (now >= end_time) { - tick(1, 0); - dispatch(node, true, 'end'); - cleanup(); - return running = false; - } - if (now >= start_time) { - const t = easing((now - start_time) / duration); - tick(t, 1 - t); - } - } - return running; - }); - } - let started = false; - return { - start() { - if (started) - return; - started = true; - delete_rule(node); - if (is_function(config)) { - config = config(); - wait().then(go); - } - else { - go(); - } - }, - invalidate() { - started = false; - }, - end() { - if (running) { - cleanup(); - running = false; - } - } - }; -} -function create_out_transition(node, fn, params) { - let config = fn(node, params); - let running = true; - let animation_name; - const group = outros; - group.r += 1; - function go() { - const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition; - if (css) - animation_name = create_rule(node, 1, 0, duration, delay, easing, css); - const start_time = now() + delay; - const end_time = start_time + duration; - add_render_callback(() => dispatch(node, false, 'start')); - loop(now => { - if (running) { - if (now >= end_time) { - tick(0, 1); - dispatch(node, false, 'end'); - if (!--group.r) { - // this will result in `end()` being called, - // so we don't need to clean up here - run_all(group.c); - } - return false; - } - if (now >= start_time) { - const t = easing((now - start_time) / duration); - tick(1 - t, t); - } - } - return running; - }); - } - if (is_function(config)) { - wait().then(() => { - // @ts-ignore - config = config(); - go(); - }); - } - else { - go(); - } - return { - end(reset) { - if (reset && config.tick) { - config.tick(1, 0); - } - if (running) { - if (animation_name) - delete_rule(node, animation_name); - running = false; - } - } - }; -} -function create_bidirectional_transition(node, fn, params, intro) { - let config = fn(node, params); - let t = intro ? 0 : 1; - let running_program = null; - let pending_program = null; - let animation_name = null; - function clear_animation() { - if (animation_name) - delete_rule(node, animation_name); - } - function init(program, duration) { - const d = (program.b - t); - duration *= Math.abs(d); - return { - a: t, - b: program.b, - d, - duration, - start: program.start, - end: program.start + duration, - group: program.group - }; - } - function go(b) { - const { delay = 0, duration = 300, easing = identity, tick = noop, css } = config || null_transition; - const program = { - start: now() + delay, - b - }; - if (!b) { - // @ts-ignore todo: improve typings - program.group = outros; - outros.r += 1; - } - if (running_program || pending_program) { - pending_program = program; - } - else { - // if this is an intro, and there's a delay, we need to do - // an initial tick and/or apply CSS animation immediately - if (css) { - clear_animation(); - animation_name = create_rule(node, t, b, duration, delay, easing, css); - } - if (b) - tick(0, 1); - running_program = init(program, duration); - add_render_callback(() => dispatch(node, b, 'start')); - loop(now => { - if (pending_program && now > pending_program.start) { - running_program = init(pending_program, duration); - pending_program = null; - dispatch(node, running_program.b, 'start'); - if (css) { - clear_animation(); - animation_name = create_rule(node, t, running_program.b, running_program.duration, 0, easing, config.css); - } - } - if (running_program) { - if (now >= running_program.end) { - tick(t = running_program.b, 1 - t); - dispatch(node, running_program.b, 'end'); - if (!pending_program) { - // we're done - if (running_program.b) { - // intro — we can tidy up immediately - clear_animation(); - } - else { - // outro — needs to be coordinated - if (!--running_program.group.r) - run_all(running_program.group.c); - } - } - running_program = null; - } - else if (now >= running_program.start) { - const p = now - running_program.start; - t = running_program.a + running_program.d * easing(p / running_program.duration); - tick(t, 1 - t); - } - } - return !!(running_program || pending_program); - }); - } - } - return { - run(b) { - if (is_function(config)) { - wait().then(() => { - // @ts-ignore - config = config(); - go(b); - }); - } - else { - go(b); - } - }, - end() { - clear_animation(); - running_program = pending_program = null; - } - }; -} - -function handle_promise(promise, info) { - const token = info.token = {}; - function update(type, index, key, value) { - if (info.token !== token) - return; - info.resolved = value; - let child_ctx = info.ctx; - if (key !== undefined) { - child_ctx = child_ctx.slice(); - child_ctx[key] = value; - } - const block = type && (info.current = type)(child_ctx); - let needs_flush = false; - if (info.block) { - if (info.blocks) { - info.blocks.forEach((block, i) => { - if (i !== index && block) { - group_outros(); - transition_out(block, 1, 1, () => { - if (info.blocks[i] === block) { - info.blocks[i] = null; - } - }); - check_outros(); - } - }); - } - else { - info.block.d(1); - } - block.c(); - transition_in(block, 1); - block.m(info.mount(), info.anchor); - needs_flush = true; - } - info.block = block; - if (info.blocks) - info.blocks[index] = block; - if (needs_flush) { - flush(); - } - } - if (is_promise(promise)) { - const current_component = get_current_component(); - promise.then(value => { - set_current_component(current_component); - update(info.then, 1, info.value, value); - set_current_component(null); - }, error => { - set_current_component(current_component); - update(info.catch, 2, info.error, error); - set_current_component(null); - if (!info.hasCatch) { - throw error; - } - }); - // if we previously had a then/catch block, destroy it - if (info.current !== info.pending) { - update(info.pending, 0); - return true; - } - } - else { - if (info.current !== info.then) { - update(info.then, 1, info.value, promise); - return true; - } - info.resolved = promise; - } -} -function update_await_block_branch(info, ctx, dirty) { - const child_ctx = ctx.slice(); - const { resolved } = info; - if (info.current === info.then) { - child_ctx[info.value] = resolved; - } - if (info.current === info.catch) { - child_ctx[info.error] = resolved; - } - info.block.p(child_ctx, dirty); -} - -const globals = (typeof window !== 'undefined' - ? window - : typeof globalThis !== 'undefined' - ? globalThis - : global); - -function destroy_block(block, lookup) { - block.d(1); - lookup.delete(block.key); -} -function outro_and_destroy_block(block, lookup) { - transition_out(block, 1, 1, () => { - lookup.delete(block.key); - }); -} -function fix_and_destroy_block(block, lookup) { - block.f(); - destroy_block(block, lookup); -} -function fix_and_outro_and_destroy_block(block, lookup) { - block.f(); - outro_and_destroy_block(block, lookup); -} -function update_keyed_each(old_blocks, dirty, get_key, dynamic, ctx, list, lookup, node, destroy, create_each_block, next, get_context) { - let o = old_blocks.length; - let n = list.length; - let i = o; - const old_indexes = {}; - while (i--) - old_indexes[old_blocks[i].key] = i; - const new_blocks = []; - const new_lookup = new Map(); - const deltas = new Map(); - i = n; - while (i--) { - const child_ctx = get_context(ctx, list, i); - const key = get_key(child_ctx); - let block = lookup.get(key); - if (!block) { - block = create_each_block(key, child_ctx); - block.c(); - } - else if (dynamic) { - block.p(child_ctx, dirty); - } - new_lookup.set(key, new_blocks[i] = block); - if (key in old_indexes) - deltas.set(key, Math.abs(i - old_indexes[key])); - } - const will_move = new Set(); - const did_move = new Set(); - function insert(block) { - transition_in(block, 1); - block.m(node, next); - lookup.set(block.key, block); - next = block.first; - n--; - } - while (o && n) { - const new_block = new_blocks[n - 1]; - const old_block = old_blocks[o - 1]; - const new_key = new_block.key; - const old_key = old_block.key; - if (new_block === old_block) { - // do nothing - next = new_block.first; - o--; - n--; - } - else if (!new_lookup.has(old_key)) { - // remove old block - destroy(old_block, lookup); - o--; - } - else if (!lookup.has(new_key) || will_move.has(new_key)) { - insert(new_block); - } - else if (did_move.has(old_key)) { - o--; - } - else if (deltas.get(new_key) > deltas.get(old_key)) { - did_move.add(new_key); - insert(new_block); - } - else { - will_move.add(old_key); - o--; - } - } - while (o--) { - const old_block = old_blocks[o]; - if (!new_lookup.has(old_block.key)) - destroy(old_block, lookup); - } - while (n) - insert(new_blocks[n - 1]); - return new_blocks; -} -function validate_each_keys(ctx, list, get_context, get_key) { - const keys = new Set(); - for (let i = 0; i < list.length; i++) { - const key = get_key(get_context(ctx, list, i)); - if (keys.has(key)) { - throw new Error('Cannot have duplicate keys in a keyed each'); - } - keys.add(key); - } -} - -function get_spread_update(levels, updates) { - const update = {}; - const to_null_out = {}; - const accounted_for = { $$scope: 1 }; - let i = levels.length; - while (i--) { - const o = levels[i]; - const n = updates[i]; - if (n) { - for (const key in o) { - if (!(key in n)) - to_null_out[key] = 1; - } - for (const key in n) { - if (!accounted_for[key]) { - update[key] = n[key]; - accounted_for[key] = 1; - } - } - levels[i] = n; - } - else { - for (const key in o) { - accounted_for[key] = 1; - } - } - } - for (const key in to_null_out) { - if (!(key in update)) - update[key] = undefined; - } - return update; -} -function get_spread_object(spread_props) { - return typeof spread_props === 'object' && spread_props !== null ? spread_props : {}; -} - -// source: https://html.spec.whatwg.org/multipage/indices.html -const boolean_attributes = new Set([ - 'allowfullscreen', - 'allowpaymentrequest', - 'async', - 'autofocus', - 'autoplay', - 'checked', - 'controls', - 'default', - 'defer', - 'disabled', - 'formnovalidate', - 'hidden', - 'ismap', - 'loop', - 'multiple', - 'muted', - 'nomodule', - 'novalidate', - 'open', - 'playsinline', - 'readonly', - 'required', - 'reversed', - 'selected' -]); - -const invalid_attribute_name_character = /[\s'">/=\u{FDD0}-\u{FDEF}\u{FFFE}\u{FFFF}\u{1FFFE}\u{1FFFF}\u{2FFFE}\u{2FFFF}\u{3FFFE}\u{3FFFF}\u{4FFFE}\u{4FFFF}\u{5FFFE}\u{5FFFF}\u{6FFFE}\u{6FFFF}\u{7FFFE}\u{7FFFF}\u{8FFFE}\u{8FFFF}\u{9FFFE}\u{9FFFF}\u{AFFFE}\u{AFFFF}\u{BFFFE}\u{BFFFF}\u{CFFFE}\u{CFFFF}\u{DFFFE}\u{DFFFF}\u{EFFFE}\u{EFFFF}\u{FFFFE}\u{FFFFF}\u{10FFFE}\u{10FFFF}]/u; -// https://html.spec.whatwg.org/multipage/syntax.html#attributes-2 -// https://infra.spec.whatwg.org/#noncharacter -function spread(args, attrs_to_add) { - const attributes = Object.assign({}, ...args); - if (attrs_to_add) { - const classes_to_add = attrs_to_add.classes; - const styles_to_add = attrs_to_add.styles; - if (classes_to_add) { - if (attributes.class == null) { - attributes.class = classes_to_add; - } - else { - attributes.class += ' ' + classes_to_add; - } - } - if (styles_to_add) { - if (attributes.style == null) { - attributes.style = style_object_to_string(styles_to_add); - } - else { - attributes.style = style_object_to_string(merge_ssr_styles(attributes.style, styles_to_add)); - } - } - } - let str = ''; - Object.keys(attributes).forEach(name => { - if (invalid_attribute_name_character.test(name)) - return; - const value = attributes[name]; - if (value === true) - str += ' ' + name; - else if (boolean_attributes.has(name.toLowerCase())) { - if (value) - str += ' ' + name; - } - else if (value != null) { - str += ` ${name}="${value}"`; - } - }); - return str; -} -function merge_ssr_styles(style_attribute, style_directive) { - const style_object = {}; - for (const individual_style of style_attribute.split(';')) { - const colon_index = individual_style.indexOf(':'); - const name = individual_style.slice(0, colon_index).trim(); - const value = individual_style.slice(colon_index + 1).trim(); - if (!name) - continue; - style_object[name] = value; - } - for (const name in style_directive) { - const value = style_directive[name]; - if (value) { - style_object[name] = value; - } - else { - delete style_object[name]; - } - } - return style_object; -} -const escaped = { - '"': '"', - "'": ''', - '&': '&', - '<': '<', - '>': '>' -}; -function escape(html) { - return String(html).replace(/["'&<>]/g, match => escaped[match]); -} -function escape_attribute_value(value) { - return typeof value === 'string' ? escape(value) : value; -} -function escape_object(obj) { - const result = {}; - for (const key in obj) { - result[key] = escape_attribute_value(obj[key]); - } - return result; -} -function each(items, fn) { - let str = ''; - for (let i = 0; i < items.length; i += 1) { - str += fn(items[i], i); - } - return str; -} -const missing_component = { - $$render: () => '' -}; -function validate_component(component, name) { - if (!component || !component.$$render) { - if (name === 'svelte:component') - name += ' this={...}'; - throw new Error(`<${name}> is not a valid SSR component. You may need to review your build config to ensure that dependencies are compiled, rather than imported as pre-compiled modules`); - } - return component; -} -function debug(file, line, column, values) { - console.log(`{@debug} ${file ? file + ' ' : ''}(${line}:${column})`); // eslint-disable-line no-console - console.log(values); // eslint-disable-line no-console - return ''; -} -let on_destroy; -function create_ssr_component(fn) { - function $$render(result, props, bindings, slots, context) { - const parent_component = current_component; - const $$ = { - on_destroy, - context: new Map(context || (parent_component ? parent_component.$$.context : [])), - // these will be immediately discarded - on_mount: [], - before_update: [], - after_update: [], - callbacks: blank_object() - }; - set_current_component({ $$ }); - const html = fn(result, props, bindings, slots); - set_current_component(parent_component); - return html; - } - return { - render: (props = {}, { $$slots = {}, context = new Map() } = {}) => { - on_destroy = []; - const result = { title: '', head: '', css: new Set() }; - const html = $$render(result, props, {}, $$slots, context); - run_all(on_destroy); - return { - html, - css: { - code: Array.from(result.css).map(css => css.code).join('\n'), - map: null // TODO - }, - head: result.title + result.head - }; - }, - $$render - }; -} -function add_attribute(name, value, boolean) { - if (value == null || (boolean && !value)) - return ''; - return ` ${name}${value === true && boolean_attributes.has(name) ? '' : `=${typeof value === 'string' ? JSON.stringify(escape(value)) : `"${value}"`}`}`; -} -function add_classes(classes) { - return classes ? ` class="${classes}"` : ''; -} -function style_object_to_string(style_object) { - return Object.keys(style_object) - .filter(key => style_object[key]) - .map(key => `${key}: ${style_object[key]};`) - .join(' '); -} -function add_styles(style_object) { - const styles = style_object_to_string(style_object); - return styles ? ` style="${styles}"` : ''; -} - -function bind(component, name, callback) { - const index = component.$$.props[name]; - if (index !== undefined) { - component.$$.bound[index] = callback; - callback(component.$$.ctx[index]); - } -} -function create_component(block) { - block && block.c(); -} -function claim_component(block, parent_nodes) { - block && block.l(parent_nodes); -} -function mount_component(component, target, anchor, customElement) { - const { fragment, on_mount, on_destroy, after_update } = component.$$; - fragment && fragment.m(target, anchor); - if (!customElement) { - // onMount happens before the initial afterUpdate - add_render_callback(() => { - const new_on_destroy = on_mount.map(run).filter(is_function); - if (on_destroy) { - on_destroy.push(...new_on_destroy); - } - else { - // Edge case - component was destroyed immediately, - // most likely as a result of a binding initialising - run_all(new_on_destroy); - } - component.$$.on_mount = []; - }); - } - after_update.forEach(add_render_callback); -} -function destroy_component(component, detaching) { - const $$ = component.$$; - if ($$.fragment !== null) { - run_all($$.on_destroy); - $$.fragment && $$.fragment.d(detaching); - // TODO null out other refs, including component.$$ (but need to - // preserve final state?) - $$.on_destroy = $$.fragment = null; - $$.ctx = []; - } -} -function make_dirty(component, i) { - if (component.$$.dirty[0] === -1) { - dirty_components.push(component); - schedule_update(); - component.$$.dirty.fill(0); - } - component.$$.dirty[(i / 31) | 0] |= (1 << (i % 31)); -} -function init(component, options, instance, create_fragment, not_equal, props, append_styles, dirty = [-1]) { - const parent_component = current_component; - set_current_component(component); - const $$ = component.$$ = { - fragment: null, - ctx: null, - // state - props, - update: noop, - not_equal, - bound: blank_object(), - // lifecycle - on_mount: [], - on_destroy: [], - on_disconnect: [], - before_update: [], - after_update: [], - context: new Map(options.context || (parent_component ? parent_component.$$.context : [])), - // everything else - callbacks: blank_object(), - dirty, - skip_bound: false, - root: options.target || parent_component.$$.root - }; - append_styles && append_styles($$.root); - let ready = false; - $$.ctx = instance - ? instance(component, options.props || {}, (i, ret, ...rest) => { - const value = rest.length ? rest[0] : ret; - if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) { - if (!$$.skip_bound && $$.bound[i]) - $$.bound[i](value); - if (ready) - make_dirty(component, i); - } - return ret; - }) - : []; - $$.update(); - ready = true; - run_all($$.before_update); - // `false` as a special case of no DOM component - $$.fragment = create_fragment ? create_fragment($$.ctx) : false; - if (options.target) { - if (options.hydrate) { - start_hydrating(); - const nodes = children(options.target); - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - $$.fragment && $$.fragment.l(nodes); - nodes.forEach(detach); - } - else { - // eslint-disable-next-line @typescript-eslint/no-non-null-assertion - $$.fragment && $$.fragment.c(); - } - if (options.intro) - transition_in(component.$$.fragment); - mount_component(component, options.target, options.anchor, options.customElement); - end_hydrating(); - flush(); - } - set_current_component(parent_component); -} -let SvelteElement; -if (typeof HTMLElement === 'function') { - SvelteElement = class extends HTMLElement { - constructor() { - super(); - this.attachShadow({ mode: 'open' }); - } - connectedCallback() { - const { on_mount } = this.$$; - this.$$.on_disconnect = on_mount.map(run).filter(is_function); - // @ts-ignore todo: improve typings - for (const key in this.$$.slotted) { - // @ts-ignore todo: improve typings - this.appendChild(this.$$.slotted[key]); - } - } - attributeChangedCallback(attr, _oldValue, newValue) { - this[attr] = newValue; - } - disconnectedCallback() { - run_all(this.$$.on_disconnect); - } - $destroy() { - destroy_component(this, 1); - this.$destroy = noop; - } - $on(type, callback) { - // TODO should this delegate to addEventListener? - const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = [])); - callbacks.push(callback); - return () => { - const index = callbacks.indexOf(callback); - if (index !== -1) - callbacks.splice(index, 1); - }; - } - $set($$props) { - if (this.$$set && !is_empty($$props)) { - this.$$.skip_bound = true; - this.$$set($$props); - this.$$.skip_bound = false; - } - } - }; -} -/** - * Base class for Svelte components. Used when dev=false. - */ -class SvelteComponent { - $destroy() { - destroy_component(this, 1); - this.$destroy = noop; - } - $on(type, callback) { - const callbacks = (this.$$.callbacks[type] || (this.$$.callbacks[type] = [])); - callbacks.push(callback); - return () => { - const index = callbacks.indexOf(callback); - if (index !== -1) - callbacks.splice(index, 1); - }; - } - $set($$props) { - if (this.$$set && !is_empty($$props)) { - this.$$.skip_bound = true; - this.$$set($$props); - this.$$.skip_bound = false; - } - } -} - -function dispatch_dev(type, detail) { - document.dispatchEvent(custom_event(type, Object.assign({ version: '3.46.2' }, detail), true)); -} -function append_dev(target, node) { - dispatch_dev('SvelteDOMInsert', { target, node }); - append(target, node); -} -function append_hydration_dev(target, node) { - dispatch_dev('SvelteDOMInsert', { target, node }); - append_hydration(target, node); -} -function insert_dev(target, node, anchor) { - dispatch_dev('SvelteDOMInsert', { target, node, anchor }); - insert(target, node, anchor); -} -function insert_hydration_dev(target, node, anchor) { - dispatch_dev('SvelteDOMInsert', { target, node, anchor }); - insert_hydration(target, node, anchor); -} -function detach_dev(node) { - dispatch_dev('SvelteDOMRemove', { node }); - detach(node); -} -function detach_between_dev(before, after) { - while (before.nextSibling && before.nextSibling !== after) { - detach_dev(before.nextSibling); - } -} -function detach_before_dev(after) { - while (after.previousSibling) { - detach_dev(after.previousSibling); - } -} -function detach_after_dev(before) { - while (before.nextSibling) { - detach_dev(before.nextSibling); - } -} -function listen_dev(node, event, handler, options, has_prevent_default, has_stop_propagation) { - const modifiers = options === true ? ['capture'] : options ? Array.from(Object.keys(options)) : []; - if (has_prevent_default) - modifiers.push('preventDefault'); - if (has_stop_propagation) - modifiers.push('stopPropagation'); - dispatch_dev('SvelteDOMAddEventListener', { node, event, handler, modifiers }); - const dispose = listen(node, event, handler, options); - return () => { - dispatch_dev('SvelteDOMRemoveEventListener', { node, event, handler, modifiers }); - dispose(); - }; -} -function attr_dev(node, attribute, value) { - attr(node, attribute, value); - if (value == null) - dispatch_dev('SvelteDOMRemoveAttribute', { node, attribute }); - else - dispatch_dev('SvelteDOMSetAttribute', { node, attribute, value }); -} -function prop_dev(node, property, value) { - node[property] = value; - dispatch_dev('SvelteDOMSetProperty', { node, property, value }); -} -function dataset_dev(node, property, value) { - node.dataset[property] = value; - dispatch_dev('SvelteDOMSetDataset', { node, property, value }); -} -function set_data_dev(text, data) { - data = '' + data; - if (text.wholeText === data) - return; - dispatch_dev('SvelteDOMSetData', { node: text, data }); - text.data = data; -} -function validate_each_argument(arg) { - if (typeof arg !== 'string' && !(arg && typeof arg === 'object' && 'length' in arg)) { - let msg = '{#each} only iterates over array-like objects.'; - if (typeof Symbol === 'function' && arg && Symbol.iterator in arg) { - msg += ' You can use a spread to convert this iterable into an array.'; - } - throw new Error(msg); - } -} -function validate_slots(name, slot, keys) { - for (const slot_key of Object.keys(slot)) { - if (!~keys.indexOf(slot_key)) { - console.warn(`<${name}> received an unexpected slot "${slot_key}".`); - } - } -} -/** - * Base class for Svelte components with some minor dev-enhancements. Used when dev=true. - */ -class SvelteComponentDev extends SvelteComponent { - constructor(options) { - if (!options || (!options.target && !options.$$inline)) { - throw new Error("'target' is a required option"); - } - super(); - } - $destroy() { - super.$destroy(); - this.$destroy = () => { - console.warn('Component was already destroyed'); // eslint-disable-line no-console - }; - } - $capture_state() { } - $inject_state() { } -} -/** - * Base class to create strongly typed Svelte components. - * This only exists for typing purposes and should be used in `.d.ts` files. - * - * ### Example: - * - * You have component library on npm called `component-library`, from which - * you export a component called `MyComponent`. For Svelte+TypeScript users, - * you want to provide typings. Therefore you create a `index.d.ts`: - * ```ts - * import { SvelteComponentTyped } from "svelte"; - * export class MyComponent extends SvelteComponentTyped<{foo: string}> {} - * ``` - * Typing this makes it possible for IDEs like VS Code with the Svelte extension - * to provide intellisense and to use the component like this in a Svelte file - * with TypeScript: - * ```svelte - * - * - * ``` - * - * #### Why not make this part of `SvelteComponent(Dev)`? - * Because - * ```ts - * class ASubclassOfSvelteComponent extends SvelteComponent<{foo: string}> {} - * const component: typeof SvelteComponent = ASubclassOfSvelteComponent; - * ``` - * will throw a type error, so we need to separate the more strictly typed class. - */ -class SvelteComponentTyped extends SvelteComponentDev { - constructor(options) { - super(options); - } -} -function loop_guard(timeout) { - const start = Date.now(); - return () => { - if (Date.now() - start > timeout) { - throw new Error('Infinite loop detected'); - } - }; -} - -export { HtmlTag, HtmlTagHydration, SvelteComponent, SvelteComponentDev, SvelteComponentTyped, SvelteElement, action_destroyer, add_attribute, add_classes, add_flush_callback, add_location, add_render_callback, add_resize_listener, add_styles, add_transform, afterUpdate, append, append_dev, append_empty_stylesheet, append_hydration, append_hydration_dev, append_styles, assign, attr, attr_dev, attribute_to_object, beforeUpdate, bind, binding_callbacks, blank_object, bubble, check_outros, children, claim_component, claim_element, claim_html_tag, claim_space, claim_svg_element, claim_text, clear_loops, component_subscribe, compute_rest_props, compute_slots, createEventDispatcher, create_animation, create_bidirectional_transition, create_component, create_in_transition, create_out_transition, create_slot, create_ssr_component, current_component, custom_event, dataset_dev, debug, destroy_block, destroy_component, destroy_each, detach, detach_after_dev, detach_before_dev, detach_between_dev, detach_dev, dirty_components, dispatch_dev, each, element, element_is, empty, end_hydrating, escape, escape_attribute_value, escape_object, escaped, exclude_internal_props, fix_and_destroy_block, fix_and_outro_and_destroy_block, fix_position, flush, getAllContexts, getContext, get_all_dirty_from_scope, get_binding_group_value, get_current_component, get_custom_elements_slots, get_root_for_style, get_slot_changes, get_spread_object, get_spread_update, get_store_value, globals, group_outros, handle_promise, hasContext, has_prop, identity, init, insert, insert_dev, insert_hydration, insert_hydration_dev, intros, invalid_attribute_name_character, is_client, is_crossorigin, is_empty, is_function, is_promise, listen, listen_dev, loop, loop_guard, merge_ssr_styles, missing_component, mount_component, noop, not_equal, now, null_to_empty, object_without_properties, onDestroy, onMount, once, outro_and_destroy_block, prevent_default, prop_dev, query_selector_all, raf, run, run_all, safe_not_equal, schedule_update, select_multiple_value, select_option, select_options, select_value, self, setContext, set_attributes, set_current_component, set_custom_element_data, set_data, set_data_dev, set_input_type, set_input_value, set_now, set_raf, set_store_value, set_style, set_svg_attributes, space, spread, src_url_equal, start_hydrating, stop_propagation, subscribe, svg_element, text, tick, time_ranges_to_array, to_number, toggle_class, transition_in, transition_out, trusted, update_await_block_branch, update_keyed_each, update_slot, update_slot_base, validate_component, validate_each_argument, validate_each_keys, validate_slots, validate_store, xlink_attr }; diff --git a/packages/frontend-core/node_modules/svelte/internal/package.json b/packages/frontend-core/node_modules/svelte/internal/package.json deleted file mode 100644 index 598aeeaf51..0000000000 --- a/packages/frontend-core/node_modules/svelte/internal/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "main": "./index", - "module": "./index.mjs", - "types": "./index.d.ts" -} \ No newline at end of file diff --git a/packages/frontend-core/node_modules/svelte/motion/index.d.ts b/packages/frontend-core/node_modules/svelte/motion/index.d.ts deleted file mode 100644 index 8fd1d8b2da..0000000000 --- a/packages/frontend-core/node_modules/svelte/motion/index.d.ts +++ /dev/null @@ -1 +0,0 @@ -export * from '../types/runtime/motion/index'; \ No newline at end of file diff --git a/packages/frontend-core/node_modules/svelte/motion/index.js b/packages/frontend-core/node_modules/svelte/motion/index.js deleted file mode 100644 index b1840e41c6..0000000000 --- a/packages/frontend-core/node_modules/svelte/motion/index.js +++ /dev/null @@ -1,216 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, '__esModule', { value: true }); - -var store = require('../store/index.js'); -var internal = require('../internal/index.js'); -var easing = require('../easing/index.js'); - -function is_date(obj) { - return Object.prototype.toString.call(obj) === '[object Date]'; -} - -function tick_spring(ctx, last_value, current_value, target_value) { - if (typeof current_value === 'number' || is_date(current_value)) { - // @ts-ignore - const delta = target_value - current_value; - // @ts-ignore - const velocity = (current_value - last_value) / (ctx.dt || 1 / 60); // guard div by 0 - const spring = ctx.opts.stiffness * delta; - const damper = ctx.opts.damping * velocity; - const acceleration = (spring - damper) * ctx.inv_mass; - const d = (velocity + acceleration) * ctx.dt; - if (Math.abs(d) < ctx.opts.precision && Math.abs(delta) < ctx.opts.precision) { - return target_value; // settled - } - else { - ctx.settled = false; // signal loop to keep ticking - // @ts-ignore - return is_date(current_value) ? - new Date(current_value.getTime() + d) : current_value + d; - } - } - else if (Array.isArray(current_value)) { - // @ts-ignore - return current_value.map((_, i) => tick_spring(ctx, last_value[i], current_value[i], target_value[i])); - } - else if (typeof current_value === 'object') { - const next_value = {}; - for (const k in current_value) { - // @ts-ignore - next_value[k] = tick_spring(ctx, last_value[k], current_value[k], target_value[k]); - } - // @ts-ignore - return next_value; - } - else { - throw new Error(`Cannot spring ${typeof current_value} values`); - } -} -function spring(value, opts = {}) { - const store$1 = store.writable(value); - const { stiffness = 0.15, damping = 0.8, precision = 0.01 } = opts; - let last_time; - let task; - let current_token; - let last_value = value; - let target_value = value; - let inv_mass = 1; - let inv_mass_recovery_rate = 0; - let cancel_task = false; - function set(new_value, opts = {}) { - target_value = new_value; - const token = current_token = {}; - if (value == null || opts.hard || (spring.stiffness >= 1 && spring.damping >= 1)) { - cancel_task = true; // cancel any running animation - last_time = internal.now(); - last_value = new_value; - store$1.set(value = target_value); - return Promise.resolve(); - } - else if (opts.soft) { - const rate = opts.soft === true ? .5 : +opts.soft; - inv_mass_recovery_rate = 1 / (rate * 60); - inv_mass = 0; // infinite mass, unaffected by spring forces - } - if (!task) { - last_time = internal.now(); - cancel_task = false; - task = internal.loop(now => { - if (cancel_task) { - cancel_task = false; - task = null; - return false; - } - inv_mass = Math.min(inv_mass + inv_mass_recovery_rate, 1); - const ctx = { - inv_mass, - opts: spring, - settled: true, - dt: (now - last_time) * 60 / 1000 - }; - const next_value = tick_spring(ctx, last_value, value, target_value); - last_time = now; - last_value = value; - store$1.set(value = next_value); - if (ctx.settled) { - task = null; - } - return !ctx.settled; - }); - } - return new Promise(fulfil => { - task.promise.then(() => { - if (token === current_token) - fulfil(); - }); - }); - } - const spring = { - set, - update: (fn, opts) => set(fn(target_value, value), opts), - subscribe: store$1.subscribe, - stiffness, - damping, - precision - }; - return spring; -} - -function get_interpolator(a, b) { - if (a === b || a !== a) - return () => a; - const type = typeof a; - if (type !== typeof b || Array.isArray(a) !== Array.isArray(b)) { - throw new Error('Cannot interpolate values of different type'); - } - if (Array.isArray(a)) { - const arr = b.map((bi, i) => { - return get_interpolator(a[i], bi); - }); - return t => arr.map(fn => fn(t)); - } - if (type === 'object') { - if (!a || !b) - throw new Error('Object cannot be null'); - if (is_date(a) && is_date(b)) { - a = a.getTime(); - b = b.getTime(); - const delta = b - a; - return t => new Date(a + t * delta); - } - const keys = Object.keys(b); - const interpolators = {}; - keys.forEach(key => { - interpolators[key] = get_interpolator(a[key], b[key]); - }); - return t => { - const result = {}; - keys.forEach(key => { - result[key] = interpolators[key](t); - }); - return result; - }; - } - if (type === 'number') { - const delta = b - a; - return t => a + t * delta; - } - throw new Error(`Cannot interpolate ${type} values`); -} -function tweened(value, defaults = {}) { - const store$1 = store.writable(value); - let task; - let target_value = value; - function set(new_value, opts) { - if (value == null) { - store$1.set(value = new_value); - return Promise.resolve(); - } - target_value = new_value; - let previous_task = task; - let started = false; - let { delay = 0, duration = 400, easing: easing$1 = easing.linear, interpolate = get_interpolator } = internal.assign(internal.assign({}, defaults), opts); - if (duration === 0) { - if (previous_task) { - previous_task.abort(); - previous_task = null; - } - store$1.set(value = target_value); - return Promise.resolve(); - } - const start = internal.now() + delay; - let fn; - task = internal.loop(now => { - if (now < start) - return true; - if (!started) { - fn = interpolate(value, new_value); - if (typeof duration === 'function') - duration = duration(value, new_value); - started = true; - } - if (previous_task) { - previous_task.abort(); - previous_task = null; - } - const elapsed = now - start; - if (elapsed > duration) { - store$1.set(value = new_value); - return false; - } - // @ts-ignore - store$1.set(value = fn(easing$1(elapsed / duration))); - return true; - }); - return task.promise; - } - return { - set, - update: (fn, opts) => set(fn(target_value, value), opts), - subscribe: store$1.subscribe - }; -} - -exports.spring = spring; -exports.tweened = tweened; diff --git a/packages/frontend-core/node_modules/svelte/motion/index.mjs b/packages/frontend-core/node_modules/svelte/motion/index.mjs deleted file mode 100644 index 6c4ecbe621..0000000000 --- a/packages/frontend-core/node_modules/svelte/motion/index.mjs +++ /dev/null @@ -1,211 +0,0 @@ -import { writable } from '../store/index.mjs'; -import { now, loop, assign } from '../internal/index.mjs'; -import { linear } from '../easing/index.mjs'; - -function is_date(obj) { - return Object.prototype.toString.call(obj) === '[object Date]'; -} - -function tick_spring(ctx, last_value, current_value, target_value) { - if (typeof current_value === 'number' || is_date(current_value)) { - // @ts-ignore - const delta = target_value - current_value; - // @ts-ignore - const velocity = (current_value - last_value) / (ctx.dt || 1 / 60); // guard div by 0 - const spring = ctx.opts.stiffness * delta; - const damper = ctx.opts.damping * velocity; - const acceleration = (spring - damper) * ctx.inv_mass; - const d = (velocity + acceleration) * ctx.dt; - if (Math.abs(d) < ctx.opts.precision && Math.abs(delta) < ctx.opts.precision) { - return target_value; // settled - } - else { - ctx.settled = false; // signal loop to keep ticking - // @ts-ignore - return is_date(current_value) ? - new Date(current_value.getTime() + d) : current_value + d; - } - } - else if (Array.isArray(current_value)) { - // @ts-ignore - return current_value.map((_, i) => tick_spring(ctx, last_value[i], current_value[i], target_value[i])); - } - else if (typeof current_value === 'object') { - const next_value = {}; - for (const k in current_value) { - // @ts-ignore - next_value[k] = tick_spring(ctx, last_value[k], current_value[k], target_value[k]); - } - // @ts-ignore - return next_value; - } - else { - throw new Error(`Cannot spring ${typeof current_value} values`); - } -} -function spring(value, opts = {}) { - const store = writable(value); - const { stiffness = 0.15, damping = 0.8, precision = 0.01 } = opts; - let last_time; - let task; - let current_token; - let last_value = value; - let target_value = value; - let inv_mass = 1; - let inv_mass_recovery_rate = 0; - let cancel_task = false; - function set(new_value, opts = {}) { - target_value = new_value; - const token = current_token = {}; - if (value == null || opts.hard || (spring.stiffness >= 1 && spring.damping >= 1)) { - cancel_task = true; // cancel any running animation - last_time = now(); - last_value = new_value; - store.set(value = target_value); - return Promise.resolve(); - } - else if (opts.soft) { - const rate = opts.soft === true ? .5 : +opts.soft; - inv_mass_recovery_rate = 1 / (rate * 60); - inv_mass = 0; // infinite mass, unaffected by spring forces - } - if (!task) { - last_time = now(); - cancel_task = false; - task = loop(now => { - if (cancel_task) { - cancel_task = false; - task = null; - return false; - } - inv_mass = Math.min(inv_mass + inv_mass_recovery_rate, 1); - const ctx = { - inv_mass, - opts: spring, - settled: true, - dt: (now - last_time) * 60 / 1000 - }; - const next_value = tick_spring(ctx, last_value, value, target_value); - last_time = now; - last_value = value; - store.set(value = next_value); - if (ctx.settled) { - task = null; - } - return !ctx.settled; - }); - } - return new Promise(fulfil => { - task.promise.then(() => { - if (token === current_token) - fulfil(); - }); - }); - } - const spring = { - set, - update: (fn, opts) => set(fn(target_value, value), opts), - subscribe: store.subscribe, - stiffness, - damping, - precision - }; - return spring; -} - -function get_interpolator(a, b) { - if (a === b || a !== a) - return () => a; - const type = typeof a; - if (type !== typeof b || Array.isArray(a) !== Array.isArray(b)) { - throw new Error('Cannot interpolate values of different type'); - } - if (Array.isArray(a)) { - const arr = b.map((bi, i) => { - return get_interpolator(a[i], bi); - }); - return t => arr.map(fn => fn(t)); - } - if (type === 'object') { - if (!a || !b) - throw new Error('Object cannot be null'); - if (is_date(a) && is_date(b)) { - a = a.getTime(); - b = b.getTime(); - const delta = b - a; - return t => new Date(a + t * delta); - } - const keys = Object.keys(b); - const interpolators = {}; - keys.forEach(key => { - interpolators[key] = get_interpolator(a[key], b[key]); - }); - return t => { - const result = {}; - keys.forEach(key => { - result[key] = interpolators[key](t); - }); - return result; - }; - } - if (type === 'number') { - const delta = b - a; - return t => a + t * delta; - } - throw new Error(`Cannot interpolate ${type} values`); -} -function tweened(value, defaults = {}) { - const store = writable(value); - let task; - let target_value = value; - function set(new_value, opts) { - if (value == null) { - store.set(value = new_value); - return Promise.resolve(); - } - target_value = new_value; - let previous_task = task; - let started = false; - let { delay = 0, duration = 400, easing = linear, interpolate = get_interpolator } = assign(assign({}, defaults), opts); - if (duration === 0) { - if (previous_task) { - previous_task.abort(); - previous_task = null; - } - store.set(value = target_value); - return Promise.resolve(); - } - const start = now() + delay; - let fn; - task = loop(now => { - if (now < start) - return true; - if (!started) { - fn = interpolate(value, new_value); - if (typeof duration === 'function') - duration = duration(value, new_value); - started = true; - } - if (previous_task) { - previous_task.abort(); - previous_task = null; - } - const elapsed = now - start; - if (elapsed > duration) { - store.set(value = new_value); - return false; - } - // @ts-ignore - store.set(value = fn(easing(elapsed / duration))); - return true; - }); - return task.promise; - } - return { - set, - update: (fn, opts) => set(fn(target_value, value), opts), - subscribe: store.subscribe - }; -} - -export { spring, tweened }; diff --git a/packages/frontend-core/node_modules/svelte/motion/package.json b/packages/frontend-core/node_modules/svelte/motion/package.json deleted file mode 100644 index 598aeeaf51..0000000000 --- a/packages/frontend-core/node_modules/svelte/motion/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "main": "./index", - "module": "./index.mjs", - "types": "./index.d.ts" -} \ No newline at end of file diff --git a/packages/frontend-core/node_modules/svelte/package.json b/packages/frontend-core/node_modules/svelte/package.json deleted file mode 100644 index dfba5a0a3f..0000000000 --- a/packages/frontend-core/node_modules/svelte/package.json +++ /dev/null @@ -1,166 +0,0 @@ -{ - "name": "svelte", - "version": "3.46.2", - "description": "Cybernetically enhanced web apps", - "module": "index.mjs", - "main": "index", - "files": [ - "types", - "compiler.*", - "register.js", - "index.*", - "ssr.*", - "internal", - "store", - "animate", - "transition", - "easing", - "motion", - "svelte", - "README.md" - ], - "exports": { - "./package.json": "./package.json", - ".": { - "types": "./types/runtime/index.d.ts", - "browser": { - "import": "./index.mjs", - "require": "./index.js" - }, - "node": { - "import": "./ssr.mjs", - "require": "./ssr.js" - }, - "import": "./index.mjs", - "require": "./index.js" - }, - "./compiler": { - "types": "./types/compiler/index.d.ts", - "import": "./compiler.mjs", - "require": "./compiler.js" - }, - "./animate": { - "types": "./types/runtime/animate/index.d.ts", - "import": "./animate/index.mjs", - "require": "./animate/index.js" - }, - "./easing": { - "types": "./types/runtime/easing/index.d.ts", - "import": "./easing/index.mjs", - "require": "./easing/index.js" - }, - "./internal": { - "types": "./types/runtime/internal/index.d.ts", - "import": "./internal/index.mjs", - "require": "./internal/index.js" - }, - "./motion": { - "types": "./types/runtime/motion/index.d.ts", - "import": "./motion/index.mjs", - "require": "./motion/index.js" - }, - "./register": { - "require": "./register.js" - }, - "./store": { - "types": "./types/runtime/store/index.d.ts", - "import": "./store/index.mjs", - "require": "./store/index.js" - }, - "./transition": { - "types": "./types/runtime/transition/index.d.ts", - "import": "./transition/index.mjs", - "require": "./transition/index.js" - }, - "./ssr": { - "types": "./types/runtime/index.d.ts", - "import": "./ssr.mjs", - "require": "./ssr.js" - } - }, - "engines": { - "node": ">= 8" - }, - "types": "types/runtime/index.d.ts", - "scripts": { - "test": "mocha --exit", - "test:unit": "mocha --require sucrase/register --recursive src/**/__test__.ts --exit", - "quicktest": "mocha", - "precoverage": "c8 mocha", - "coverage": "c8 report --reporter=text-lcov > coverage.lcov && c8 report --reporter=html", - "codecov": "codecov", - "precodecov": "npm run coverage", - "build": "rollup -c && npm run tsd", - "prepare": "npm run build", - "dev": "rollup -cw", - "pretest": "npm run build", - "posttest": "agadoo internal/index.mjs", - "prepublishOnly": "node check_publish_env.js && npm run lint && npm test", - "tsd": "tsc -p src/compiler --emitDeclarationOnly && tsc -p src/runtime --emitDeclarationOnly", - "lint": "eslint \"{src,test}/**/*.{ts,js}\"" - }, - "repository": { - "type": "git", - "url": "https://github.com/sveltejs/svelte.git" - }, - "keywords": [ - "UI", - "framework", - "templates", - "templating" - ], - "author": "Rich Harris", - "license": "MIT", - "bugs": { - "url": "https://github.com/sveltejs/svelte/issues" - }, - "homepage": "https://github.com/sveltejs/svelte#README", - "devDependencies": { - "@ampproject/remapping": "^0.3.0", - "@rollup/plugin-commonjs": "^11.0.0", - "@rollup/plugin-json": "^4.0.1", - "@rollup/plugin-node-resolve": "^6.0.0", - "@rollup/plugin-replace": "^2.3.0", - "@rollup/plugin-sucrase": "^3.1.0", - "@rollup/plugin-typescript": "^2.0.1", - "@rollup/plugin-virtual": "^2.0.0", - "@sveltejs/eslint-config": "github:sveltejs/eslint-config#v5.8.0", - "@types/mocha": "^7.0.0", - "@types/node": "^8.10.53", - "@typescript-eslint/eslint-plugin": "^4.31.2", - "@typescript-eslint/parser": "^4.31.2", - "acorn": "^8.4.1", - "agadoo": "^1.1.0", - "c8": "^5.0.1", - "code-red": "^0.2.4", - "codecov": "^3.5.0", - "css-tree": "^1.1.2", - "eslint": "^7.32.0", - "eslint-plugin-import": "^2.24.2", - "eslint-plugin-svelte3": "^3.2.1", - "estree-walker": "^3.0.0", - "is-reference": "^3.0.0", - "jsdom": "^15.2.1", - "kleur": "^3.0.3", - "locate-character": "^2.0.5", - "magic-string": "^0.25.3", - "mocha": "^7.0.0", - "periscopic": "^3.0.4", - "puppeteer": "^2.0.0", - "rollup": "^1.27.14", - "source-map": "^0.7.3", - "source-map-support": "^0.5.13", - "sourcemap-codec": "^1.4.8", - "tiny-glob": "^0.2.6", - "tslib": "^2.0.3", - "typescript": "^3.7.5" - }, - "nyc": { - "include": [ - "compiler/svelte.js", - "shared.js" - ], - "sourceMap": true, - "instrument": true - } -} diff --git a/packages/frontend-core/node_modules/svelte/register.js b/packages/frontend-core/node_modules/svelte/register.js deleted file mode 100644 index 25f8aa4309..0000000000 --- a/packages/frontend-core/node_modules/svelte/register.js +++ /dev/null @@ -1,56 +0,0 @@ -const fs = require('fs'); -const path = require('path'); -const { compile } = require('./compiler.js'); - -const extensions = ['.svelte', '.html']; -let compileOptions = {}; - -function capitalise(name) { - return name[0].toUpperCase() + name.slice(1); -} - -function register(options = {}) { - if (options.extensions) { - extensions.forEach(deregisterExtension); - options.extensions.forEach(registerExtension); - } - - compileOptions = Object.assign({}, options); - delete compileOptions.extensions; -} - -function deregisterExtension(extension) { - delete require.extensions[extension]; -} - -function registerExtension(extension) { - require.extensions[extension] = function(module, filename) { - const name = path.parse(filename).name - .replace(/^\d/, '_$&') - .replace(/[^a-zA-Z0-9_$]/g, ''); - - const options = Object.assign({}, compileOptions, { - filename, - name: capitalise(name), - generate: 'ssr', - format: 'cjs' - }); - - const { js, warnings } = compile(fs.readFileSync(filename, 'utf-8'), options); - - if (options.dev) { - warnings.forEach(warning => { - console.warn(`\nSvelte Warning in ${warning.filename}:`); - console.warn(warning.message); - console.warn(warning.frame); - }) - } - - return module._compile(js.code, filename); - }; -} - -registerExtension('.svelte'); -registerExtension('.html'); - -module.exports = register; diff --git a/packages/frontend-core/node_modules/svelte/ssr.js b/packages/frontend-core/node_modules/svelte/ssr.js deleted file mode 100644 index a8f9bfc36e..0000000000 --- a/packages/frontend-core/node_modules/svelte/ssr.js +++ /dev/null @@ -1,67 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, '__esModule', { value: true }); - -var internal = require('./internal/index.js'); - -function onMount() { } -function beforeUpdate() { } -function afterUpdate() { } - -Object.defineProperty(exports, 'SvelteComponent', { - enumerable: true, - get: function () { - return internal.SvelteComponentDev; - } -}); -Object.defineProperty(exports, 'SvelteComponentTyped', { - enumerable: true, - get: function () { - return internal.SvelteComponentTyped; - } -}); -Object.defineProperty(exports, 'createEventDispatcher', { - enumerable: true, - get: function () { - return internal.createEventDispatcher; - } -}); -Object.defineProperty(exports, 'getAllContexts', { - enumerable: true, - get: function () { - return internal.getAllContexts; - } -}); -Object.defineProperty(exports, 'getContext', { - enumerable: true, - get: function () { - return internal.getContext; - } -}); -Object.defineProperty(exports, 'hasContext', { - enumerable: true, - get: function () { - return internal.hasContext; - } -}); -Object.defineProperty(exports, 'onDestroy', { - enumerable: true, - get: function () { - return internal.onDestroy; - } -}); -Object.defineProperty(exports, 'setContext', { - enumerable: true, - get: function () { - return internal.setContext; - } -}); -Object.defineProperty(exports, 'tick', { - enumerable: true, - get: function () { - return internal.tick; - } -}); -exports.afterUpdate = afterUpdate; -exports.beforeUpdate = beforeUpdate; -exports.onMount = onMount; diff --git a/packages/frontend-core/node_modules/svelte/ssr.mjs b/packages/frontend-core/node_modules/svelte/ssr.mjs deleted file mode 100644 index b072a07816..0000000000 --- a/packages/frontend-core/node_modules/svelte/ssr.mjs +++ /dev/null @@ -1,7 +0,0 @@ -export { SvelteComponentDev as SvelteComponent, SvelteComponentTyped, createEventDispatcher, getAllContexts, getContext, hasContext, onDestroy, setContext, tick } from './internal/index.mjs'; - -function onMount() { } -function beforeUpdate() { } -function afterUpdate() { } - -export { afterUpdate, beforeUpdate, onMount }; diff --git a/packages/frontend-core/node_modules/svelte/store/index.d.ts b/packages/frontend-core/node_modules/svelte/store/index.d.ts deleted file mode 100644 index fd7820553b..0000000000 --- a/packages/frontend-core/node_modules/svelte/store/index.d.ts +++ /dev/null @@ -1 +0,0 @@ -export * from '../types/runtime/store/index'; \ No newline at end of file diff --git a/packages/frontend-core/node_modules/svelte/store/index.js b/packages/frontend-core/node_modules/svelte/store/index.js deleted file mode 100644 index bce780ef0f..0000000000 --- a/packages/frontend-core/node_modules/svelte/store/index.js +++ /dev/null @@ -1,114 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, '__esModule', { value: true }); - -var internal = require('../internal/index.js'); - -const subscriber_queue = []; -/** - * Creates a `Readable` store that allows reading by subscription. - * @param value initial value - * @param {StartStopNotifier}start start and stop notifications for subscriptions - */ -function readable(value, start) { - return { - subscribe: writable(value, start).subscribe - }; -} -/** - * Create a `Writable` store that allows both updating and reading by subscription. - * @param {*=}value initial value - * @param {StartStopNotifier=}start start and stop notifications for subscriptions - */ -function writable(value, start = internal.noop) { - let stop; - const subscribers = new Set(); - function set(new_value) { - if (internal.safe_not_equal(value, new_value)) { - value = new_value; - if (stop) { // store is ready - const run_queue = !subscriber_queue.length; - for (const subscriber of subscribers) { - subscriber[1](); - subscriber_queue.push(subscriber, value); - } - if (run_queue) { - for (let i = 0; i < subscriber_queue.length; i += 2) { - subscriber_queue[i][0](subscriber_queue[i + 1]); - } - subscriber_queue.length = 0; - } - } - } - } - function update(fn) { - set(fn(value)); - } - function subscribe(run, invalidate = internal.noop) { - const subscriber = [run, invalidate]; - subscribers.add(subscriber); - if (subscribers.size === 1) { - stop = start(set) || internal.noop; - } - run(value); - return () => { - subscribers.delete(subscriber); - if (subscribers.size === 0) { - stop(); - stop = null; - } - }; - } - return { set, update, subscribe }; -} -function derived(stores, fn, initial_value) { - const single = !Array.isArray(stores); - const stores_array = single - ? [stores] - : stores; - const auto = fn.length < 2; - return readable(initial_value, (set) => { - let inited = false; - const values = []; - let pending = 0; - let cleanup = internal.noop; - const sync = () => { - if (pending) { - return; - } - cleanup(); - const result = fn(single ? values[0] : values, set); - if (auto) { - set(result); - } - else { - cleanup = internal.is_function(result) ? result : internal.noop; - } - }; - const unsubscribers = stores_array.map((store, i) => internal.subscribe(store, (value) => { - values[i] = value; - pending &= ~(1 << i); - if (inited) { - sync(); - } - }, () => { - pending |= (1 << i); - })); - inited = true; - sync(); - return function stop() { - internal.run_all(unsubscribers); - cleanup(); - }; - }); -} - -Object.defineProperty(exports, 'get', { - enumerable: true, - get: function () { - return internal.get_store_value; - } -}); -exports.derived = derived; -exports.readable = readable; -exports.writable = writable; diff --git a/packages/frontend-core/node_modules/svelte/store/index.mjs b/packages/frontend-core/node_modules/svelte/store/index.mjs deleted file mode 100644 index 0b4a7b414b..0000000000 --- a/packages/frontend-core/node_modules/svelte/store/index.mjs +++ /dev/null @@ -1,103 +0,0 @@ -import { noop, safe_not_equal, subscribe, run_all, is_function } from '../internal/index.mjs'; -export { get_store_value as get } from '../internal/index.mjs'; - -const subscriber_queue = []; -/** - * Creates a `Readable` store that allows reading by subscription. - * @param value initial value - * @param {StartStopNotifier}start start and stop notifications for subscriptions - */ -function readable(value, start) { - return { - subscribe: writable(value, start).subscribe - }; -} -/** - * Create a `Writable` store that allows both updating and reading by subscription. - * @param {*=}value initial value - * @param {StartStopNotifier=}start start and stop notifications for subscriptions - */ -function writable(value, start = noop) { - let stop; - const subscribers = new Set(); - function set(new_value) { - if (safe_not_equal(value, new_value)) { - value = new_value; - if (stop) { // store is ready - const run_queue = !subscriber_queue.length; - for (const subscriber of subscribers) { - subscriber[1](); - subscriber_queue.push(subscriber, value); - } - if (run_queue) { - for (let i = 0; i < subscriber_queue.length; i += 2) { - subscriber_queue[i][0](subscriber_queue[i + 1]); - } - subscriber_queue.length = 0; - } - } - } - } - function update(fn) { - set(fn(value)); - } - function subscribe(run, invalidate = noop) { - const subscriber = [run, invalidate]; - subscribers.add(subscriber); - if (subscribers.size === 1) { - stop = start(set) || noop; - } - run(value); - return () => { - subscribers.delete(subscriber); - if (subscribers.size === 0) { - stop(); - stop = null; - } - }; - } - return { set, update, subscribe }; -} -function derived(stores, fn, initial_value) { - const single = !Array.isArray(stores); - const stores_array = single - ? [stores] - : stores; - const auto = fn.length < 2; - return readable(initial_value, (set) => { - let inited = false; - const values = []; - let pending = 0; - let cleanup = noop; - const sync = () => { - if (pending) { - return; - } - cleanup(); - const result = fn(single ? values[0] : values, set); - if (auto) { - set(result); - } - else { - cleanup = is_function(result) ? result : noop; - } - }; - const unsubscribers = stores_array.map((store, i) => subscribe(store, (value) => { - values[i] = value; - pending &= ~(1 << i); - if (inited) { - sync(); - } - }, () => { - pending |= (1 << i); - })); - inited = true; - sync(); - return function stop() { - run_all(unsubscribers); - cleanup(); - }; - }); -} - -export { derived, readable, writable }; diff --git a/packages/frontend-core/node_modules/svelte/store/package.json b/packages/frontend-core/node_modules/svelte/store/package.json deleted file mode 100644 index 598aeeaf51..0000000000 --- a/packages/frontend-core/node_modules/svelte/store/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "main": "./index", - "module": "./index.mjs", - "types": "./index.d.ts" -} \ No newline at end of file diff --git a/packages/frontend-core/node_modules/svelte/transition/index.d.ts b/packages/frontend-core/node_modules/svelte/transition/index.d.ts deleted file mode 100644 index 096460ee47..0000000000 --- a/packages/frontend-core/node_modules/svelte/transition/index.d.ts +++ /dev/null @@ -1 +0,0 @@ -export * from '../types/runtime/transition/index'; \ No newline at end of file diff --git a/packages/frontend-core/node_modules/svelte/transition/index.js b/packages/frontend-core/node_modules/svelte/transition/index.js deleted file mode 100644 index ce54b6e29b..0000000000 --- a/packages/frontend-core/node_modules/svelte/transition/index.js +++ /dev/null @@ -1,192 +0,0 @@ -'use strict'; - -Object.defineProperty(exports, '__esModule', { value: true }); - -var easing = require('../easing/index.js'); -var internal = require('../internal/index.js'); - -/*! ***************************************************************************** -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */ - -function __rest(s, e) { - var t = {}; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) - t[p] = s[p]; - if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { - if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) - t[p[i]] = s[p[i]]; - } - return t; -} - -function blur(node, { delay = 0, duration = 400, easing: easing$1 = easing.cubicInOut, amount = 5, opacity = 0 } = {}) { - const style = getComputedStyle(node); - const target_opacity = +style.opacity; - const f = style.filter === 'none' ? '' : style.filter; - const od = target_opacity * (1 - opacity); - return { - delay, - duration, - easing: easing$1, - css: (_t, u) => `opacity: ${target_opacity - (od * u)}; filter: ${f} blur(${u * amount}px);` - }; -} -function fade(node, { delay = 0, duration = 400, easing: easing$1 = easing.linear } = {}) { - const o = +getComputedStyle(node).opacity; - return { - delay, - duration, - easing: easing$1, - css: t => `opacity: ${t * o}` - }; -} -function fly(node, { delay = 0, duration = 400, easing: easing$1 = easing.cubicOut, x = 0, y = 0, opacity = 0 } = {}) { - const style = getComputedStyle(node); - const target_opacity = +style.opacity; - const transform = style.transform === 'none' ? '' : style.transform; - const od = target_opacity * (1 - opacity); - return { - delay, - duration, - easing: easing$1, - css: (t, u) => ` - transform: ${transform} translate(${(1 - t) * x}px, ${(1 - t) * y}px); - opacity: ${target_opacity - (od * u)}` - }; -} -function slide(node, { delay = 0, duration = 400, easing: easing$1 = easing.cubicOut } = {}) { - const style = getComputedStyle(node); - const opacity = +style.opacity; - const height = parseFloat(style.height); - const padding_top = parseFloat(style.paddingTop); - const padding_bottom = parseFloat(style.paddingBottom); - const margin_top = parseFloat(style.marginTop); - const margin_bottom = parseFloat(style.marginBottom); - const border_top_width = parseFloat(style.borderTopWidth); - const border_bottom_width = parseFloat(style.borderBottomWidth); - return { - delay, - duration, - easing: easing$1, - css: t => 'overflow: hidden;' + - `opacity: ${Math.min(t * 20, 1) * opacity};` + - `height: ${t * height}px;` + - `padding-top: ${t * padding_top}px;` + - `padding-bottom: ${t * padding_bottom}px;` + - `margin-top: ${t * margin_top}px;` + - `margin-bottom: ${t * margin_bottom}px;` + - `border-top-width: ${t * border_top_width}px;` + - `border-bottom-width: ${t * border_bottom_width}px;` - }; -} -function scale(node, { delay = 0, duration = 400, easing: easing$1 = easing.cubicOut, start = 0, opacity = 0 } = {}) { - const style = getComputedStyle(node); - const target_opacity = +style.opacity; - const transform = style.transform === 'none' ? '' : style.transform; - const sd = 1 - start; - const od = target_opacity * (1 - opacity); - return { - delay, - duration, - easing: easing$1, - css: (_t, u) => ` - transform: ${transform} scale(${1 - (sd * u)}); - opacity: ${target_opacity - (od * u)} - ` - }; -} -function draw(node, { delay = 0, speed, duration, easing: easing$1 = easing.cubicInOut } = {}) { - let len = node.getTotalLength(); - const style = getComputedStyle(node); - if (style.strokeLinecap !== 'butt') { - len += parseInt(style.strokeWidth); - } - if (duration === undefined) { - if (speed === undefined) { - duration = 800; - } - else { - duration = len / speed; - } - } - else if (typeof duration === 'function') { - duration = duration(len); - } - return { - delay, - duration, - easing: easing$1, - css: (t, u) => `stroke-dasharray: ${t * len} ${u * len}` - }; -} -function crossfade(_a) { - var { fallback } = _a, defaults = __rest(_a, ["fallback"]); - const to_receive = new Map(); - const to_send = new Map(); - function crossfade(from, node, params) { - const { delay = 0, duration = d => Math.sqrt(d) * 30, easing: easing$1 = easing.cubicOut } = internal.assign(internal.assign({}, defaults), params); - const to = node.getBoundingClientRect(); - const dx = from.left - to.left; - const dy = from.top - to.top; - const dw = from.width / to.width; - const dh = from.height / to.height; - const d = Math.sqrt(dx * dx + dy * dy); - const style = getComputedStyle(node); - const transform = style.transform === 'none' ? '' : style.transform; - const opacity = +style.opacity; - return { - delay, - duration: internal.is_function(duration) ? duration(d) : duration, - easing: easing$1, - css: (t, u) => ` - opacity: ${t * opacity}; - transform-origin: top left; - transform: ${transform} translate(${u * dx}px,${u * dy}px) scale(${t + (1 - t) * dw}, ${t + (1 - t) * dh}); - ` - }; - } - function transition(items, counterparts, intro) { - return (node, params) => { - items.set(params.key, { - rect: node.getBoundingClientRect() - }); - return () => { - if (counterparts.has(params.key)) { - const { rect } = counterparts.get(params.key); - counterparts.delete(params.key); - return crossfade(rect, node, params); - } - // if the node is disappearing altogether - // (i.e. wasn't claimed by the other list) - // then we need to supply an outro - items.delete(params.key); - return fallback && fallback(node, params, intro); - }; - }; - } - return [ - transition(to_send, to_receive, false), - transition(to_receive, to_send, true) - ]; -} - -exports.blur = blur; -exports.crossfade = crossfade; -exports.draw = draw; -exports.fade = fade; -exports.fly = fly; -exports.scale = scale; -exports.slide = slide; diff --git a/packages/frontend-core/node_modules/svelte/transition/index.mjs b/packages/frontend-core/node_modules/svelte/transition/index.mjs deleted file mode 100644 index ebc6eb958b..0000000000 --- a/packages/frontend-core/node_modules/svelte/transition/index.mjs +++ /dev/null @@ -1,182 +0,0 @@ -import { cubicInOut, linear, cubicOut } from '../easing/index.mjs'; -import { is_function, assign } from '../internal/index.mjs'; - -/*! ***************************************************************************** -Copyright (c) Microsoft Corporation. - -Permission to use, copy, modify, and/or distribute this software for any -purpose with or without fee is hereby granted. - -THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH -REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY -AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, -INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM -LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR -OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR -PERFORMANCE OF THIS SOFTWARE. -***************************************************************************** */ - -function __rest(s, e) { - var t = {}; - for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) - t[p] = s[p]; - if (s != null && typeof Object.getOwnPropertySymbols === "function") - for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) { - if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) - t[p[i]] = s[p[i]]; - } - return t; -} - -function blur(node, { delay = 0, duration = 400, easing = cubicInOut, amount = 5, opacity = 0 } = {}) { - const style = getComputedStyle(node); - const target_opacity = +style.opacity; - const f = style.filter === 'none' ? '' : style.filter; - const od = target_opacity * (1 - opacity); - return { - delay, - duration, - easing, - css: (_t, u) => `opacity: ${target_opacity - (od * u)}; filter: ${f} blur(${u * amount}px);` - }; -} -function fade(node, { delay = 0, duration = 400, easing = linear } = {}) { - const o = +getComputedStyle(node).opacity; - return { - delay, - duration, - easing, - css: t => `opacity: ${t * o}` - }; -} -function fly(node, { delay = 0, duration = 400, easing = cubicOut, x = 0, y = 0, opacity = 0 } = {}) { - const style = getComputedStyle(node); - const target_opacity = +style.opacity; - const transform = style.transform === 'none' ? '' : style.transform; - const od = target_opacity * (1 - opacity); - return { - delay, - duration, - easing, - css: (t, u) => ` - transform: ${transform} translate(${(1 - t) * x}px, ${(1 - t) * y}px); - opacity: ${target_opacity - (od * u)}` - }; -} -function slide(node, { delay = 0, duration = 400, easing = cubicOut } = {}) { - const style = getComputedStyle(node); - const opacity = +style.opacity; - const height = parseFloat(style.height); - const padding_top = parseFloat(style.paddingTop); - const padding_bottom = parseFloat(style.paddingBottom); - const margin_top = parseFloat(style.marginTop); - const margin_bottom = parseFloat(style.marginBottom); - const border_top_width = parseFloat(style.borderTopWidth); - const border_bottom_width = parseFloat(style.borderBottomWidth); - return { - delay, - duration, - easing, - css: t => 'overflow: hidden;' + - `opacity: ${Math.min(t * 20, 1) * opacity};` + - `height: ${t * height}px;` + - `padding-top: ${t * padding_top}px;` + - `padding-bottom: ${t * padding_bottom}px;` + - `margin-top: ${t * margin_top}px;` + - `margin-bottom: ${t * margin_bottom}px;` + - `border-top-width: ${t * border_top_width}px;` + - `border-bottom-width: ${t * border_bottom_width}px;` - }; -} -function scale(node, { delay = 0, duration = 400, easing = cubicOut, start = 0, opacity = 0 } = {}) { - const style = getComputedStyle(node); - const target_opacity = +style.opacity; - const transform = style.transform === 'none' ? '' : style.transform; - const sd = 1 - start; - const od = target_opacity * (1 - opacity); - return { - delay, - duration, - easing, - css: (_t, u) => ` - transform: ${transform} scale(${1 - (sd * u)}); - opacity: ${target_opacity - (od * u)} - ` - }; -} -function draw(node, { delay = 0, speed, duration, easing = cubicInOut } = {}) { - let len = node.getTotalLength(); - const style = getComputedStyle(node); - if (style.strokeLinecap !== 'butt') { - len += parseInt(style.strokeWidth); - } - if (duration === undefined) { - if (speed === undefined) { - duration = 800; - } - else { - duration = len / speed; - } - } - else if (typeof duration === 'function') { - duration = duration(len); - } - return { - delay, - duration, - easing, - css: (t, u) => `stroke-dasharray: ${t * len} ${u * len}` - }; -} -function crossfade(_a) { - var { fallback } = _a, defaults = __rest(_a, ["fallback"]); - const to_receive = new Map(); - const to_send = new Map(); - function crossfade(from, node, params) { - const { delay = 0, duration = d => Math.sqrt(d) * 30, easing = cubicOut } = assign(assign({}, defaults), params); - const to = node.getBoundingClientRect(); - const dx = from.left - to.left; - const dy = from.top - to.top; - const dw = from.width / to.width; - const dh = from.height / to.height; - const d = Math.sqrt(dx * dx + dy * dy); - const style = getComputedStyle(node); - const transform = style.transform === 'none' ? '' : style.transform; - const opacity = +style.opacity; - return { - delay, - duration: is_function(duration) ? duration(d) : duration, - easing, - css: (t, u) => ` - opacity: ${t * opacity}; - transform-origin: top left; - transform: ${transform} translate(${u * dx}px,${u * dy}px) scale(${t + (1 - t) * dw}, ${t + (1 - t) * dh}); - ` - }; - } - function transition(items, counterparts, intro) { - return (node, params) => { - items.set(params.key, { - rect: node.getBoundingClientRect() - }); - return () => { - if (counterparts.has(params.key)) { - const { rect } = counterparts.get(params.key); - counterparts.delete(params.key); - return crossfade(rect, node, params); - } - // if the node is disappearing altogether - // (i.e. wasn't claimed by the other list) - // then we need to supply an outro - items.delete(params.key); - return fallback && fallback(node, params, intro); - }; - }; - } - return [ - transition(to_send, to_receive, false), - transition(to_receive, to_send, true) - ]; -} - -export { blur, crossfade, draw, fade, fly, scale, slide }; diff --git a/packages/frontend-core/node_modules/svelte/transition/package.json b/packages/frontend-core/node_modules/svelte/transition/package.json deleted file mode 100644 index 598aeeaf51..0000000000 --- a/packages/frontend-core/node_modules/svelte/transition/package.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "main": "./index", - "module": "./index.mjs", - "types": "./index.d.ts" -} \ No newline at end of file diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/Stats.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/Stats.d.ts deleted file mode 100644 index 0e01e61f98..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/Stats.d.ts +++ /dev/null @@ -1,22 +0,0 @@ -interface Timing { - label: string; - start: number; - end: number; - children: Timing[]; -} -export default class Stats { - start_time: number; - current_timing: Timing; - current_children: Timing[]; - timings: Timing[]; - stack: Timing[]; - constructor(); - start(label: any): void; - stop(label: any): void; - render(): { - timings: { - total: number; - }; - }; -} -export {}; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/Component.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/Component.d.ts deleted file mode 100644 index 8ed8da940d..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/Component.d.ts +++ /dev/null @@ -1,124 +0,0 @@ -import Stats from '../Stats'; -import { Scope } from './utils/scope'; -import Stylesheet from './css/Stylesheet'; -import Fragment from './nodes/Fragment'; -import { Ast, CompileOptions, Var, Warning, CssResult } from '../interfaces'; -import TemplateScope from './nodes/shared/TemplateScope'; -import Slot from './nodes/Slot'; -import { Node, ImportDeclaration, ExportNamedDeclaration, Identifier, FunctionDeclaration } from 'estree'; -import Element from './nodes/Element'; -interface ComponentOptions { - namespace?: string; - tag?: string; - immutable?: boolean; - accessors?: boolean; - preserveWhitespace?: boolean; -} -export default class Component { - stats: Stats; - warnings: Warning[]; - ignores: Set; - ignore_stack: Array>; - ast: Ast; - original_ast: Ast; - source: string; - name: Identifier; - compile_options: CompileOptions; - fragment: Fragment; - module_scope: Scope; - instance_scope: Scope; - instance_scope_map: WeakMap; - component_options: ComponentOptions; - namespace: string; - tag: string; - accessors: boolean; - vars: Var[]; - var_lookup: Map; - imports: ImportDeclaration[]; - exports_from: ExportNamedDeclaration[]; - instance_exports_from: ExportNamedDeclaration[]; - hoistable_nodes: Set; - node_for_declaration: Map; - partly_hoisted: Array<(Node | Node[])>; - fully_hoisted: Array<(Node | Node[])>; - reactive_declarations: Array<{ - assignees: Set; - dependencies: Set; - node: Node; - declaration: Node; - }>; - reactive_declaration_nodes: Set; - has_reactive_assignments: boolean; - injected_reactive_declaration_vars: Set; - helpers: Map; - globals: Map; - indirect_dependencies: Map>; - file: string; - locate: (c: number) => { - line: number; - column: number; - }; - elements: Element[]; - stylesheet: Stylesheet; - aliases: Map; - used_names: Set; - globally_used_names: Set; - slots: Map; - slot_outlets: Set; - constructor(ast: Ast, source: string, name: string, compile_options: CompileOptions, stats: Stats, warnings: Warning[]); - add_var(variable: Var, add_to_lookup?: boolean): void; - add_reference(name: string): void; - alias(name: string): Identifier; - apply_stylesheet(element: Element): void; - global(name: string): Identifier; - generate(result?: { - js: Node[]; - css: CssResult; - }): { - js: any; - css: any; - ast: Ast; - warnings: Warning[]; - vars: Var[]; - stats: { - timings: { - total: number; - }; - }; - }; - get_unique_name(name: string, scope?: Scope): Identifier; - get_unique_name_maker(): (name: string) => Identifier; - get_vars_report(): Var[]; - error(pos: { - start: number; - end: number; - }, e: { - code: string; - message: string; - }): void; - warn(pos: { - start: number; - end: number; - }, warning: { - code: string; - message: string; - }): void; - extract_imports(node: any): void; - extract_exports(node: any, module_script?: boolean): void | FunctionDeclaration | import("estree").VariableDeclaration | import("estree").ClassDeclaration; - private _extract_exports; - extract_javascript(script: any): any; - walk_module_js(): void; - walk_instance_js_pre_template(): void; - walk_instance_js_post_template(): void; - post_template_walk(): void; - track_references_and_mutations(): void; - warn_on_undefined_store_value_references(node: Node, parent: Node, prop: string, scope: Scope): void; - loop_protect(node: any, scope: Scope, timeout: number): Node | null; - rewrite_props(get_insert: (variable: Var) => Node[]): void; - hoist_instance_declarations(): void; - extract_reactive_declarations(): void; - warn_if_undefined(name: string, node: any, template_scope: TemplateScope): void; - push_ignores(ignores: any): void; - pop_ignores(): void; -} -export {}; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/compiler_errors.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/compiler_errors.d.ts deleted file mode 100644 index cb0ff5c3b5..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/compiler_errors.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/compiler_warnings.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/compiler_warnings.d.ts deleted file mode 100644 index cb0ff5c3b5..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/compiler_warnings.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/create_module.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/create_module.d.ts deleted file mode 100644 index 05654ec6bb..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/create_module.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { ModuleFormat } from '../interfaces'; -import { Identifier, ImportDeclaration, ExportNamedDeclaration } from 'estree'; -interface Export { - name: string; - as: string; -} -export default function create_module(program: any, format: ModuleFormat, name: Identifier, banner: string, sveltePath: string, helpers: Array<{ - name: string; - alias: Identifier; -}>, globals: Array<{ - name: string; - alias: Identifier; -}>, imports: ImportDeclaration[], module_exports: Export[], exports_from: ExportNamedDeclaration[]): void; -export {}; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/css/Selector.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/css/Selector.d.ts deleted file mode 100644 index ee5339a9dc..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/css/Selector.d.ts +++ /dev/null @@ -1,32 +0,0 @@ -import MagicString from 'magic-string'; -import Stylesheet from './Stylesheet'; -import { CssNode } from './interfaces'; -import Component from '../Component'; -import Element from '../nodes/Element'; -export default class Selector { - node: CssNode; - stylesheet: Stylesheet; - blocks: Block[]; - local_blocks: Block[]; - used: boolean; - constructor(node: CssNode, stylesheet: Stylesheet); - apply(node: Element): void; - minify(code: MagicString): void; - transform(code: MagicString, attr: string, max_amount_class_specificity_increased: number): void; - validate(component: Component): void; - validate_global_with_multiple_selectors(component: Component): void; - get_amount_class_specificity_increased(): number; -} -declare class Block { - host: boolean; - root: boolean; - combinator: CssNode; - selectors: CssNode[]; - start: number; - end: number; - should_encapsulate: boolean; - constructor(combinator: CssNode); - add(selector: CssNode): void; - get global(): boolean; -} -export {}; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/css/Stylesheet.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/css/Stylesheet.d.ts deleted file mode 100644 index 5f80d2a27f..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/css/Stylesheet.d.ts +++ /dev/null @@ -1,67 +0,0 @@ -import MagicString from 'magic-string'; -import Selector from './Selector'; -import Element from '../nodes/Element'; -import { Ast, CssHashGetter } from '../../interfaces'; -import Component from '../Component'; -import { CssNode } from './interfaces'; -declare class Rule { - selectors: Selector[]; - declarations: Declaration[]; - node: CssNode; - parent: Atrule; - constructor(node: CssNode, stylesheet: any, parent?: Atrule); - apply(node: Element): void; - is_used(dev: boolean): boolean; - minify(code: MagicString, _dev: boolean): void; - transform(code: MagicString, id: string, keyframes: Map, max_amount_class_specificity_increased: number): boolean; - validate(component: Component): void; - warn_on_unused_selector(handler: (selector: Selector) => void): void; - get_max_amount_class_specificity_increased(): number; -} -declare class Declaration { - node: CssNode; - constructor(node: CssNode); - transform(code: MagicString, keyframes: Map): void; - minify(code: MagicString): void; -} -declare class Atrule { - node: CssNode; - children: Array; - declarations: Declaration[]; - constructor(node: CssNode); - apply(node: Element): void; - is_used(_dev: boolean): boolean; - minify(code: MagicString, dev: boolean): void; - transform(code: MagicString, id: string, keyframes: Map, max_amount_class_specificity_increased: number): void; - validate(component: Component): void; - warn_on_unused_selector(handler: (selector: Selector) => void): void; - get_max_amount_class_specificity_increased(): any; -} -export default class Stylesheet { - source: string; - ast: Ast; - filename: string; - dev: boolean; - has_styles: boolean; - id: string; - children: Array; - keyframes: Map; - nodes_with_css_class: Set; - constructor({ source, ast, component_name, filename, dev, get_css_hash }: { - source: string; - ast: Ast; - filename: string | undefined; - component_name: string | undefined; - dev: boolean; - get_css_hash: CssHashGetter; - }); - apply(node: Element): void; - reify(): void; - render(file: string, should_transform_selectors: boolean): { - code: string; - map: import("magic-string").SourceMap; - }; - validate(component: Component): void; - warn_on_unused_selectors(component: Component): void; -} -export {}; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/css/gather_possible_values.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/css/gather_possible_values.d.ts deleted file mode 100644 index ca26ba94b3..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/css/gather_possible_values.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { Node } from 'estree'; -export declare const UNKNOWN: {}; -export declare function gather_possible_values(node: Node, set: Set): void; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/css/interfaces.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/css/interfaces.d.ts deleted file mode 100644 index 6bbee64160..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/css/interfaces.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export interface CssNode { - type: string; - start: number; - end: number; - [prop_name: string]: any; -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/index.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/index.d.ts deleted file mode 100644 index d5764b0a64..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/index.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import { CompileOptions, Warning } from '../interfaces'; -export default function compile(source: string, options?: CompileOptions): { - js: any; - css: any; - ast: import("../interfaces").Ast; - warnings: Warning[]; - vars: import("../interfaces").Var[]; - stats: { - timings: { - total: number; - }; - }; -}; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/internal_exports.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/internal_exports.d.ts deleted file mode 100644 index 1829c318fb..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/internal_exports.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -declare const _default: Set; -export default _default; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Action.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Action.d.ts deleted file mode 100644 index cfbf7e7746..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Action.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import Node from './shared/Node'; -import Expression from './shared/Expression'; -import Component from '../Component'; -import TemplateScope from './shared/TemplateScope'; -import { Directive } from '../../interfaces'; -export default class Action extends Node { - type: 'Action'; - name: string; - expression: Expression; - uses_context: boolean; - template_scope: TemplateScope; - constructor(component: Component, parent: Node, scope: TemplateScope, info: Directive); -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Animation.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Animation.d.ts deleted file mode 100644 index 2bc43379ce..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Animation.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import Node from './shared/Node'; -import Expression from './shared/Expression'; -import Component from '../Component'; -import TemplateScope from './shared/TemplateScope'; -import { TemplateNode } from '../../interfaces'; -import Element from './Element'; -export default class Animation extends Node { - type: 'Animation'; - name: string; - expression: Expression; - constructor(component: Component, parent: Element, scope: TemplateScope, info: TemplateNode); -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Attribute.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Attribute.d.ts deleted file mode 100644 index ed53713307..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Attribute.d.ts +++ /dev/null @@ -1,30 +0,0 @@ -import Component from '../Component'; -import Node from './shared/Node'; -import Element from './Element'; -import Text from './Text'; -import Expression from './shared/Expression'; -import TemplateScope from './shared/TemplateScope'; -import { TemplateNode } from '../../interfaces'; -export default class Attribute extends Node { - type: 'Attribute' | 'Spread'; - start: number; - end: number; - scope: TemplateScope; - component: Component; - parent: Element; - name: string; - is_spread: boolean; - is_true: boolean; - is_static: boolean; - expression?: Expression; - chunks: Array; - dependencies: Set; - constructor(component: Component, parent: Node, scope: TemplateScope, info: TemplateNode); - get_dependencies(): string[]; - get_value(block: any): import("estree").Identifier | import("estree").SimpleLiteral | import("estree").RegExpLiteral | import("estree").BigIntLiteral | import("estree").Program | import("estree").FunctionDeclaration | import("estree").FunctionExpression | import("estree").ArrowFunctionExpression | import("estree").SwitchCase | import("estree").CatchClause | import("estree").VariableDeclarator | import("estree").ExpressionStatement | import("estree").BlockStatement | import("estree").EmptyStatement | import("estree").DebuggerStatement | import("estree").WithStatement | import("estree").ReturnStatement | import("estree").LabeledStatement | import("estree").BreakStatement | import("estree").ContinueStatement | import("estree").IfStatement | import("estree").SwitchStatement | import("estree").ThrowStatement | import("estree").TryStatement | import("estree").WhileStatement | import("estree").DoWhileStatement | import("estree").ForStatement | import("estree").ForInStatement | import("estree").ForOfStatement | import("estree").VariableDeclaration | import("estree").ClassDeclaration | import("estree").ThisExpression | import("estree").ArrayExpression | import("estree").ObjectExpression | import("estree").YieldExpression | import("estree").UnaryExpression | import("estree").UpdateExpression | import("estree").BinaryExpression | import("estree").AssignmentExpression | import("estree").LogicalExpression | import("estree").MemberExpression | import("estree").ConditionalExpression | import("estree").SimpleCallExpression | import("estree").NewExpression | import("estree").SequenceExpression | import("estree").TemplateLiteral | import("estree").TaggedTemplateExpression | import("estree").ClassExpression | import("estree").MetaProperty | import("estree").AwaitExpression | import("estree").ImportExpression | import("estree").ChainExpression | import("estree").PrivateIdentifier | import("estree").Property | import("estree").PropertyDefinition | import("estree").Super | import("estree").TemplateElement | import("estree").SpreadElement | import("estree").ObjectPattern | import("estree").ArrayPattern | import("estree").RestElement | import("estree").AssignmentPattern | import("estree").ClassBody | import("estree").MethodDefinition | import("estree").ImportDeclaration | import("estree").ExportNamedDeclaration | import("estree").ExportDefaultDeclaration | import("estree").ExportAllDeclaration | import("estree").ImportSpecifier | import("estree").ImportDefaultSpecifier | import("estree").ImportNamespaceSpecifier | import("estree").ExportSpecifier | { - type: string; - value: string; - }; - get_static_value(): string | true; - should_cache(): boolean; -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/AwaitBlock.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/AwaitBlock.d.ts deleted file mode 100644 index 0a5130787f..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/AwaitBlock.d.ts +++ /dev/null @@ -1,22 +0,0 @@ -import Node from './shared/Node'; -import PendingBlock from './PendingBlock'; -import ThenBlock from './ThenBlock'; -import CatchBlock from './CatchBlock'; -import Expression from './shared/Expression'; -import Component from '../Component'; -import TemplateScope from './shared/TemplateScope'; -import { TemplateNode } from '../../interfaces'; -import { Context } from './shared/Context'; -import { Node as ESTreeNode } from 'estree'; -export default class AwaitBlock extends Node { - type: 'AwaitBlock'; - expression: Expression; - then_contexts: Context[]; - catch_contexts: Context[]; - then_node: ESTreeNode | null; - catch_node: ESTreeNode | null; - pending: PendingBlock; - then: ThenBlock; - catch: CatchBlock; - constructor(component: Component, parent: Node, scope: TemplateScope, info: TemplateNode); -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Binding.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Binding.d.ts deleted file mode 100644 index 43769b2ac6..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Binding.d.ts +++ /dev/null @@ -1,19 +0,0 @@ -import Node from './shared/Node'; -import Expression from './shared/Expression'; -import Component from '../Component'; -import TemplateScope from './shared/TemplateScope'; -import { Node as ESTreeNode } from 'estree'; -import { TemplateNode } from '../../interfaces'; -import Element from './Element'; -import InlineComponent from './InlineComponent'; -import Window from './Window'; -export default class Binding extends Node { - type: 'Binding'; - name: string; - expression: Expression; - raw_expression: ESTreeNode; - is_contextual: boolean; - is_readonly: boolean; - constructor(component: Component, parent: Element | InlineComponent | Window, scope: TemplateScope, info: TemplateNode); - is_readonly_media_attribute(): boolean; -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Body.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Body.d.ts deleted file mode 100644 index f4e2420a2f..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Body.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import Node from './shared/Node'; -import EventHandler from './EventHandler'; -import Action from './Action'; -import Component from '../Component'; -import TemplateScope from './shared/TemplateScope'; -import { Element } from '../../interfaces'; -export default class Body extends Node { - type: 'Body'; - handlers: EventHandler[]; - actions: Action[]; - constructor(component: Component, parent: Node, scope: TemplateScope, info: Element); -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/CatchBlock.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/CatchBlock.d.ts deleted file mode 100644 index 1b0ce28e8a..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/CatchBlock.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import TemplateScope from './shared/TemplateScope'; -import AbstractBlock from './shared/AbstractBlock'; -import AwaitBlock from './AwaitBlock'; -import Component from '../Component'; -import { TemplateNode } from '../../interfaces'; -import ConstTag from './ConstTag'; -export default class CatchBlock extends AbstractBlock { - type: 'CatchBlock'; - scope: TemplateScope; - const_tags: ConstTag[]; - constructor(component: Component, parent: AwaitBlock, scope: TemplateScope, info: TemplateNode); -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Class.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Class.d.ts deleted file mode 100644 index d3365c7382..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Class.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import Node from './shared/Node'; -import Expression from './shared/Expression'; -import { TemplateNode } from '../../interfaces'; -import TemplateScope from './shared/TemplateScope'; -import Component from '../Component'; -export default class Class extends Node { - type: 'Class'; - name: string; - expression: Expression; - constructor(component: Component, parent: Node, scope: TemplateScope, info: TemplateNode); -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Comment.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Comment.d.ts deleted file mode 100644 index 6fb0cea278..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Comment.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import { TemplateNode } from '../../interfaces'; -import Component from '../Component'; -import Node from './shared/Node'; -import TemplateScope from './shared/TemplateScope'; -export default class Comment extends Node { - type: 'Comment'; - data: string; - ignores: string[]; - constructor(component: Component, parent: Node, scope: TemplateScope, info: TemplateNode); -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/ConstTag.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/ConstTag.d.ts deleted file mode 100644 index 1ecf2019c9..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/ConstTag.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import Node from './shared/Node'; -import Expression from './shared/Expression'; -import Component from '../Component'; -import TemplateScope from './shared/TemplateScope'; -import { Context } from './shared/Context'; -import { ConstTag as ConstTagType } from '../../interfaces'; -import { INodeAllowConstTag } from './interfaces'; -export default class ConstTag extends Node { - type: 'ConstTag'; - expression: Expression; - contexts: Context[]; - node: ConstTagType; - scope: TemplateScope; - assignees: Set; - dependencies: Set; - constructor(component: Component, parent: INodeAllowConstTag, scope: TemplateScope, info: ConstTagType); - parse_expression(): void; -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/DebugTag.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/DebugTag.d.ts deleted file mode 100644 index 2241e7ace2..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/DebugTag.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import Node from './shared/Node'; -import Expression from './shared/Expression'; -import Component from '../Component'; -import TemplateScope from './shared/TemplateScope'; -import { TemplateNode } from '../../interfaces'; -import { INode } from './interfaces'; -export default class DebugTag extends Node { - type: 'DebugTag'; - expressions: Expression[]; - constructor(component: Component, parent: INode, scope: TemplateScope, info: TemplateNode); -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/DefaultSlotTemplate.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/DefaultSlotTemplate.d.ts deleted file mode 100644 index 77729362b6..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/DefaultSlotTemplate.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import Component from '../Component'; -import TemplateScope from './shared/TemplateScope'; -import Node from './shared/Node'; -import Let from './Let'; -import { INode } from './interfaces'; -export default class DefaultSlotTemplate extends Node { - type: 'SlotTemplate'; - scope: TemplateScope; - children: INode[]; - lets: Let[]; - slot_template_name: string; - constructor(component: Component, parent: INode, scope: TemplateScope, info: any, lets: Let[], children: INode[]); -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/EachBlock.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/EachBlock.d.ts deleted file mode 100644 index 079db9c832..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/EachBlock.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import ElseBlock from './ElseBlock'; -import Expression from './shared/Expression'; -import TemplateScope from './shared/TemplateScope'; -import AbstractBlock from './shared/AbstractBlock'; -import ConstTag from './ConstTag'; -import { Context } from './shared/Context'; -import { Node } from 'estree'; -import Component from '../Component'; -import { TemplateNode } from '../../interfaces'; -export default class EachBlock extends AbstractBlock { - type: 'EachBlock'; - expression: Expression; - context_node: Node; - iterations: string; - index: string; - context: string; - key: Expression; - scope: TemplateScope; - contexts: Context[]; - const_tags: ConstTag[]; - has_animation: boolean; - has_binding: boolean; - has_index_binding: boolean; - else?: ElseBlock; - constructor(component: Component, parent: Node, scope: TemplateScope, info: TemplateNode); -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Element.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Element.d.ts deleted file mode 100644 index 318ab3b128..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Element.d.ts +++ /dev/null @@ -1,44 +0,0 @@ -import Node from './shared/Node'; -import Attribute from './Attribute'; -import Binding from './Binding'; -import EventHandler from './EventHandler'; -import Transition from './Transition'; -import Animation from './Animation'; -import Action from './Action'; -import Class from './Class'; -import StyleDirective from './StyleDirective'; -import Let from './Let'; -import TemplateScope from './shared/TemplateScope'; -import { INode } from './interfaces'; -import Component from '../Component'; -export default class Element extends Node { - type: 'Element'; - name: string; - scope: TemplateScope; - attributes: Attribute[]; - actions: Action[]; - bindings: Binding[]; - classes: Class[]; - styles: StyleDirective[]; - handlers: EventHandler[]; - lets: Let[]; - intro?: Transition; - outro?: Transition; - animation?: Animation; - children: INode[]; - namespace: string; - needs_manual_style_scoping: boolean; - constructor(component: Component, parent: Node, scope: TemplateScope, info: any); - validate(): void; - validate_attributes(): void; - validate_attributes_a11y(): void; - validate_special_cases(): void; - validate_bindings_foreign(): void; - validate_bindings(): void; - validate_content(): void; - validate_event_handlers(): void; - is_media_node(): boolean; - add_css_class(): void; - get slot_template_name(): string; - optimise(): void; -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/ElseBlock.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/ElseBlock.d.ts deleted file mode 100644 index bc371e0e9a..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/ElseBlock.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -import AbstractBlock from './shared/AbstractBlock'; -import Component from '../Component'; -import TemplateScope from './shared/TemplateScope'; -import { TemplateNode } from '../../interfaces'; -import Node from './shared/Node'; -export default class ElseBlock extends AbstractBlock { - type: 'ElseBlock'; - constructor(component: Component, parent: Node, scope: TemplateScope, info: TemplateNode); -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/EventHandler.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/EventHandler.d.ts deleted file mode 100644 index d7c58de006..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/EventHandler.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -import Node from './shared/Node'; -import Expression from './shared/Expression'; -import Component from '../Component'; -import { Identifier } from 'estree'; -import TemplateScope from './shared/TemplateScope'; -import { TemplateNode } from '../../interfaces'; -export default class EventHandler extends Node { - type: 'EventHandler'; - name: string; - modifiers: Set; - expression: Expression; - handler_name: Identifier; - uses_context: boolean; - can_make_passive: boolean; - constructor(component: Component, parent: Node, template_scope: TemplateScope, info: TemplateNode); - get reassigned(): boolean; -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Fragment.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Fragment.d.ts deleted file mode 100644 index a382218d80..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Fragment.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import Node from './shared/Node'; -import Component from '../Component'; -import Block from '../render_dom/Block'; -import TemplateScope from './shared/TemplateScope'; -import { INode } from './interfaces'; -import { TemplateNode } from '../../interfaces'; -export default class Fragment extends Node { - type: 'Fragment'; - block: Block; - children: INode[]; - scope: TemplateScope; - constructor(component: Component, info: TemplateNode); -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Head.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Head.d.ts deleted file mode 100644 index 736bbc4a95..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Head.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import Node from './shared/Node'; -import Component from '../Component'; -import TemplateScope from './shared/TemplateScope'; -import { TemplateNode } from '../../interfaces'; -export default class Head extends Node { - type: 'Head'; - children: any[]; - id: string; - constructor(component: Component, parent: Node, scope: TemplateScope, info: TemplateNode); -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/IfBlock.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/IfBlock.d.ts deleted file mode 100644 index 14418cb073..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/IfBlock.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import ElseBlock from './ElseBlock'; -import Expression from './shared/Expression'; -import AbstractBlock from './shared/AbstractBlock'; -import Component from '../Component'; -import TemplateScope from './shared/TemplateScope'; -import { TemplateNode } from '../../interfaces'; -import Node from './shared/Node'; -export default class IfBlock extends AbstractBlock { - type: 'IfBlock'; - expression: Expression; - else: ElseBlock; - constructor(component: Component, parent: Node, scope: TemplateScope, info: TemplateNode); -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/InlineComponent.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/InlineComponent.d.ts deleted file mode 100644 index f09552bb52..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/InlineComponent.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -import Node from './shared/Node'; -import Attribute from './Attribute'; -import Binding from './Binding'; -import EventHandler from './EventHandler'; -import Expression from './shared/Expression'; -import Component from '../Component'; -import Let from './Let'; -import TemplateScope from './shared/TemplateScope'; -import { INode } from './interfaces'; -import { TemplateNode } from '../../interfaces'; -export default class InlineComponent extends Node { - type: 'InlineComponent'; - name: string; - expression: Expression; - attributes: Attribute[]; - bindings: Binding[]; - handlers: EventHandler[]; - lets: Let[]; - css_custom_properties: Attribute[]; - children: INode[]; - scope: TemplateScope; - constructor(component: Component, parent: Node, scope: TemplateScope, info: TemplateNode); - get slot_template_name(): string; -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/KeyBlock.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/KeyBlock.d.ts deleted file mode 100644 index 38c62be80f..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/KeyBlock.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import Expression from './shared/Expression'; -import AbstractBlock from './shared/AbstractBlock'; -import Component from '../Component'; -import TemplateScope from './shared/TemplateScope'; -import { TemplateNode } from '../../interfaces'; -import Node from './shared/Node'; -export default class KeyBlock extends AbstractBlock { - type: 'KeyBlock'; - expression: Expression; - constructor(component: Component, parent: Node, scope: TemplateScope, info: TemplateNode); -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Let.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Let.d.ts deleted file mode 100644 index 6fb24b118b..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Let.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import Node from './shared/Node'; -import Component from '../Component'; -import { Identifier } from 'estree'; -import TemplateScope from './shared/TemplateScope'; -import { TemplateNode } from '../../interfaces'; -export default class Let extends Node { - type: 'Let'; - name: Identifier; - value: Identifier; - names: string[]; - constructor(component: Component, parent: Node, scope: TemplateScope, info: TemplateNode); -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/MustacheTag.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/MustacheTag.d.ts deleted file mode 100644 index f659e3d443..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/MustacheTag.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import Tag from './shared/Tag'; -export default class MustacheTag extends Tag { - type: 'MustacheTag'; -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Options.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Options.d.ts deleted file mode 100644 index d114122fb5..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Options.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import Node from './shared/Node'; -export default class Options extends Node { - type: 'Options'; -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/PendingBlock.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/PendingBlock.d.ts deleted file mode 100644 index 3b3ffa36da..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/PendingBlock.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -import AbstractBlock from './shared/AbstractBlock'; -import Component from '../Component'; -import TemplateScope from './shared/TemplateScope'; -import { TemplateNode } from '../../interfaces'; -import Node from './shared/Node'; -export default class PendingBlock extends AbstractBlock { - type: 'PendingBlock'; - constructor(component: Component, parent: Node, scope: TemplateScope, info: TemplateNode); -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/RawMustacheTag.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/RawMustacheTag.d.ts deleted file mode 100644 index 98b279d86b..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/RawMustacheTag.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import Tag from './shared/Tag'; -export default class RawMustacheTag extends Tag { - type: 'RawMustacheTag'; -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Slot.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Slot.d.ts deleted file mode 100644 index b27476b3c4..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Slot.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -import Element from './Element'; -import Attribute from './Attribute'; -import Component from '../Component'; -import TemplateScope from './shared/TemplateScope'; -import { INode } from './interfaces'; -import { TemplateNode } from '../../interfaces'; -export default class Slot extends Element { - type: 'Element'; - name: string; - children: INode[]; - slot_name: string; - values: Map; - constructor(component: Component, parent: INode, scope: TemplateScope, info: TemplateNode); -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/SlotTemplate.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/SlotTemplate.d.ts deleted file mode 100644 index d7aa649e5d..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/SlotTemplate.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import Component from '../Component'; -import TemplateScope from './shared/TemplateScope'; -import Node from './shared/Node'; -import Let from './Let'; -import Attribute from './Attribute'; -import { INode } from './interfaces'; -import ConstTag from './ConstTag'; -export default class SlotTemplate extends Node { - type: 'SlotTemplate'; - scope: TemplateScope; - children: INode[]; - lets: Let[]; - const_tags: ConstTag[]; - slot_attribute: Attribute; - slot_template_name: string; - constructor(component: Component, parent: INode, scope: TemplateScope, info: any); - validate_slot_template_placement(): void; -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Style.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Style.d.ts deleted file mode 100644 index 72b4f73a44..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Style.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import Node from './shared/Node'; -import Expression from './shared/Expression'; -import { TemplateNode } from '../../interfaces'; -import TemplateScope from './shared/TemplateScope'; -import Component from '../Component'; -export default class Style extends Node { - type: 'Style'; - name: string; - expression: Expression; - should_cache: boolean; - constructor(component: Component, parent: Node, scope: TemplateScope, info: TemplateNode); -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/StyleDirective.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/StyleDirective.d.ts deleted file mode 100644 index c7f36a2e6f..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/StyleDirective.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import { TemplateNode } from '../../interfaces'; -import Component from '../Component'; -import Expression from './shared/Expression'; -import Node from './shared/Node'; -import TemplateScope from './shared/TemplateScope'; -export default class StyleDirective extends Node { - type: 'StyleDirective'; - name: string; - expression: Expression; - should_cache: boolean; - constructor(component: Component, parent: Node, scope: TemplateScope, info: TemplateNode); -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Text.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Text.d.ts deleted file mode 100644 index e0f4570d09..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Text.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import Node from './shared/Node'; -import Component from '../Component'; -import TemplateScope from './shared/TemplateScope'; -import { INode } from './interfaces'; -import { TemplateNode } from '../../interfaces'; -export default class Text extends Node { - type: 'Text'; - data: string; - synthetic: boolean; - constructor(component: Component, parent: INode, scope: TemplateScope, info: TemplateNode); - should_skip(): any; -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/ThenBlock.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/ThenBlock.d.ts deleted file mode 100644 index 5f72d357a5..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/ThenBlock.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import TemplateScope from './shared/TemplateScope'; -import AbstractBlock from './shared/AbstractBlock'; -import AwaitBlock from './AwaitBlock'; -import Component from '../Component'; -import { TemplateNode } from '../../interfaces'; -import ConstTag from './ConstTag'; -export default class ThenBlock extends AbstractBlock { - type: 'ThenBlock'; - scope: TemplateScope; - const_tags: ConstTag[]; - constructor(component: Component, parent: AwaitBlock, scope: TemplateScope, info: TemplateNode); -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Title.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Title.d.ts deleted file mode 100644 index 8288a0583a..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Title.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import Node from './shared/Node'; -import { Children } from './shared/map_children'; -import Component from '../Component'; -import TemplateScope from './shared/TemplateScope'; -import { TemplateNode } from '../../interfaces'; -export default class Title extends Node { - type: 'Title'; - children: Children; - should_cache: boolean; - constructor(component: Component, parent: Node, scope: TemplateScope, info: TemplateNode); -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Transition.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Transition.d.ts deleted file mode 100644 index 7ce9dc7b08..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Transition.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -import Node from './shared/Node'; -import Expression from './shared/Expression'; -import Component from '../Component'; -import TemplateScope from './shared/TemplateScope'; -import { TemplateNode } from '../../interfaces'; -import Element from './Element'; -export default class Transition extends Node { - type: 'Transition'; - name: string; - directive: string; - expression: Expression; - is_local: boolean; - constructor(component: Component, parent: Element, scope: TemplateScope, info: TemplateNode); -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Window.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Window.d.ts deleted file mode 100644 index 183a8cc13f..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/Window.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -import Node from './shared/Node'; -import Binding from './Binding'; -import EventHandler from './EventHandler'; -import Action from './Action'; -import Component from '../Component'; -import TemplateScope from './shared/TemplateScope'; -import { TemplateNode } from '../../interfaces'; -export default class Window extends Node { - type: 'Window'; - handlers: EventHandler[]; - bindings: Binding[]; - actions: Action[]; - constructor(component: Component, parent: Node, scope: TemplateScope, info: TemplateNode); -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/interfaces.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/interfaces.d.ts deleted file mode 100644 index 0c14b80577..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/interfaces.d.ts +++ /dev/null @@ -1,36 +0,0 @@ -import Tag from './shared/Tag'; -import Action from './Action'; -import Animation from './Animation'; -import Attribute from './Attribute'; -import AwaitBlock from './AwaitBlock'; -import Binding from './Binding'; -import Body from './Body'; -import CatchBlock from './CatchBlock'; -import Class from './Class'; -import StyleDirective from './StyleDirective'; -import Comment from './Comment'; -import ConstTag from './ConstTag'; -import DebugTag from './DebugTag'; -import EachBlock from './EachBlock'; -import Element from './Element'; -import ElseBlock from './ElseBlock'; -import EventHandler from './EventHandler'; -import Fragment from './Fragment'; -import Head from './Head'; -import IfBlock from './IfBlock'; -import InlineComponent from './InlineComponent'; -import KeyBlock from './KeyBlock'; -import Let from './Let'; -import MustacheTag from './MustacheTag'; -import Options from './Options'; -import PendingBlock from './PendingBlock'; -import RawMustacheTag from './RawMustacheTag'; -import Slot from './Slot'; -import SlotTemplate from './SlotTemplate'; -import Text from './Text'; -import ThenBlock from './ThenBlock'; -import Title from './Title'; -import Transition from './Transition'; -import Window from './Window'; -export declare type INode = Action | Animation | Attribute | AwaitBlock | Binding | Body | CatchBlock | Class | Comment | ConstTag | DebugTag | EachBlock | Element | ElseBlock | EventHandler | Fragment | Head | IfBlock | InlineComponent | KeyBlock | Let | MustacheTag | Options | PendingBlock | RawMustacheTag | Slot | SlotTemplate | StyleDirective | Tag | Text | ThenBlock | Title | Transition | Window; -export declare type INodeAllowConstTag = EachBlock | CatchBlock | ThenBlock | InlineComponent | SlotTemplate; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/shared/AbstractBlock.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/shared/AbstractBlock.d.ts deleted file mode 100644 index 9dea594b80..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/shared/AbstractBlock.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import Block from '../../render_dom/Block'; -import Component from '../../Component'; -import Node from './Node'; -import { INode } from '../interfaces'; -export default class AbstractBlock extends Node { - block: Block; - children: INode[]; - constructor(component: Component, parent: any, scope: any, info: any); - warn_if_empty_block(): void; -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/shared/Context.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/shared/Context.d.ts deleted file mode 100644 index 592c780610..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/shared/Context.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -import { Node, Identifier } from 'estree'; -import Component from '../../Component'; -import TemplateScope from './TemplateScope'; -export interface Context { - key: Identifier; - name?: string; - modifier: (node: Node) => Node; - default_modifier: (node: Node, to_ctx: (name: string) => Node) => Node; -} -export declare function unpack_destructuring({ contexts, node, modifier, default_modifier, scope, component }: { - contexts: Context[]; - node: Node; - modifier?: Context['modifier']; - default_modifier?: Context['default_modifier']; - scope: TemplateScope; - component: Component; -}): void; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/shared/Expression.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/shared/Expression.d.ts deleted file mode 100644 index 0f08767342..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/shared/Expression.d.ts +++ /dev/null @@ -1,26 +0,0 @@ -import Component from '../../Component'; -import { Scope } from '../../utils/scope'; -import TemplateScope from './TemplateScope'; -import Block from '../../render_dom/Block'; -import { Node } from 'estree'; -import { INode } from '../interfaces'; -declare type Owner = INode; -export default class Expression { - type: 'Expression'; - component: Component; - owner: Owner; - node: Node; - references: Set; - dependencies: Set; - contextual_dependencies: Set; - template_scope: TemplateScope; - scope: Scope; - scope_map: WeakMap; - declarations: Array<(Node | Node[])>; - uses_context: boolean; - manipulated: Node; - constructor(component: Component, owner: Owner, template_scope: TemplateScope, info: Node, lazy?: boolean); - dynamic_dependencies(): string[]; - manipulate(block?: Block, ctx?: string | void): Node; -} -export {}; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/shared/Node.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/shared/Node.d.ts deleted file mode 100644 index 7830094418..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/shared/Node.d.ts +++ /dev/null @@ -1,21 +0,0 @@ -import Attribute from '../Attribute'; -import Component from '../../Component'; -import { INode } from '../interfaces'; -import { TemplateNode } from '../../../interfaces'; -export default class Node { - readonly start: number; - readonly end: number; - readonly component: Component; - readonly parent: INode; - readonly type: string; - prev?: INode; - next?: INode; - can_use_innerhtml: boolean; - var: string; - attributes: Attribute[]; - constructor(component: Component, parent: Node, _scope: any, info: TemplateNode); - cannot_use_innerhtml(): void; - find_nearest(selector: RegExp): any; - get_static_attribute_value(name: string): string | true; - has_ancestor(type: string): any; -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/shared/Tag.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/shared/Tag.d.ts deleted file mode 100644 index 8c5db18958..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/shared/Tag.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import Node from './Node'; -import Expression from './Expression'; -export default class Tag extends Node { - type: 'MustacheTag' | 'RawMustacheTag'; - expression: Expression; - should_cache: boolean; - constructor(component: any, parent: any, scope: any, info: any); -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/shared/TemplateScope.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/shared/TemplateScope.d.ts deleted file mode 100644 index 9ac015c704..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/shared/TemplateScope.d.ts +++ /dev/null @@ -1,23 +0,0 @@ -import EachBlock from '../EachBlock'; -import ThenBlock from '../ThenBlock'; -import CatchBlock from '../CatchBlock'; -import InlineComponent from '../InlineComponent'; -import Element from '../Element'; -import SlotTemplate from '../SlotTemplate'; -import ConstTag from '../ConstTag'; -declare type NodeWithScope = EachBlock | ThenBlock | CatchBlock | InlineComponent | Element | SlotTemplate | ConstTag; -export default class TemplateScope { - names: Set; - dependencies_for_name: Map>; - owners: Map; - parent?: TemplateScope; - constructor(parent?: TemplateScope); - add(name: any, dependencies: Set, owner: any): this; - child(): TemplateScope; - is_top_level(name: string): any; - get_owner(name: string): NodeWithScope; - is_let(name: string): boolean; - is_await(name: string): boolean; - is_const(name: string): boolean; -} -export {}; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/shared/get_const_tags.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/shared/get_const_tags.d.ts deleted file mode 100644 index e02045df1e..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/shared/get_const_tags.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { TemplateNode } from '../../../interfaces'; -import Component from '../../Component'; -import ConstTag from '../ConstTag'; -import { INodeAllowConstTag, INode } from '../interfaces'; -export default function get_const_tags(children: TemplateNode[], component: Component, node: INodeAllowConstTag, parent: INode): [ConstTag[], Array>]; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/shared/is_contextual.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/shared/is_contextual.d.ts deleted file mode 100644 index fde7b2ddce..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/shared/is_contextual.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import Component from '../../Component'; -import TemplateScope from './TemplateScope'; -export default function is_contextual(component: Component, scope: TemplateScope, name: string): boolean; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/shared/map_children.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/shared/map_children.d.ts deleted file mode 100644 index 91123e789c..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/nodes/shared/map_children.d.ts +++ /dev/null @@ -1,21 +0,0 @@ -import AwaitBlock from '../AwaitBlock'; -import Body from '../Body'; -import ConstTag from '../ConstTag'; -import Comment from '../Comment'; -import EachBlock from '../EachBlock'; -import Element from '../Element'; -import Head from '../Head'; -import IfBlock from '../IfBlock'; -import InlineComponent from '../InlineComponent'; -import KeyBlock from '../KeyBlock'; -import MustacheTag from '../MustacheTag'; -import Options from '../Options'; -import RawMustacheTag from '../RawMustacheTag'; -import DebugTag from '../DebugTag'; -import SlotTemplate from '../SlotTemplate'; -import Text from '../Text'; -import Title from '../Title'; -import Window from '../Window'; -import { TemplateNode } from '../../../interfaces'; -export declare type Children = ReturnType; -export default function map_children(component: any, parent: any, scope: any, children: TemplateNode[]): (AwaitBlock | Body | Comment | ConstTag | DebugTag | EachBlock | Element | Head | IfBlock | InlineComponent | KeyBlock | MustacheTag | Options | RawMustacheTag | SlotTemplate | Text | Title | Window)[]; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/Block.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/Block.d.ts deleted file mode 100644 index 7112395df7..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/Block.d.ts +++ /dev/null @@ -1,81 +0,0 @@ -import Renderer from './Renderer'; -import Wrapper from './wrappers/shared/Wrapper'; -import { Node, Identifier } from 'estree'; -export interface Bindings { - object: Identifier; - property: Identifier; - snippet: Node; - store: string; - modifier: (node: Node) => Node; -} -export interface BlockOptions { - parent?: Block; - name: Identifier; - type: string; - renderer?: Renderer; - comment?: string; - key?: Identifier; - bindings?: Map; - dependencies?: Set; -} -export default class Block { - parent?: Block; - renderer: Renderer; - name: Identifier; - type: string; - comment?: string; - wrappers: Wrapper[]; - key: Identifier; - first: Identifier; - dependencies: Set; - bindings: Map; - binding_group_initialised: Set; - chunks: { - declarations: Array; - init: Array; - create: Array; - claim: Array; - hydrate: Array; - mount: Array; - measure: Array; - fix: Array; - animate: Array; - intro: Array; - update: Array; - outro: Array; - destroy: Array; - }; - event_listeners: Node[]; - maintain_context: boolean; - has_animation: boolean; - has_intros: boolean; - has_outros: boolean; - has_intro_method: boolean; - has_outro_method: boolean; - outros: number; - aliases: Map; - variables: Map; - get_unique_name: (name: string) => Identifier; - has_update_method: boolean; - autofocus?: { - element_var: string; - condition_expression?: any; - }; - constructor(options: BlockOptions); - assign_variable_names(): void; - add_dependencies(dependencies: Set): void; - add_element(id: Identifier, render_statement: Node, claim_statement: Node, parent_node: Node, no_detach?: boolean): void; - add_intro(local?: boolean): void; - add_outro(local?: boolean): void; - add_animation(): void; - add_variable(id: Identifier, init?: Node): void; - alias(name: string): Identifier; - child(options: BlockOptions): Block; - get_contents(key?: any): Node[]; - has_content(): boolean; - render(): Node[]; - render_listeners(chunk?: string): void; -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/Renderer.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/Renderer.d.ts deleted file mode 100644 index 909d9759f3..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/Renderer.d.ts +++ /dev/null @@ -1,46 +0,0 @@ -import Block from './Block'; -import { CompileOptions, Var } from '../../interfaces'; -import Component from '../Component'; -import FragmentWrapper from './wrappers/Fragment'; -import { Node, Identifier, MemberExpression, Literal, Expression, UnaryExpression, ArrayExpression } from 'estree'; -interface ContextMember { - name: string; - index: Literal; - is_contextual: boolean; - is_non_contextual: boolean; - variable: Var; - priority: number; -} -export default class Renderer { - component: Component; - options: CompileOptions; - context: ContextMember[]; - initial_context: ContextMember[]; - context_lookup: Map; - context_overflow: boolean; - blocks: Array; - readonly: Set; - meta_bindings: Array; - binding_groups: Map Node; - is_context: boolean; - contexts: string[]; - index: number; - keypath: string; - }>; - block: Block; - fragment: FragmentWrapper; - file_var: Identifier; - locate: (c: number) => { - line: number; - column: number; - }; - constructor(component: Component, options: CompileOptions); - add_to_context(name: string, contextual?: boolean): ContextMember; - invalidate(name: string, value?: any, main_execution_context?: boolean): any; - dirty(names: string[], is_reactive_declaration?: boolean): Expression; - get_initial_dirty(): UnaryExpression | ArrayExpression; - reference(node: string | Identifier | MemberExpression, ctx?: string | void): any; - remove_block(block: Block | Node | Node[]): void; -} -export {}; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/index.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/index.d.ts deleted file mode 100644 index 406561f4b4..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/index.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import Component from '../Component'; -import { CompileOptions, CssResult } from '../../interfaces'; -import { Node } from 'estree'; -export default function dom(component: Component, options: CompileOptions): { - js: Node[]; - css: CssResult; -}; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/invalidate.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/invalidate.d.ts deleted file mode 100644 index a55c910653..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/invalidate.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { Scope } from 'periscopic'; -import { Node } from 'estree'; -import Renderer from './Renderer'; -export declare function invalidate(renderer: Renderer, scope: Scope, node: Node, names: Set, main_execution_context?: boolean): any; -export declare function renderer_invalidate(renderer: Renderer, name: string, value?: any, main_execution_context?: boolean): any; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/AwaitBlock.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/AwaitBlock.d.ts deleted file mode 100644 index 3222071002..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/AwaitBlock.d.ts +++ /dev/null @@ -1,39 +0,0 @@ -import Wrapper from './shared/Wrapper'; -import Renderer from '../Renderer'; -import Block from '../Block'; -import AwaitBlock from '../../nodes/AwaitBlock'; -import FragmentWrapper from './Fragment'; -import PendingBlock from '../../nodes/PendingBlock'; -import ThenBlock from '../../nodes/ThenBlock'; -import CatchBlock from '../../nodes/CatchBlock'; -import { Context } from '../../nodes/shared/Context'; -import { Identifier, Literal, Node } from 'estree'; -declare type Status = 'pending' | 'then' | 'catch'; -declare class AwaitBlockBranch extends Wrapper { - parent: AwaitBlockWrapper; - node: PendingBlock | ThenBlock | CatchBlock; - block: Block; - fragment: FragmentWrapper; - is_dynamic: boolean; - var: any; - status: Status; - value: string; - value_index: Literal; - value_contexts: Context[]; - is_destructured: boolean; - constructor(status: Status, renderer: Renderer, block: Block, parent: AwaitBlockWrapper, node: PendingBlock | ThenBlock | CatchBlock, strip_whitespace: boolean, next_sibling: Wrapper); - add_context(node: Node | null, contexts: Context[]): void; - has_consts(node: PendingBlock | ThenBlock | CatchBlock): node is ThenBlock | CatchBlock; - render(block: Block, parent_node: Identifier, parent_nodes: Identifier): void; - render_get_context(): void; -} -export default class AwaitBlockWrapper extends Wrapper { - node: AwaitBlock; - pending: AwaitBlockBranch; - then: AwaitBlockBranch; - catch: AwaitBlockBranch; - var: Identifier; - constructor(renderer: Renderer, block: Block, parent: Wrapper, node: AwaitBlock, strip_whitespace: boolean, next_sibling: Wrapper); - render(block: Block, parent_node: Identifier, parent_nodes: Identifier): void; -} -export {}; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Body.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Body.d.ts deleted file mode 100644 index e00cfdf071..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Body.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import Block from '../Block'; -import Wrapper from './shared/Wrapper'; -import Body from '../../nodes/Body'; -import { Identifier } from 'estree'; -import EventHandler from './Element/EventHandler'; -import { TemplateNode } from '../../../interfaces'; -import Renderer from '../Renderer'; -export default class BodyWrapper extends Wrapper { - node: Body; - handlers: EventHandler[]; - constructor(renderer: Renderer, block: Block, parent: Wrapper, node: TemplateNode); - render(block: Block, _parent_node: Identifier, _parent_nodes: Identifier): void; -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/DebugTag.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/DebugTag.d.ts deleted file mode 100644 index bf68ea9629..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/DebugTag.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import Renderer from '../Renderer'; -import Wrapper from './shared/Wrapper'; -import Block from '../Block'; -import DebugTag from '../../nodes/DebugTag'; -import { Identifier } from 'estree'; -export default class DebugTagWrapper extends Wrapper { - node: DebugTag; - constructor(renderer: Renderer, block: Block, parent: Wrapper, node: DebugTag, _strip_whitespace: boolean, _next_sibling: Wrapper); - render(block: Block, _parent_node: Identifier, _parent_nodes: Identifier): void; -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/EachBlock.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/EachBlock.d.ts deleted file mode 100644 index 573b7c1a55..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/EachBlock.d.ts +++ /dev/null @@ -1,56 +0,0 @@ -import Renderer from '../Renderer'; -import Block from '../Block'; -import Wrapper from './shared/Wrapper'; -import EachBlock from '../../nodes/EachBlock'; -import FragmentWrapper from './Fragment'; -import ElseBlock from '../../nodes/ElseBlock'; -import { Identifier, Node } from 'estree'; -export declare class ElseBlockWrapper extends Wrapper { - node: ElseBlock; - block: Block; - fragment: FragmentWrapper; - is_dynamic: boolean; - var: any; - constructor(renderer: Renderer, block: Block, parent: Wrapper, node: ElseBlock, strip_whitespace: boolean, next_sibling: Wrapper); -} -export default class EachBlockWrapper extends Wrapper { - block: Block; - node: EachBlock; - fragment: FragmentWrapper; - else?: ElseBlockWrapper; - vars: { - create_each_block: Identifier; - each_block_value: Identifier; - get_each_context: Identifier; - iterations: Identifier; - fixed_length: number; - data_length: Node | number; - view_length: Node | number; - }; - context_props: Array; - index_name: Identifier; - updates: Array; - dependencies: Set; - var: Identifier; - constructor(renderer: Renderer, block: Block, parent: Wrapper, node: EachBlock, strip_whitespace: boolean, next_sibling: Wrapper); - render(block: Block, parent_node: Identifier, parent_nodes: Identifier): void; - render_keyed({ block, parent_node, parent_nodes, snippet, initial_anchor_node, initial_mount_node, update_anchor_node, update_mount_node }: { - block: Block; - parent_node: Identifier; - parent_nodes: Identifier; - snippet: Node; - initial_anchor_node: Identifier; - initial_mount_node: Identifier; - update_anchor_node: Identifier; - update_mount_node: Identifier; - }): void; - render_unkeyed({ block, parent_nodes, snippet, initial_anchor_node, initial_mount_node, update_anchor_node, update_mount_node }: { - block: Block; - parent_nodes: Identifier; - snippet: Node; - initial_anchor_node: Identifier; - initial_mount_node: Identifier; - update_anchor_node: Identifier; - update_mount_node: Identifier; - }): void; -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Element/Attribute.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Element/Attribute.d.ts deleted file mode 100644 index ed7fe8a8fd..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Element/Attribute.d.ts +++ /dev/null @@ -1,42 +0,0 @@ -import Attribute from '../../../nodes/Attribute'; -import Block from '../../Block'; -import ElementWrapper from './index'; -import { Identifier, Node } from 'estree'; -export declare class BaseAttributeWrapper { - node: Attribute; - parent: ElementWrapper; - constructor(parent: ElementWrapper, block: Block, node: Attribute); - render(_block: Block): void; -} -export default class AttributeWrapper extends BaseAttributeWrapper { - node: Attribute; - parent: ElementWrapper; - metadata: any; - name: string; - property_name: string; - is_indirectly_bound_value: boolean; - is_src: boolean; - is_select_value_attribute: boolean; - is_input_value: boolean; - should_cache: boolean; - last: Identifier; - constructor(parent: ElementWrapper, block: Block, node: Attribute); - render(block: Block): void; - get_init(block: Block, value: any): any; - get_dom_update_conditions(block: Block, dependency_condition: Node): Node; - get_dependencies(): string[]; - get_metadata(): any; - get_value(block: any): Identifier | import("estree").SimpleLiteral | import("estree").RegExpLiteral | import("estree").BigIntLiteral | import("estree").Program | import("estree").FunctionDeclaration | import("estree").FunctionExpression | import("estree").ArrowFunctionExpression | import("estree").SwitchCase | import("estree").CatchClause | import("estree").VariableDeclarator | import("estree").ExpressionStatement | import("estree").BlockStatement | import("estree").EmptyStatement | import("estree").DebuggerStatement | import("estree").WithStatement | import("estree").ReturnStatement | import("estree").LabeledStatement | import("estree").BreakStatement | import("estree").ContinueStatement | import("estree").IfStatement | import("estree").SwitchStatement | import("estree").ThrowStatement | import("estree").TryStatement | import("estree").WhileStatement | import("estree").DoWhileStatement | import("estree").ForStatement | import("estree").ForInStatement | import("estree").ForOfStatement | import("estree").VariableDeclaration | import("estree").ClassDeclaration | import("estree").ThisExpression | import("estree").ArrayExpression | import("estree").ObjectExpression | import("estree").YieldExpression | import("estree").UnaryExpression | import("estree").UpdateExpression | import("estree").BinaryExpression | import("estree").AssignmentExpression | import("estree").LogicalExpression | import("estree").MemberExpression | import("estree").ConditionalExpression | import("estree").SimpleCallExpression | import("estree").NewExpression | import("estree").SequenceExpression | import("estree").TemplateLiteral | import("estree").TaggedTemplateExpression | import("estree").ClassExpression | import("estree").MetaProperty | import("estree").AwaitExpression | import("estree").ImportExpression | import("estree").ChainExpression | import("estree").PrivateIdentifier | import("estree").Property | import("estree").PropertyDefinition | import("estree").Super | import("estree").TemplateElement | import("estree").SpreadElement | import("estree").ObjectPattern | import("estree").ArrayPattern | import("estree").RestElement | import("estree").AssignmentPattern | import("estree").ClassBody | import("estree").MethodDefinition | import("estree").ImportDeclaration | import("estree").ExportNamedDeclaration | import("estree").ExportDefaultDeclaration | import("estree").ExportAllDeclaration | import("estree").ImportSpecifier | import("estree").ImportDefaultSpecifier | import("estree").ImportNamespaceSpecifier | import("estree").ExportSpecifier | { - type: string; - value: string; - }; - get_class_name_text(block: any): Identifier | import("estree").SimpleLiteral | import("estree").RegExpLiteral | import("estree").BigIntLiteral | import("estree").Program | import("estree").FunctionDeclaration | import("estree").FunctionExpression | import("estree").ArrowFunctionExpression | import("estree").SwitchCase | import("estree").CatchClause | import("estree").VariableDeclarator | import("estree").ExpressionStatement | import("estree").BlockStatement | import("estree").EmptyStatement | import("estree").DebuggerStatement | import("estree").WithStatement | import("estree").ReturnStatement | import("estree").LabeledStatement | import("estree").BreakStatement | import("estree").ContinueStatement | import("estree").IfStatement | import("estree").SwitchStatement | import("estree").ThrowStatement | import("estree").TryStatement | import("estree").WhileStatement | import("estree").DoWhileStatement | import("estree").ForStatement | import("estree").ForInStatement | import("estree").ForOfStatement | import("estree").VariableDeclaration | import("estree").ClassDeclaration | import("estree").ThisExpression | import("estree").ArrayExpression | import("estree").ObjectExpression | import("estree").YieldExpression | import("estree").UnaryExpression | import("estree").UpdateExpression | import("estree").BinaryExpression | import("estree").AssignmentExpression | import("estree").LogicalExpression | import("estree").MemberExpression | import("estree").ConditionalExpression | import("estree").SimpleCallExpression | import("estree").NewExpression | import("estree").SequenceExpression | import("estree").TemplateLiteral | import("estree").TaggedTemplateExpression | import("estree").ClassExpression | import("estree").MetaProperty | import("estree").AwaitExpression | import("estree").ImportExpression | import("estree").ChainExpression | import("estree").PrivateIdentifier | import("estree").Property | import("estree").PropertyDefinition | import("estree").Super | import("estree").TemplateElement | import("estree").SpreadElement | import("estree").ObjectPattern | import("estree").ArrayPattern | import("estree").RestElement | import("estree").AssignmentPattern | import("estree").ClassBody | import("estree").MethodDefinition | import("estree").ImportDeclaration | import("estree").ExportNamedDeclaration | import("estree").ExportDefaultDeclaration | import("estree").ExportAllDeclaration | import("estree").ImportSpecifier | import("estree").ImportDefaultSpecifier | import("estree").ImportNamespaceSpecifier | import("estree").ExportSpecifier | { - type: string; - value: string; - }; - render_chunks(block: Block): (Identifier | import("estree").SimpleLiteral | import("estree").RegExpLiteral | import("estree").BigIntLiteral | import("estree").Program | import("estree").FunctionDeclaration | import("estree").FunctionExpression | import("estree").ArrowFunctionExpression | import("estree").SwitchCase | import("estree").CatchClause | import("estree").VariableDeclarator | import("estree").ExpressionStatement | import("estree").BlockStatement | import("estree").EmptyStatement | import("estree").DebuggerStatement | import("estree").WithStatement | import("estree").ReturnStatement | import("estree").LabeledStatement | import("estree").BreakStatement | import("estree").ContinueStatement | import("estree").IfStatement | import("estree").SwitchStatement | import("estree").ThrowStatement | import("estree").TryStatement | import("estree").WhileStatement | import("estree").DoWhileStatement | import("estree").ForStatement | import("estree").ForInStatement | import("estree").ForOfStatement | import("estree").VariableDeclaration | import("estree").ClassDeclaration | import("estree").ThisExpression | import("estree").ArrayExpression | import("estree").ObjectExpression | import("estree").YieldExpression | import("estree").UnaryExpression | import("estree").UpdateExpression | import("estree").BinaryExpression | import("estree").AssignmentExpression | import("estree").LogicalExpression | import("estree").MemberExpression | import("estree").ConditionalExpression | import("estree").SimpleCallExpression | import("estree").NewExpression | import("estree").SequenceExpression | import("estree").TemplateLiteral | import("estree").TaggedTemplateExpression | import("estree").ClassExpression | import("estree").MetaProperty | import("estree").AwaitExpression | import("estree").ImportExpression | import("estree").ChainExpression | import("estree").PrivateIdentifier | import("estree").Property | import("estree").PropertyDefinition | import("estree").Super | import("estree").TemplateElement | import("estree").SpreadElement | import("estree").ObjectPattern | import("estree").ArrayPattern | import("estree").RestElement | import("estree").AssignmentPattern | import("estree").ClassBody | import("estree").MethodDefinition | import("estree").ImportDeclaration | import("estree").ExportNamedDeclaration | import("estree").ExportDefaultDeclaration | import("estree").ExportAllDeclaration | import("estree").ImportSpecifier | import("estree").ImportDefaultSpecifier | import("estree").ImportNamespaceSpecifier | import("estree").ExportSpecifier | { - type: string; - value: string; - })[]; - stringify(): string; -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Element/Binding.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Element/Binding.d.ts deleted file mode 100644 index 01f4d44909..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Element/Binding.d.ts +++ /dev/null @@ -1,24 +0,0 @@ -import Binding from '../../../nodes/Binding'; -import ElementWrapper from '../Element'; -import InlineComponentWrapper from '../InlineComponent'; -import Block from '../../Block'; -import { Node, Identifier } from 'estree'; -export default class BindingWrapper { - node: Binding; - parent: ElementWrapper | InlineComponentWrapper; - object: string; - handler: { - uses_context: boolean; - mutation: (Node | Node[]); - contextual_dependencies: Set; - lhs?: Node; - }; - snippet: Node; - is_readonly: boolean; - needs_lock: boolean; - constructor(block: Block, node: Binding, parent: ElementWrapper | InlineComponentWrapper); - get_dependencies(): Set; - get_update_dependencies(): Set; - is_readonly_media_attribute(): boolean; - render(block: Block, lock: Identifier): void; -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Element/EventHandler.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Element/EventHandler.d.ts deleted file mode 100644 index 2ee41296ef..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Element/EventHandler.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import EventHandler from '../../../nodes/EventHandler'; -import Wrapper from '../shared/Wrapper'; -import Block from '../../Block'; -import { Expression } from 'estree'; -export default class EventHandlerWrapper { - node: EventHandler; - parent: Wrapper; - constructor(node: EventHandler, parent: Wrapper); - get_snippet(block: any): any; - render(block: Block, target: string | Expression): void; -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Element/SpreadAttribute.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Element/SpreadAttribute.d.ts deleted file mode 100644 index be5f05691e..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Element/SpreadAttribute.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { BaseAttributeWrapper } from './Attribute'; -export default class SpreadAttributeWrapper extends BaseAttributeWrapper { -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Element/StyleAttribute.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Element/StyleAttribute.d.ts deleted file mode 100644 index 8d87aa16ff..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Element/StyleAttribute.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -import Attribute from '../../../nodes/Attribute'; -import Block from '../../Block'; -import AttributeWrapper from './Attribute'; -import ElementWrapper from '../Element'; -import Expression from '../../../nodes/shared/Expression'; -import Text from '../../../nodes/Text'; -export interface StyleProp { - key: string; - value: Array; - important: boolean; -} -export default class StyleAttributeWrapper extends AttributeWrapper { - node: Attribute; - parent: ElementWrapper; - render(block: Block): void; -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Element/fix_attribute_casing.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Element/fix_attribute_casing.d.ts deleted file mode 100644 index fb7c2f6fc1..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Element/fix_attribute_casing.d.ts +++ /dev/null @@ -1 +0,0 @@ -export default function fix_attribute_casing(name: any): any; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Element/handle_select_value_binding.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Element/handle_select_value_binding.d.ts deleted file mode 100644 index baf19adf1e..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Element/handle_select_value_binding.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import AttributeWrapper from './Attribute'; -import BindingWrapper from './Binding'; -export default function handle_select_value_binding(attr: AttributeWrapper | BindingWrapper, dependencies: Set): void; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Element/index.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Element/index.d.ts deleted file mode 100644 index c28da5c636..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Element/index.d.ts +++ /dev/null @@ -1,204 +0,0 @@ -import Renderer from '../../Renderer'; -import Element from '../../../nodes/Element'; -import Wrapper from '../shared/Wrapper'; -import Block from '../../Block'; -import FragmentWrapper from '../Fragment'; -import AttributeWrapper from './Attribute'; -import StyleAttributeWrapper from './StyleAttribute'; -import SpreadAttributeWrapper from './SpreadAttribute'; -import Binding from './Binding'; -import { Identifier } from 'estree'; -import EventHandler from './EventHandler'; -interface BindingGroup { - events: string[]; - bindings: Binding[]; -} -export default class ElementWrapper extends Wrapper { - node: Element; - fragment: FragmentWrapper; - attributes: Array; - bindings: Binding[]; - event_handlers: EventHandler[]; - class_dependencies: string[]; - select_binding_dependencies?: Set; - var: any; - void: boolean; - constructor(renderer: Renderer, block: Block, parent: Wrapper, node: Element, strip_whitespace: boolean, next_sibling: Wrapper); - render(block: Block, parent_node: Identifier, parent_nodes: Identifier): void; - can_use_textcontent(): boolean; - get_render_statement(block: Block): (Identifier & { - start: number; - end: number; - }) | (import("estree").SimpleLiteral & { - start: number; - end: number; - }) | (import("estree").RegExpLiteral & { - start: number; - end: number; - }) | (import("estree").BigIntLiteral & { - start: number; - end: number; - }) | (import("estree").FunctionExpression & { - start: number; - end: number; - }) | (import("estree").ArrowFunctionExpression & { - start: number; - end: number; - }) | (import("estree").ThisExpression & { - start: number; - end: number; - }) | (import("estree").ArrayExpression & { - start: number; - end: number; - }) | (import("estree").ObjectExpression & { - start: number; - end: number; - }) | (import("estree").YieldExpression & { - start: number; - end: number; - }) | (import("estree").UnaryExpression & { - start: number; - end: number; - }) | (import("estree").UpdateExpression & { - start: number; - end: number; - }) | (import("estree").BinaryExpression & { - start: number; - end: number; - }) | (import("estree").AssignmentExpression & { - start: number; - end: number; - }) | (import("estree").LogicalExpression & { - start: number; - end: number; - }) | (import("estree").MemberExpression & { - start: number; - end: number; - }) | (import("estree").ConditionalExpression & { - start: number; - end: number; - }) | (import("estree").SimpleCallExpression & { - start: number; - end: number; - }) | (import("estree").NewExpression & { - start: number; - end: number; - }) | (import("estree").SequenceExpression & { - start: number; - end: number; - }) | (import("estree").TemplateLiteral & { - start: number; - end: number; - }) | (import("estree").TaggedTemplateExpression & { - start: number; - end: number; - }) | (import("estree").ClassExpression & { - start: number; - end: number; - }) | (import("estree").MetaProperty & { - start: number; - end: number; - }) | (import("estree").AwaitExpression & { - start: number; - end: number; - }) | (import("estree").ImportExpression & { - start: number; - end: number; - }) | (import("estree").ChainExpression & { - start: number; - end: number; - }); - get_claim_statement(nodes: Identifier): (Identifier & { - start: number; - end: number; - }) | (import("estree").SimpleLiteral & { - start: number; - end: number; - }) | (import("estree").RegExpLiteral & { - start: number; - end: number; - }) | (import("estree").BigIntLiteral & { - start: number; - end: number; - }) | (import("estree").FunctionExpression & { - start: number; - end: number; - }) | (import("estree").ArrowFunctionExpression & { - start: number; - end: number; - }) | (import("estree").ThisExpression & { - start: number; - end: number; - }) | (import("estree").ArrayExpression & { - start: number; - end: number; - }) | (import("estree").ObjectExpression & { - start: number; - end: number; - }) | (import("estree").YieldExpression & { - start: number; - end: number; - }) | (import("estree").UnaryExpression & { - start: number; - end: number; - }) | (import("estree").UpdateExpression & { - start: number; - end: number; - }) | (import("estree").BinaryExpression & { - start: number; - end: number; - }) | (import("estree").AssignmentExpression & { - start: number; - end: number; - }) | (import("estree").LogicalExpression & { - start: number; - end: number; - }) | (import("estree").MemberExpression & { - start: number; - end: number; - }) | (import("estree").ConditionalExpression & { - start: number; - end: number; - }) | (import("estree").SimpleCallExpression & { - start: number; - end: number; - }) | (import("estree").NewExpression & { - start: number; - end: number; - }) | (import("estree").SequenceExpression & { - start: number; - end: number; - }) | (import("estree").TemplateLiteral & { - start: number; - end: number; - }) | (import("estree").TaggedTemplateExpression & { - start: number; - end: number; - }) | (import("estree").ClassExpression & { - start: number; - end: number; - }) | (import("estree").MetaProperty & { - start: number; - end: number; - }) | (import("estree").AwaitExpression & { - start: number; - end: number; - }) | (import("estree").ImportExpression & { - start: number; - end: number; - }) | (import("estree").ChainExpression & { - start: number; - end: number; - }); - add_directives_in_order(block: Block): void; - add_bindings(block: Block, binding_group: BindingGroup): void; - add_this_binding(block: Block, this_binding: Binding): void; - add_attributes(block: Block): void; - add_spread_attributes(block: Block): void; - add_transitions(block: Block): void; - add_animation(block: Block): void; - add_classes(block: Block): void; - add_styles(block: Block): void; - add_manual_style_scoping(block: any): void; -} -export {}; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Fragment.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Fragment.d.ts deleted file mode 100644 index d320e7c7a3..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Fragment.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import Wrapper from './shared/Wrapper'; -import { INode } from '../../nodes/interfaces'; -import Renderer from '../Renderer'; -import Block from '../Block'; -import { Identifier } from 'estree'; -export default class FragmentWrapper { - nodes: Wrapper[]; - constructor(renderer: Renderer, block: Block, nodes: INode[], parent: Wrapper, strip_whitespace: boolean, next_sibling: Wrapper); - render(block: Block, parent_node: Identifier, parent_nodes: Identifier): void; -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Head.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Head.d.ts deleted file mode 100644 index e21de0349f..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Head.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import Wrapper from './shared/Wrapper'; -import Renderer from '../Renderer'; -import Block from '../Block'; -import Head from '../../nodes/Head'; -import FragmentWrapper from './Fragment'; -import { Identifier } from 'estree'; -export default class HeadWrapper extends Wrapper { - fragment: FragmentWrapper; - node: Head; - constructor(renderer: Renderer, block: Block, parent: Wrapper, node: Head, strip_whitespace: boolean, next_sibling: Wrapper); - render(block: Block, _parent_node: Identifier, _parent_nodes: Identifier): void; -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/IfBlock.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/IfBlock.d.ts deleted file mode 100644 index 9fbbd50a83..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/IfBlock.d.ts +++ /dev/null @@ -1,47 +0,0 @@ -import Wrapper from './shared/Wrapper'; -import Renderer from '../Renderer'; -import Block from '../Block'; -import EachBlock from '../../nodes/EachBlock'; -import IfBlock from '../../nodes/IfBlock'; -import ElseBlock from '../../nodes/ElseBlock'; -import FragmentWrapper from './Fragment'; -import { Identifier, Node } from 'estree'; -declare class IfBlockBranch extends Wrapper { - block: Block; - fragment: FragmentWrapper; - dependencies?: string[]; - condition?: any; - snippet?: Node; - is_dynamic: boolean; - var: any; - constructor(renderer: Renderer, block: Block, parent: IfBlockWrapper, node: IfBlock | ElseBlock, strip_whitespace: boolean, next_sibling: Wrapper); -} -export default class IfBlockWrapper extends Wrapper { - node: IfBlock; - branches: IfBlockBranch[]; - needs_update: boolean; - var: Identifier; - constructor(renderer: Renderer, block: Block, parent: Wrapper, node: EachBlock, strip_whitespace: boolean, next_sibling: Wrapper); - render(block: Block, parent_node: Identifier, parent_nodes: Identifier): void; - render_compound(block: Block, parent_node: Identifier, _parent_nodes: Identifier, dynamic: any, { name, anchor, has_else, if_exists_condition, has_transitions }: { - name: any; - anchor: any; - has_else: any; - if_exists_condition: any; - has_transitions: any; - }, detaching: any): void; - render_compound_with_outros(block: Block, parent_node: Identifier, _parent_nodes: Identifier, dynamic: any, { name, anchor, has_else, has_transitions, if_exists_condition }: { - name: any; - anchor: any; - has_else: any; - has_transitions: any; - if_exists_condition: any; - }, detaching: any): void; - render_simple(block: Block, parent_node: Identifier, _parent_nodes: Identifier, dynamic: any, { name, anchor, if_exists_condition, has_transitions }: { - name: any; - anchor: any; - if_exists_condition: any; - has_transitions: any; - }, detaching: any): void; -} -export {}; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/InlineComponent/index.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/InlineComponent/index.d.ts deleted file mode 100644 index 6d7993bb31..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/InlineComponent/index.d.ts +++ /dev/null @@ -1,25 +0,0 @@ -import Wrapper from '../shared/Wrapper'; -import Renderer from '../../Renderer'; -import Block from '../../Block'; -import InlineComponent from '../../../nodes/InlineComponent'; -import FragmentWrapper from '../Fragment'; -import TemplateScope from '../../../nodes/shared/TemplateScope'; -import { Node, Identifier } from 'estree'; -declare type SlotDefinition = { - block: Block; - scope: TemplateScope; - get_context?: Node; - get_changes?: Node; -}; -export default class InlineComponentWrapper extends Wrapper { - var: Identifier; - slots: Map; - node: InlineComponent; - fragment: FragmentWrapper; - children: Array; - constructor(renderer: Renderer, block: Block, parent: Wrapper, node: InlineComponent, strip_whitespace: boolean, next_sibling: Wrapper); - set_slot(name: string, slot_definition: SlotDefinition): void; - warn_if_reactive(): void; - render(block: Block, parent_node: Identifier, parent_nodes: Identifier): void; -} -export {}; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/KeyBlock.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/KeyBlock.d.ts deleted file mode 100644 index 0dda974e0a..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/KeyBlock.d.ts +++ /dev/null @@ -1,18 +0,0 @@ -import Wrapper from './shared/Wrapper'; -import Renderer from '../Renderer'; -import Block from '../Block'; -import EachBlock from '../../nodes/EachBlock'; -import KeyBlock from '../../nodes/KeyBlock'; -import FragmentWrapper from './Fragment'; -import { Identifier } from 'estree'; -export default class KeyBlockWrapper extends Wrapper { - node: KeyBlock; - fragment: FragmentWrapper; - block: Block; - dependencies: string[]; - var: Identifier; - constructor(renderer: Renderer, block: Block, parent: Wrapper, node: EachBlock, strip_whitespace: boolean, next_sibling: Wrapper); - render(block: Block, parent_node: Identifier, parent_nodes: Identifier): void; - render_static_key(_block: Block, parent_node: Identifier, parent_nodes: Identifier): void; - render_dynamic_key(block: Block, parent_node: Identifier, parent_nodes: Identifier): void; -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/MustacheTag.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/MustacheTag.d.ts deleted file mode 100644 index 32decd6ee4..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/MustacheTag.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import Renderer from '../Renderer'; -import Block from '../Block'; -import Tag from './shared/Tag'; -import Wrapper from './shared/Wrapper'; -import MustacheTag from '../../nodes/MustacheTag'; -import RawMustacheTag from '../../nodes/RawMustacheTag'; -import { Identifier } from 'estree'; -export default class MustacheTagWrapper extends Tag { - var: Identifier; - constructor(renderer: Renderer, block: Block, parent: Wrapper, node: MustacheTag | RawMustacheTag); - render(block: Block, parent_node: Identifier, parent_nodes: Identifier): void; -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/RawMustacheTag.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/RawMustacheTag.d.ts deleted file mode 100644 index e1b0842ea4..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/RawMustacheTag.d.ts +++ /dev/null @@ -1,12 +0,0 @@ -import Renderer from '../Renderer'; -import Block from '../Block'; -import Tag from './shared/Tag'; -import Wrapper from './shared/Wrapper'; -import MustacheTag from '../../nodes/MustacheTag'; -import RawMustacheTag from '../../nodes/RawMustacheTag'; -import { Identifier } from 'estree'; -export default class RawMustacheTagWrapper extends Tag { - var: Identifier; - constructor(renderer: Renderer, block: Block, parent: Wrapper, node: MustacheTag | RawMustacheTag); - render(block: Block, parent_node: Identifier, _parent_nodes: Identifier): void; -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Slot.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Slot.d.ts deleted file mode 100644 index dbfb324da3..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Slot.d.ts +++ /dev/null @@ -1,17 +0,0 @@ -import Wrapper from './shared/Wrapper'; -import Renderer from '../Renderer'; -import Block from '../Block'; -import Slot from '../../nodes/Slot'; -import FragmentWrapper from './Fragment'; -import { Identifier } from 'estree'; -export default class SlotWrapper extends Wrapper { - node: Slot; - fragment: FragmentWrapper; - fallback: Block | null; - slot_block: Block; - var: Identifier; - dependencies: Set; - constructor(renderer: Renderer, block: Block, parent: Wrapper, node: Slot, strip_whitespace: boolean, next_sibling: Wrapper); - render(block: Block, parent_node: Identifier, parent_nodes: Identifier): void; - is_dependency_dynamic(name: string): boolean; -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/SlotTemplate.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/SlotTemplate.d.ts deleted file mode 100644 index e8f27a0068..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/SlotTemplate.d.ts +++ /dev/null @@ -1,15 +0,0 @@ -import Wrapper from './shared/Wrapper'; -import Renderer from '../Renderer'; -import Block from '../Block'; -import FragmentWrapper from './Fragment'; -import InlineComponentWrapper from './InlineComponent'; -import SlotTemplate from '../../nodes/SlotTemplate'; -export default class SlotTemplateWrapper extends Wrapper { - node: SlotTemplate; - fragment: FragmentWrapper; - block: Block; - parent: InlineComponentWrapper; - constructor(renderer: Renderer, block: Block, parent: Wrapper, node: SlotTemplate, strip_whitespace: boolean, next_sibling: Wrapper); - render(): void; - render_get_context(): void; -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Text.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Text.d.ts deleted file mode 100644 index be0981fff1..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Text.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -import Renderer from '../Renderer'; -import Block from '../Block'; -import Text from '../../nodes/Text'; -import Wrapper from './shared/Wrapper'; -import { Identifier } from 'estree'; -export default class TextWrapper extends Wrapper { - node: Text; - data: string; - skip: boolean; - var: Identifier; - constructor(renderer: Renderer, block: Block, parent: Wrapper, node: Text, data: string); - use_space(): boolean; - render(block: Block, parent_node: Identifier, parent_nodes: Identifier): void; -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Title.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Title.d.ts deleted file mode 100644 index f4a6880b0a..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Title.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import Wrapper from './shared/Wrapper'; -import Renderer from '../Renderer'; -import Block from '../Block'; -import Title from '../../nodes/Title'; -import { Identifier } from 'estree'; -export default class TitleWrapper extends Wrapper { - node: Title; - constructor(renderer: Renderer, block: Block, parent: Wrapper, node: Title, _strip_whitespace: boolean, _next_sibling: Wrapper); - render(block: Block, _parent_node: Identifier, _parent_nodes: Identifier): void; -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Window.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Window.d.ts deleted file mode 100644 index 14cc85988a..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/Window.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -import Renderer from '../Renderer'; -import Block from '../Block'; -import Wrapper from './shared/Wrapper'; -import Window from '../../nodes/Window'; -import { Identifier } from 'estree'; -import { TemplateNode } from '../../../interfaces'; -import EventHandler from './Element/EventHandler'; -export default class WindowWrapper extends Wrapper { - node: Window; - handlers: EventHandler[]; - constructor(renderer: Renderer, block: Block, parent: Wrapper, node: TemplateNode); - render(block: Block, _parent_node: Identifier, _parent_nodes: Identifier): void; -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/Tag.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/Tag.d.ts deleted file mode 100644 index ea1b75f208..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/Tag.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -import Wrapper from './Wrapper'; -import Renderer from '../../Renderer'; -import Block from '../../Block'; -import MustacheTag from '../../../nodes/MustacheTag'; -import RawMustacheTag from '../../../nodes/RawMustacheTag'; -import { Node } from 'estree'; -export default class Tag extends Wrapper { - node: MustacheTag | RawMustacheTag; - constructor(renderer: Renderer, block: Block, parent: Wrapper, node: MustacheTag | RawMustacheTag); - is_dependencies_static(): boolean; - rename_this_method(block: Block, update: ((value: Node) => (Node | Node[]))): { - init: import("estree").Identifier | import("estree").SimpleLiteral | import("estree").RegExpLiteral | import("estree").BigIntLiteral | import("estree").Program | import("estree").FunctionDeclaration | import("estree").FunctionExpression | import("estree").ArrowFunctionExpression | import("estree").SwitchCase | import("estree").CatchClause | import("estree").VariableDeclarator | import("estree").ExpressionStatement | import("estree").BlockStatement | import("estree").EmptyStatement | import("estree").DebuggerStatement | import("estree").WithStatement | import("estree").ReturnStatement | import("estree").LabeledStatement | import("estree").BreakStatement | import("estree").ContinueStatement | import("estree").IfStatement | import("estree").SwitchStatement | import("estree").ThrowStatement | import("estree").TryStatement | import("estree").WhileStatement | import("estree").DoWhileStatement | import("estree").ForStatement | import("estree").ForInStatement | import("estree").ForOfStatement | import("estree").VariableDeclaration | import("estree").ClassDeclaration | import("estree").ThisExpression | import("estree").ArrayExpression | import("estree").ObjectExpression | import("estree").YieldExpression | import("estree").UnaryExpression | import("estree").UpdateExpression | import("estree").BinaryExpression | import("estree").AssignmentExpression | import("estree").LogicalExpression | import("estree").MemberExpression | import("estree").ConditionalExpression | import("estree").SimpleCallExpression | import("estree").NewExpression | import("estree").SequenceExpression | import("estree").TemplateLiteral | import("estree").TaggedTemplateExpression | import("estree").ClassExpression | import("estree").MetaProperty | import("estree").AwaitExpression | import("estree").ImportExpression | import("estree").ChainExpression | import("estree").PrivateIdentifier | import("estree").Property | import("estree").PropertyDefinition | import("estree").Super | import("estree").TemplateElement | import("estree").SpreadElement | import("estree").ObjectPattern | import("estree").ArrayPattern | import("estree").RestElement | import("estree").AssignmentPattern | import("estree").ClassBody | import("estree").MethodDefinition | import("estree").ImportDeclaration | import("estree").ExportNamedDeclaration | import("estree").ExportDefaultDeclaration | import("estree").ExportAllDeclaration | import("estree").ImportSpecifier | import("estree").ImportDefaultSpecifier | import("estree").ImportNamespaceSpecifier | import("estree").ExportSpecifier; - }; -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/Wrapper.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/Wrapper.d.ts deleted file mode 100644 index 411bf0f603..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/Wrapper.d.ts +++ /dev/null @@ -1,21 +0,0 @@ -import Renderer from '../../Renderer'; -import Block from '../../Block'; -import { TemplateNode } from '../../../../interfaces'; -import { Identifier } from 'estree'; -export default class Wrapper { - renderer: Renderer; - parent: Wrapper; - node: TemplateNode; - prev: Wrapper | null; - next: Wrapper | null; - var: Identifier; - can_use_innerhtml: boolean; - is_static_content: boolean; - constructor(renderer: Renderer, block: Block, parent: Wrapper, node: TemplateNode); - cannot_use_innerhtml(): void; - not_static_content(): void; - get_or_create_anchor(block: Block, parent_node: Identifier, parent_nodes: Identifier): Identifier; - get_update_mount_node(anchor: Identifier): Identifier; - is_dom_node(): boolean; - render(_block: Block, _parent_node: Identifier, _parent_nodes: Identifier): void; -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/add_actions.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/add_actions.d.ts deleted file mode 100644 index fb310cacc1..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/add_actions.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import Block from '../../Block'; -import Action from '../../../nodes/Action'; -import { Expression } from 'estree'; -export default function add_actions(block: Block, target: string | Expression, actions: Action[]): void; -export declare function add_action(block: Block, target: string | Expression, action: Action): void; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/add_const_tags.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/add_const_tags.d.ts deleted file mode 100644 index ebad3cc58b..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/add_const_tags.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import ConstTag from '../../../nodes/ConstTag'; -import Block from '../../Block'; -import Renderer from '../../Renderer'; -export declare function add_const_tags(block: Block, const_tags: ConstTag[], ctx: string): any[]; -export declare function add_const_tags_context(renderer: Renderer, const_tags: ConstTag[]): void; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/add_event_handlers.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/add_event_handlers.d.ts deleted file mode 100644 index 2f48107f07..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/add_event_handlers.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import Block from '../../Block'; -import EventHandler from '../Element/EventHandler'; -import { Expression } from 'estree'; -export default function add_event_handlers(block: Block, target: string | Expression, handlers: EventHandler[]): void; -export declare function add_event_handler(block: Block, target: string | Expression, handler: EventHandler): void; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/bind_this.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/bind_this.d.ts deleted file mode 100644 index ebe3178598..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/bind_this.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import Component from '../../../Component'; -import Block from '../../Block'; -import BindingWrapper from '../Element/Binding'; -import { Identifier } from 'estree'; -export default function bind_this(component: Component, block: Block, binding: BindingWrapper, variable: Identifier): import("estree").Node[]; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/create_debugging_comment.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/create_debugging_comment.d.ts deleted file mode 100644 index a8155e0712..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/create_debugging_comment.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import Component from '../../../Component'; -import { INode } from '../../../nodes/interfaces'; -export default function create_debugging_comment(node: INode, component: Component): string; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/get_slot_definition.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/get_slot_definition.d.ts deleted file mode 100644 index 9ef196c2bd..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/get_slot_definition.d.ts +++ /dev/null @@ -1,177 +0,0 @@ -import Let from '../../../nodes/Let'; -import Block from '../../Block'; -import TemplateScope from '../../../nodes/shared/TemplateScope'; -import { BinaryExpression } from 'estree'; -export declare function get_slot_definition(block: Block, scope: TemplateScope, lets: Let[]): { - block: Block; - scope: TemplateScope; - get_context?: undefined; - get_changes?: undefined; -} | { - block: Block; - scope: TemplateScope; - get_context: (import("estree").Identifier & { - start: number; - end: number; - }) | (import("estree").SimpleLiteral & { - start: number; - end: number; - }) | (import("estree").RegExpLiteral & { - start: number; - end: number; - }) | (import("estree").BigIntLiteral & { - start: number; - end: number; - }) | (import("estree").FunctionExpression & { - start: number; - end: number; - }) | (import("estree").ArrowFunctionExpression & { - start: number; - end: number; - }) | (import("estree").ThisExpression & { - start: number; - end: number; - }) | (import("estree").ArrayExpression & { - start: number; - end: number; - }) | (import("estree").ObjectExpression & { - start: number; - end: number; - }) | (import("estree").YieldExpression & { - start: number; - end: number; - }) | (import("estree").UnaryExpression & { - start: number; - end: number; - }) | (import("estree").UpdateExpression & { - start: number; - end: number; - }) | (BinaryExpression & { - start: number; - end: number; - }) | (import("estree").AssignmentExpression & { - start: number; - end: number; - }) | (import("estree").LogicalExpression & { - start: number; - end: number; - }) | (import("estree").MemberExpression & { - start: number; - end: number; - }) | (import("estree").ConditionalExpression & { - start: number; - end: number; - }) | (import("estree").SimpleCallExpression & { - start: number; - end: number; - }) | (import("estree").NewExpression & { - start: number; - end: number; - }) | (import("estree").SequenceExpression & { - start: number; - end: number; - }) | (import("estree").TemplateLiteral & { - start: number; - end: number; - }) | (import("estree").TaggedTemplateExpression & { - start: number; - end: number; - }) | (import("estree").ClassExpression & { - start: number; - end: number; - }) | (import("estree").MetaProperty & { - start: number; - end: number; - }) | (import("estree").AwaitExpression & { - start: number; - end: number; - }) | (import("estree").ImportExpression & { - start: number; - end: number; - }) | (import("estree").ChainExpression & { - start: number; - end: number; - }); - get_changes: (import("estree").Identifier & { - start: number; - end: number; - }) | (import("estree").SimpleLiteral & { - start: number; - end: number; - }) | (import("estree").RegExpLiteral & { - start: number; - end: number; - }) | (import("estree").BigIntLiteral & { - start: number; - end: number; - }) | (import("estree").FunctionExpression & { - start: number; - end: number; - }) | (import("estree").ArrowFunctionExpression & { - start: number; - end: number; - }) | (import("estree").ThisExpression & { - start: number; - end: number; - }) | (import("estree").ArrayExpression & { - start: number; - end: number; - }) | (import("estree").ObjectExpression & { - start: number; - end: number; - }) | (import("estree").YieldExpression & { - start: number; - end: number; - }) | (import("estree").UnaryExpression & { - start: number; - end: number; - }) | (import("estree").UpdateExpression & { - start: number; - end: number; - }) | (BinaryExpression & { - start: number; - end: number; - }) | (import("estree").AssignmentExpression & { - start: number; - end: number; - }) | (import("estree").LogicalExpression & { - start: number; - end: number; - }) | (import("estree").MemberExpression & { - start: number; - end: number; - }) | (import("estree").ConditionalExpression & { - start: number; - end: number; - }) | (import("estree").SimpleCallExpression & { - start: number; - end: number; - }) | (import("estree").NewExpression & { - start: number; - end: number; - }) | (import("estree").SequenceExpression & { - start: number; - end: number; - }) | (import("estree").TemplateLiteral & { - start: number; - end: number; - }) | (import("estree").TaggedTemplateExpression & { - start: number; - end: number; - }) | (import("estree").ClassExpression & { - start: number; - end: number; - }) | (import("estree").MetaProperty & { - start: number; - end: number; - }) | (import("estree").AwaitExpression & { - start: number; - end: number; - }) | (import("estree").ImportExpression & { - start: number; - end: number; - }) | (import("estree").ChainExpression & { - start: number; - end: number; - }); -}; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/is_dynamic.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/is_dynamic.d.ts deleted file mode 100644 index ccc3a7115e..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/is_dynamic.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import { Var } from '../../../../interfaces'; -export default function is_dynamic(variable: Var): boolean; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/is_head.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/is_head.d.ts deleted file mode 100644 index 2808651cef..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/is_head.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare function is_head(node: any): boolean; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/mark_each_block_bindings.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/mark_each_block_bindings.d.ts deleted file mode 100644 index e2aa830978..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_dom/wrappers/shared/mark_each_block_bindings.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import InlineComponentWrapper from '../InlineComponent'; -import ElementWrapper from '../Element'; -import Binding from '../../../nodes/Binding'; -export default function mark_each_block_bindings(parent: ElementWrapper | InlineComponentWrapper, binding: Binding): void; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/Renderer.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/Renderer.d.ts deleted file mode 100644 index 2a7f295519..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/Renderer.d.ts +++ /dev/null @@ -1,33 +0,0 @@ -import { AppendTarget, CompileOptions } from '../../interfaces'; -import { INode } from '../nodes/interfaces'; -import { Expression, TemplateLiteral, Identifier } from 'estree'; -export interface RenderOptions extends CompileOptions { - locate: (c: number) => { - line: number; - column: number; - }; - head_id?: string; -} -export default class Renderer { - has_bindings: boolean; - name: Identifier; - stack: Array<{ - current: { - value: string; - }; - literal: TemplateLiteral; - }>; - current: { - value: string; - }; - literal: TemplateLiteral; - targets: AppendTarget[]; - constructor({ name }: { - name: any; - }); - add_string(str: string): void; - add_expression(node: Expression): void; - push(): void; - pop(): TemplateLiteral; - render(nodes: INode[], options: RenderOptions): void; -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/AwaitBlock.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/AwaitBlock.d.ts deleted file mode 100644 index 9ac74d6634..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/AwaitBlock.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import Renderer, { RenderOptions } from '../Renderer'; -import AwaitBlock from '../../nodes/AwaitBlock'; -export default function (node: AwaitBlock, renderer: Renderer, options: RenderOptions): void; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/Comment.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/Comment.d.ts deleted file mode 100644 index 3ceb965c1c..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/Comment.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import Renderer, { RenderOptions } from '../Renderer'; -import Comment from '../../nodes/Comment'; -export default function (node: Comment, renderer: Renderer, options: RenderOptions): void; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/DebugTag.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/DebugTag.d.ts deleted file mode 100644 index 737c104d02..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/DebugTag.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import DebugTag from '../../nodes/DebugTag'; -import Renderer, { RenderOptions } from '../Renderer'; -export default function (node: DebugTag, renderer: Renderer, options: RenderOptions): void; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/EachBlock.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/EachBlock.d.ts deleted file mode 100644 index 5ecd8599aa..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/EachBlock.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import Renderer, { RenderOptions } from '../Renderer'; -import EachBlock from '../../nodes/EachBlock'; -export default function (node: EachBlock, renderer: Renderer, options: RenderOptions): void; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/Element.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/Element.d.ts deleted file mode 100644 index c426b71b69..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/Element.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import Renderer, { RenderOptions } from '../Renderer'; -import Element from '../../nodes/Element'; -export default function (node: Element, renderer: Renderer, options: RenderOptions): void; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/Head.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/Head.d.ts deleted file mode 100644 index add6c178ec..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/Head.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import Renderer, { RenderOptions } from '../Renderer'; -import Head from '../../nodes/Head'; -export default function (node: Head, renderer: Renderer, options: RenderOptions): void; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/HtmlTag.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/HtmlTag.d.ts deleted file mode 100644 index c86d6e87be..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/HtmlTag.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import Renderer, { RenderOptions } from '../Renderer'; -import RawMustacheTag from '../../nodes/RawMustacheTag'; -export default function (node: RawMustacheTag, renderer: Renderer, options: RenderOptions): void; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/IfBlock.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/IfBlock.d.ts deleted file mode 100644 index c5be3d0920..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/IfBlock.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import IfBlock from '../../nodes/IfBlock'; -import Renderer, { RenderOptions } from '../Renderer'; -export default function (node: IfBlock, renderer: Renderer, options: RenderOptions): void; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/InlineComponent.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/InlineComponent.d.ts deleted file mode 100644 index fd52d3a187..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/InlineComponent.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import Renderer, { RenderOptions } from '../Renderer'; -import InlineComponent from '../../nodes/InlineComponent'; -export default function (node: InlineComponent, renderer: Renderer, options: RenderOptions): void; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/KeyBlock.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/KeyBlock.d.ts deleted file mode 100644 index ab71c23b1e..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/KeyBlock.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import KeyBlock from '../../nodes/KeyBlock'; -import Renderer, { RenderOptions } from '../Renderer'; -export default function (node: KeyBlock, renderer: Renderer, options: RenderOptions): void; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/Slot.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/Slot.d.ts deleted file mode 100644 index b07dd1374e..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/Slot.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import Renderer, { RenderOptions } from '../Renderer'; -import Slot from '../../nodes/Slot'; -export default function (node: Slot, renderer: Renderer, options: RenderOptions & { - slot_scopes: Map; -}): void; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/SlotTemplate.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/SlotTemplate.d.ts deleted file mode 100644 index 3eeecb2528..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/SlotTemplate.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import Renderer, { RenderOptions } from '../Renderer'; -import SlotTemplate from '../../nodes/SlotTemplate'; -export default function (node: SlotTemplate, renderer: Renderer, options: RenderOptions & { - slot_scopes: Map; -}): void; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/Tag.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/Tag.d.ts deleted file mode 100644 index a37afab5ea..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/Tag.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import Renderer, { RenderOptions } from '../Renderer'; -export default function (node: any, renderer: Renderer, _options: RenderOptions): void; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/Text.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/Text.d.ts deleted file mode 100644 index 8b6a668f43..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/Text.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import Renderer, { RenderOptions } from '../Renderer'; -import Text from '../../nodes/Text'; -export default function (node: Text, renderer: Renderer, _options: RenderOptions): void; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/Title.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/Title.d.ts deleted file mode 100644 index 14d4b2d4d5..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/Title.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import Renderer, { RenderOptions } from '../Renderer'; -import Title from '../../nodes/Title'; -export default function (node: Title, renderer: Renderer, options: RenderOptions): void; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/shared/boolean_attributes.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/shared/boolean_attributes.d.ts deleted file mode 100644 index 5ae12c9c92..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/shared/boolean_attributes.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const boolean_attributes: Set; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/shared/get_attribute_value.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/shared/get_attribute_value.d.ts deleted file mode 100644 index e1e6f9c220..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/shared/get_attribute_value.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import Attribute from '../../../nodes/Attribute'; -import { Expression as ESTreeExpression } from 'estree'; -export declare function get_class_attribute_value(attribute: Attribute): ESTreeExpression; -export declare function get_attribute_value(attribute: Attribute): ESTreeExpression; -export declare function get_attribute_expression(attribute: Attribute): ESTreeExpression; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/shared/get_const_tags.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/shared/get_const_tags.d.ts deleted file mode 100644 index f90eb8bb8b..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/shared/get_const_tags.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -import ConstTag from '../../../nodes/ConstTag'; -export declare function get_const_tags(const_tags: ConstTag[]): { - type: string; - kind: string; - declarations: { - type: string; - id: import("estree").Pattern; - init: import("estree").Expression; - }[]; -}; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/shared/get_slot_scope.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/shared/get_slot_scope.d.ts deleted file mode 100644 index 7e092af60b..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/shared/get_slot_scope.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import Let from '../../../nodes/Let'; -import { ObjectPattern } from 'estree'; -export declare function get_slot_scope(lets: Let[]): ObjectPattern; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/utils/remove_whitespace_children.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/utils/remove_whitespace_children.d.ts deleted file mode 100644 index 9776333b51..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/handlers/utils/remove_whitespace_children.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import { INode } from '../../../nodes/interfaces'; -export default function remove_whitespace_children(children: INode[], next?: INode): INode[]; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/index.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/index.d.ts deleted file mode 100644 index 0113077360..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/render_ssr/index.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import Component from '../Component'; -import { CompileOptions, CssResult } from '../../interfaces'; -import { Node } from 'estree'; -export default function ssr(component: Component, options: CompileOptions): { - js: Node[]; - css: CssResult; -}; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/__test__.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/__test__.d.ts deleted file mode 100644 index cb0ff5c3b5..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/__test__.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/add_to_set.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/add_to_set.d.ts deleted file mode 100644 index b620fbcc21..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/add_to_set.d.ts +++ /dev/null @@ -1 +0,0 @@ -export default function add_to_set(a: Set, b: Set | T[]): void; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/check_enable_sourcemap.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/check_enable_sourcemap.d.ts deleted file mode 100644 index e384bc6b6f..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/check_enable_sourcemap.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import { EnableSourcemap } from '../../interfaces'; -export default function check_enable_sourcemap(enable_sourcemap: EnableSourcemap, namespace: keyof Extract): boolean; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/check_graph_for_cycles.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/check_graph_for_cycles.d.ts deleted file mode 100644 index 6660f10cf7..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/check_graph_for_cycles.d.ts +++ /dev/null @@ -1 +0,0 @@ -export default function check_graph_for_cycles(edges: Array<[any, any]>): any[]; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/compare_node.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/compare_node.d.ts deleted file mode 100644 index 789f826082..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/compare_node.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import { Node } from 'estree'; -export declare function compare_node(a: Node | void, b: Node | void): any; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/flatten_reference.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/flatten_reference.d.ts deleted file mode 100644 index e074929820..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/flatten_reference.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Node } from 'estree'; -export default function flatten_reference(node: Node): { - name: string; - nodes: any[]; - parts: any[]; -}; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/get_name_from_filename.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/get_name_from_filename.d.ts deleted file mode 100644 index 25751c0f6e..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/get_name_from_filename.d.ts +++ /dev/null @@ -1 +0,0 @@ -export default function get_name_from_filename(filename: string): string; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/get_object.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/get_object.d.ts deleted file mode 100644 index dea68fb42c..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/get_object.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import { Node, Identifier } from 'estree'; -export default function get_object(node: Node): Identifier; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/get_slot_data.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/get_slot_data.d.ts deleted file mode 100644 index 4df1542d8c..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/get_slot_data.d.ts +++ /dev/null @@ -1,15 +0,0 @@ -import Attribute from '../nodes/Attribute'; -import Block from '../render_dom/Block'; -export default function get_slot_data(values: Map, block?: Block): { - type: string; - properties: ((import("estree").Property & { - start: number; - end: number; - }) | (import("estree").SpreadElement & { - start: number; - end: number; - }) | { - type: string; - argument: import("estree").Identifier | import("estree").SimpleLiteral | import("estree").RegExpLiteral | import("estree").BigIntLiteral | import("estree").Program | import("estree").FunctionDeclaration | import("estree").FunctionExpression | import("estree").ArrowFunctionExpression | import("estree").SwitchCase | import("estree").CatchClause | import("estree").VariableDeclarator | import("estree").ExpressionStatement | import("estree").BlockStatement | import("estree").EmptyStatement | import("estree").DebuggerStatement | import("estree").WithStatement | import("estree").ReturnStatement | import("estree").LabeledStatement | import("estree").BreakStatement | import("estree").ContinueStatement | import("estree").IfStatement | import("estree").SwitchStatement | import("estree").ThrowStatement | import("estree").TryStatement | import("estree").WhileStatement | import("estree").DoWhileStatement | import("estree").ForStatement | import("estree").ForInStatement | import("estree").ForOfStatement | import("estree").VariableDeclaration | import("estree").ClassDeclaration | import("estree").ThisExpression | import("estree").ArrayExpression | import("estree").ObjectExpression | import("estree").YieldExpression | import("estree").UnaryExpression | import("estree").UpdateExpression | import("estree").BinaryExpression | import("estree").AssignmentExpression | import("estree").LogicalExpression | import("estree").MemberExpression | import("estree").ConditionalExpression | import("estree").SimpleCallExpression | import("estree").NewExpression | import("estree").SequenceExpression | import("estree").TemplateLiteral | import("estree").TaggedTemplateExpression | import("estree").ClassExpression | import("estree").MetaProperty | import("estree").AwaitExpression | import("estree").ImportExpression | import("estree").ChainExpression | import("estree").PrivateIdentifier | import("estree").Property | import("estree").PropertyDefinition | import("estree").Super | import("estree").TemplateElement | import("estree").SpreadElement | import("estree").ObjectPattern | import("estree").ArrayPattern | import("estree").RestElement | import("estree").AssignmentPattern | import("estree").ClassBody | import("estree").MethodDefinition | import("estree").ImportDeclaration | import("estree").ExportNamedDeclaration | import("estree").ExportDefaultDeclaration | import("estree").ExportAllDeclaration | import("estree").ImportSpecifier | import("estree").ImportDefaultSpecifier | import("estree").ImportNamespaceSpecifier | import("estree").ExportSpecifier; - })[]; -}; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/hash.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/hash.d.ts deleted file mode 100644 index b1bb8bf71d..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/hash.d.ts +++ /dev/null @@ -1 +0,0 @@ -export default function hash(str: string): string; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/is_used_as_reference.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/is_used_as_reference.d.ts deleted file mode 100644 index ea52dbbae7..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/is_used_as_reference.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import { Node } from 'estree'; -export default function is_used_as_reference(node: Node, parent: Node): boolean; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/nodes_to_template_literal.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/nodes_to_template_literal.d.ts deleted file mode 100644 index cfdacb6c49..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/nodes_to_template_literal.d.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { TemplateLiteral } from 'estree'; -import { MustacheTag, Text } from '../../interfaces'; -/** - * Transforms a list of Text and MustacheTags into a TemplateLiteral expression. - * Start/End positions on the elements of the expression are not set. - */ -export declare function nodes_to_template_literal(value: Array): TemplateLiteral; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/replace_object.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/replace_object.d.ts deleted file mode 100644 index 13fd021939..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/replace_object.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import { Node } from 'estree'; -export default function replace_object(node: Node, replacement: Node): import("estree").Identifier | import("estree").SimpleLiteral | import("estree").RegExpLiteral | import("estree").BigIntLiteral | import("estree").Program | import("estree").FunctionDeclaration | import("estree").FunctionExpression | import("estree").ArrowFunctionExpression | import("estree").SwitchCase | import("estree").CatchClause | import("estree").VariableDeclarator | import("estree").ExpressionStatement | import("estree").BlockStatement | import("estree").EmptyStatement | import("estree").DebuggerStatement | import("estree").WithStatement | import("estree").ReturnStatement | import("estree").LabeledStatement | import("estree").BreakStatement | import("estree").ContinueStatement | import("estree").IfStatement | import("estree").SwitchStatement | import("estree").ThrowStatement | import("estree").TryStatement | import("estree").WhileStatement | import("estree").DoWhileStatement | import("estree").ForStatement | import("estree").ForInStatement | import("estree").ForOfStatement | import("estree").VariableDeclaration | import("estree").ClassDeclaration | import("estree").ThisExpression | import("estree").ArrayExpression | import("estree").ObjectExpression | import("estree").YieldExpression | import("estree").UnaryExpression | import("estree").UpdateExpression | import("estree").BinaryExpression | import("estree").AssignmentExpression | import("estree").LogicalExpression | import("estree").MemberExpression | import("estree").ConditionalExpression | import("estree").SimpleCallExpression | import("estree").NewExpression | import("estree").SequenceExpression | import("estree").TemplateLiteral | import("estree").TaggedTemplateExpression | import("estree").ClassExpression | import("estree").MetaProperty | import("estree").AwaitExpression | import("estree").ImportExpression | import("estree").ChainExpression | import("estree").PrivateIdentifier | import("estree").Property | import("estree").PropertyDefinition | import("estree").Super | import("estree").TemplateElement | import("estree").SpreadElement | import("estree").ObjectPattern | import("estree").ArrayPattern | import("estree").RestElement | import("estree").AssignmentPattern | import("estree").ClassBody | import("estree").MethodDefinition | import("estree").ImportDeclaration | import("estree").ExportNamedDeclaration | import("estree").ExportDefaultDeclaration | import("estree").ExportAllDeclaration | import("estree").ImportSpecifier | import("estree").ImportDefaultSpecifier | import("estree").ImportNamespaceSpecifier | import("estree").ExportSpecifier; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/reserved_keywords.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/reserved_keywords.d.ts deleted file mode 100644 index 77d723625e..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/reserved_keywords.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export declare const reserved_keywords: Set; -export declare function is_reserved_keyword(name: any): boolean; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/scope.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/scope.d.ts deleted file mode 100644 index e5b08f9d5c..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/scope.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { Node } from 'estree'; -import { Scope, extract_names, extract_identifiers } from 'periscopic'; -export declare function create_scopes(expression: Node): { - map: WeakMap; - scope: Scope; - globals: Map; -}; -export { Scope, extract_names, extract_identifiers }; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/string_to_member_expression.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/string_to_member_expression.d.ts deleted file mode 100644 index 76b07beec7..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/string_to_member_expression.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import { MemberExpression, Identifier } from 'estree'; -export declare function string_to_member_expression(name: string): Identifier | MemberExpression; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/stringify.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/stringify.d.ts deleted file mode 100644 index 471194a1be..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/compile/utils/stringify.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -export declare function string_literal(data: string): { - type: string; - value: string; -}; -export declare function escape(data: string, { only_escape_at_symbol }?: { - only_escape_at_symbol?: boolean; -}): string; -export declare function escape_html(html: any): string; -export declare function escape_template(str: any): any; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/config.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/config.d.ts deleted file mode 100644 index 66cb4d4e88..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/config.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const test: string; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/index.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/index.d.ts deleted file mode 100644 index 99fe8e027e..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/index.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -export { default as compile } from './compile/index'; -export { default as parse } from './parse/index'; -export { default as preprocess } from './preprocess/index'; -export { walk } from 'estree-walker'; -export declare const VERSION = "__VERSION__"; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/interfaces.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/interfaces.d.ts deleted file mode 100644 index b6a3e1255e..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/interfaces.d.ts +++ /dev/null @@ -1,186 +0,0 @@ -import { AssignmentExpression, Node, Program } from 'estree'; -import { SourceMap } from 'magic-string'; -interface BaseNode { - start: number; - end: number; - type: string; - children?: TemplateNode[]; - [prop_name: string]: any; -} -export interface Fragment extends BaseNode { - type: 'Fragment'; - children: TemplateNode[]; -} -export interface Text extends BaseNode { - type: 'Text'; - data: string; -} -export interface MustacheTag extends BaseNode { - type: 'MustacheTag' | 'RawMustacheTag'; - expression: Node; -} -export interface Comment extends BaseNode { - type: 'Comment'; - data: string; - ignores: string[]; -} -export interface ConstTag extends BaseNode { - type: 'ConstTag'; - expression: AssignmentExpression; -} -interface DebugTag extends BaseNode { - type: 'DebugTag'; - identifiers: Node[]; -} -export declare type DirectiveType = 'Action' | 'Animation' | 'Binding' | 'Class' | 'StyleDirective' | 'EventHandler' | 'Let' | 'Ref' | 'Transition'; -interface BaseDirective extends BaseNode { - type: DirectiveType; - name: string; -} -interface BaseExpressionDirective extends BaseDirective { - type: DirectiveType; - expression: null | Node; - name: string; - modifiers: string[]; -} -export interface Element extends BaseNode { - type: 'InlineComponent' | 'SlotTemplate' | 'Title' | 'Slot' | 'Element' | 'Head' | 'Options' | 'Window' | 'Body'; - attributes: Array; - name: string; -} -export interface Attribute extends BaseNode { - type: 'Attribute'; - name: string; - value: any[]; -} -export interface SpreadAttribute extends BaseNode { - type: 'Spread'; - expression: Node; -} -export interface Transition extends BaseExpressionDirective { - type: 'Transition'; - intro: boolean; - outro: boolean; -} -export declare type Directive = BaseDirective | BaseExpressionDirective | Transition; -export declare type TemplateNode = Text | ConstTag | DebugTag | MustacheTag | BaseNode | Element | Attribute | SpreadAttribute | Directive | Transition | Comment; -export interface Parser { - readonly template: string; - readonly filename?: string; - index: number; - stack: Node[]; - html: Node; - css: Node; - js: Node; - meta_tags: {}; -} -export interface Script extends BaseNode { - type: 'Script'; - context: string; - content: Program; -} -export interface Style extends BaseNode { - type: 'Style'; - attributes: any[]; - children: any[]; - content: { - start: number; - end: number; - styles: string; - }; -} -export interface Ast { - html: TemplateNode; - css: Style; - instance: Script; - module: Script; -} -export interface Warning { - start?: { - line: number; - column: number; - pos?: number; - }; - end?: { - line: number; - column: number; - }; - pos?: number; - code: string; - message: string; - filename?: string; - frame?: string; - toString: () => string; -} -export declare type ModuleFormat = 'esm' | 'cjs'; -export declare type EnableSourcemap = boolean | { - js: boolean; - css: boolean; -}; -export declare type CssHashGetter = (args: { - name: string; - filename: string | undefined; - css: string; - hash: (input: string) => string; -}) => string; -export interface CompileOptions { - format?: ModuleFormat; - name?: string; - filename?: string; - generate?: 'dom' | 'ssr' | false; - errorMode?: 'throw' | 'warn'; - varsReport?: 'full' | 'strict' | false; - sourcemap?: object | string; - enableSourcemap?: EnableSourcemap; - outputFilename?: string; - cssOutputFilename?: string; - sveltePath?: string; - dev?: boolean; - accessors?: boolean; - immutable?: boolean; - hydratable?: boolean; - legacy?: boolean; - customElement?: boolean; - tag?: string; - css?: boolean; - loopGuardTimeout?: number; - namespace?: string; - cssHash?: CssHashGetter; - preserveComments?: boolean; - preserveWhitespace?: boolean; -} -export interface ParserOptions { - filename?: string; - customElement?: boolean; -} -export interface Visitor { - enter: (node: Node) => void; - leave?: (node: Node) => void; -} -export interface AppendTarget { - slots: Record; - slot_stack: string[]; -} -export interface Var { - name: string; - export_name?: string; - injected?: boolean; - module?: boolean; - mutated?: boolean; - reassigned?: boolean; - referenced?: boolean; - referenced_from_script?: boolean; - writable?: boolean; - global?: boolean; - internal?: boolean; - initialised?: boolean; - hoistable?: boolean; - subscribable?: boolean; - is_reactive_dependency?: boolean; - imported?: boolean; -} -export interface CssResult { - code: string; - map: SourceMap; -} -export {}; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/parse/acorn.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/parse/acorn.d.ts deleted file mode 100644 index aadad5669d..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/parse/acorn.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { Node } from 'acorn'; -export declare const parse: (source: string) => Node; -export declare const parse_expression_at: (source: string, index: number) => Node; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/parse/errors.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/parse/errors.d.ts deleted file mode 100644 index cb0ff5c3b5..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/parse/errors.d.ts +++ /dev/null @@ -1 +0,0 @@ -export {}; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/parse/index.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/parse/index.d.ts deleted file mode 100644 index f87e30c0c9..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/parse/index.d.ts +++ /dev/null @@ -1,38 +0,0 @@ -import { TemplateNode, Ast, ParserOptions, Fragment, Style, Script } from '../interfaces'; -interface LastAutoClosedTag { - tag: string; - reason: string; - depth: number; -} -export declare class Parser { - readonly template: string; - readonly filename?: string; - readonly customElement: boolean; - index: number; - stack: TemplateNode[]; - html: Fragment; - css: Style[]; - js: Script[]; - meta_tags: {}; - last_auto_closed_tag?: LastAutoClosedTag; - constructor(template: string, options: ParserOptions); - current(): TemplateNode; - acorn_error(err: any): void; - error({ code, message }: { - code: string; - message: string; - }, index?: number): void; - eat(str: string, required?: boolean, error?: { - code: string; - message: string; - }): boolean; - match(str: string): boolean; - match_regex(pattern: RegExp): string; - allow_whitespace(): void; - read(pattern: RegExp): string; - read_identifier(allow_reserved?: boolean): string; - read_until(pattern: RegExp, error_message?: Parameters[0]): string; - require_whitespace(): void; -} -export default function parse(template: string, options?: ParserOptions): Ast; -export {}; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/parse/read/context.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/parse/read/context.d.ts deleted file mode 100644 index e6d53f41dc..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/parse/read/context.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { Parser } from '../index'; -import { Pattern } from 'estree'; -export default function read_context(parser: Parser): Pattern & { - start: number; - end: number; -}; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/parse/read/expression.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/parse/read/expression.d.ts deleted file mode 100644 index 2f74b1ae35..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/parse/read/expression.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { Parser } from '../index'; -import { Node } from 'estree'; -export default function read_expression(parser: Parser): Node; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/parse/read/script.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/parse/read/script.d.ts deleted file mode 100644 index aa99c5b8f9..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/parse/read/script.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { Parser } from '../index'; -import { Script } from '../../interfaces'; -import { Node } from 'estree'; -export default function read_script(parser: Parser, start: number, attributes: Node[]): Script; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/parse/read/style.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/parse/read/style.d.ts deleted file mode 100644 index 870d711ce9..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/parse/read/style.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { Parser } from '../index'; -import { Node } from 'estree'; -import { Style } from '../../interfaces'; -export default function read_style(parser: Parser, start: number, attributes: Node[]): Style; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/parse/state/fragment.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/parse/state/fragment.d.ts deleted file mode 100644 index ec6073ba7e..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/parse/state/fragment.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -import tag from './tag'; -import { Parser } from '../index'; -export default function fragment(parser: Parser): typeof tag; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/parse/state/mustache.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/parse/state/mustache.d.ts deleted file mode 100644 index 8a4b8b5390..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/parse/state/mustache.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import { Parser } from '../index'; -export default function mustache(parser: Parser): void; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/parse/state/tag.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/parse/state/tag.d.ts deleted file mode 100644 index 1e0a29c571..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/parse/state/tag.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import { Parser } from '../index'; -export default function tag(parser: Parser): void; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/parse/state/text.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/parse/state/text.d.ts deleted file mode 100644 index 88f2671f5d..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/parse/state/text.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import { Parser } from '../index'; -export default function text(parser: Parser): void; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/parse/utils/bracket.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/parse/utils/bracket.d.ts deleted file mode 100644 index e18f35279b..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/parse/utils/bracket.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export declare function is_bracket_open(code: any): boolean; -export declare function is_bracket_close(code: any): boolean; -export declare function is_bracket_pair(open: any, close: any): boolean; -export declare function get_bracket_close(open: any): number; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/parse/utils/entities.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/parse/utils/entities.d.ts deleted file mode 100644 index 41902a6598..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/parse/utils/entities.d.ts +++ /dev/null @@ -1,2034 +0,0 @@ -declare const _default: { - CounterClockwiseContourIntegral: number; - ClockwiseContourIntegral: number; - DoubleLongLeftRightArrow: number; - DiacriticalDoubleAcute: number; - NotSquareSupersetEqual: number; - CloseCurlyDoubleQuote: number; - DoubleContourIntegral: number; - FilledVerySmallSquare: number; - NegativeVeryThinSpace: number; - NotPrecedesSlantEqual: number; - NotRightTriangleEqual: number; - NotSucceedsSlantEqual: number; - CapitalDifferentialD: number; - DoubleLeftRightArrow: number; - DoubleLongRightArrow: number; - EmptyVerySmallSquare: number; - NestedGreaterGreater: number; - NotDoubleVerticalBar: number; - NotLeftTriangleEqual: number; - NotSquareSubsetEqual: number; - OpenCurlyDoubleQuote: number; - ReverseUpEquilibrium: number; - DoubleLongLeftArrow: number; - DownLeftRightVector: number; - LeftArrowRightArrow: number; - NegativeMediumSpace: number; - RightArrowLeftArrow: number; - SquareSupersetEqual: number; - leftrightsquigarrow: number; - DownRightTeeVector: number; - DownRightVectorBar: number; - LongLeftRightArrow: number; - Longleftrightarrow: number; - NegativeThickSpace: number; - PrecedesSlantEqual: number; - ReverseEquilibrium: number; - RightDoubleBracket: number; - RightDownTeeVector: number; - RightDownVectorBar: number; - RightTriangleEqual: number; - SquareIntersection: number; - SucceedsSlantEqual: number; - blacktriangleright: number; - longleftrightarrow: number; - DoubleUpDownArrow: number; - DoubleVerticalBar: number; - DownLeftTeeVector: number; - DownLeftVectorBar: number; - FilledSmallSquare: number; - GreaterSlantEqual: number; - LeftDoubleBracket: number; - LeftDownTeeVector: number; - LeftDownVectorBar: number; - LeftTriangleEqual: number; - NegativeThinSpace: number; - NotReverseElement: number; - NotTildeFullEqual: number; - RightAngleBracket: number; - RightUpDownVector: number; - SquareSubsetEqual: number; - VerticalSeparator: number; - blacktriangledown: number; - blacktriangleleft: number; - leftrightharpoons: number; - rightleftharpoons: number; - twoheadrightarrow: number; - DiacriticalAcute: number; - DiacriticalGrave: number; - DiacriticalTilde: number; - DoubleRightArrow: number; - DownArrowUpArrow: number; - EmptySmallSquare: number; - GreaterEqualLess: number; - GreaterFullEqual: number; - LeftAngleBracket: number; - LeftUpDownVector: number; - LessEqualGreater: number; - NonBreakingSpace: number; - NotRightTriangle: number; - NotSupersetEqual: number; - RightTriangleBar: number; - RightUpTeeVector: number; - RightUpVectorBar: number; - UnderParenthesis: number; - UpArrowDownArrow: number; - circlearrowright: number; - downharpoonright: number; - ntrianglerighteq: number; - rightharpoondown: number; - rightrightarrows: number; - twoheadleftarrow: number; - vartriangleright: number; - CloseCurlyQuote: number; - ContourIntegral: number; - DoubleDownArrow: number; - DoubleLeftArrow: number; - DownRightVector: number; - LeftRightVector: number; - LeftTriangleBar: number; - LeftUpTeeVector: number; - LeftUpVectorBar: number; - LowerRightArrow: number; - NotGreaterEqual: number; - NotGreaterTilde: number; - NotLeftTriangle: number; - OverParenthesis: number; - RightDownVector: number; - ShortRightArrow: number; - UpperRightArrow: number; - bigtriangledown: number; - circlearrowleft: number; - curvearrowright: number; - downharpoonleft: number; - leftharpoondown: number; - leftrightarrows: number; - nLeftrightarrow: number; - nleftrightarrow: number; - ntrianglelefteq: number; - rightleftarrows: number; - rightsquigarrow: number; - rightthreetimes: number; - straightepsilon: number; - trianglerighteq: number; - vartriangleleft: number; - DiacriticalDot: number; - DoubleRightTee: number; - DownLeftVector: number; - GreaterGreater: number; - HorizontalLine: number; - InvisibleComma: number; - InvisibleTimes: number; - LeftDownVector: number; - LeftRightArrow: number; - Leftrightarrow: number; - LessSlantEqual: number; - LongRightArrow: number; - Longrightarrow: number; - LowerLeftArrow: number; - NestedLessLess: number; - NotGreaterLess: number; - NotLessGreater: number; - NotSubsetEqual: number; - NotVerticalBar: number; - OpenCurlyQuote: number; - ReverseElement: number; - RightTeeVector: number; - RightVectorBar: number; - ShortDownArrow: number; - ShortLeftArrow: number; - SquareSuperset: number; - TildeFullEqual: number; - UpperLeftArrow: number; - ZeroWidthSpace: number; - curvearrowleft: number; - doublebarwedge: number; - downdownarrows: number; - hookrightarrow: number; - leftleftarrows: number; - leftrightarrow: number; - leftthreetimes: number; - longrightarrow: number; - looparrowright: number; - nshortparallel: number; - ntriangleright: number; - rightarrowtail: number; - rightharpoonup: number; - trianglelefteq: number; - upharpoonright: number; - ApplyFunction: number; - DifferentialD: number; - DoubleLeftTee: number; - DoubleUpArrow: number; - LeftTeeVector: number; - LeftVectorBar: number; - LessFullEqual: number; - LongLeftArrow: number; - Longleftarrow: number; - NotTildeEqual: number; - NotTildeTilde: number; - Poincareplane: number; - PrecedesEqual: number; - PrecedesTilde: number; - RightArrowBar: number; - RightTeeArrow: number; - RightTriangle: number; - RightUpVector: number; - SucceedsEqual: number; - SucceedsTilde: number; - SupersetEqual: number; - UpEquilibrium: number; - VerticalTilde: number; - VeryThinSpace: number; - bigtriangleup: number; - blacktriangle: number; - divideontimes: number; - fallingdotseq: number; - hookleftarrow: number; - leftarrowtail: number; - leftharpoonup: number; - longleftarrow: number; - looparrowleft: number; - measuredangle: number; - ntriangleleft: number; - shortparallel: number; - smallsetminus: number; - triangleright: number; - upharpoonleft: number; - DownArrowBar: number; - DownTeeArrow: number; - ExponentialE: number; - GreaterEqual: number; - GreaterTilde: number; - HilbertSpace: number; - HumpDownHump: number; - Intersection: number; - LeftArrowBar: number; - LeftTeeArrow: number; - LeftTriangle: number; - LeftUpVector: number; - NotCongruent: number; - NotLessEqual: number; - NotLessTilde: number; - Proportional: number; - RightCeiling: number; - RoundImplies: number; - ShortUpArrow: number; - SquareSubset: number; - UnderBracket: number; - VerticalLine: number; - blacklozenge: number; - exponentiale: number; - risingdotseq: number; - triangledown: number; - triangleleft: number; - CircleMinus: number; - CircleTimes: number; - Equilibrium: number; - GreaterLess: number; - LeftCeiling: number; - LessGreater: number; - MediumSpace: number; - NotPrecedes: number; - NotSucceeds: number; - OverBracket: number; - RightVector: number; - Rrightarrow: number; - RuleDelayed: number; - SmallCircle: number; - SquareUnion: number; - SubsetEqual: number; - UpDownArrow: number; - Updownarrow: number; - VerticalBar: number; - backepsilon: number; - blacksquare: number; - circledcirc: number; - circleddash: number; - curlyeqprec: number; - curlyeqsucc: number; - diamondsuit: number; - eqslantless: number; - expectation: number; - nRightarrow: number; - nrightarrow: number; - preccurlyeq: number; - precnapprox: number; - quaternions: number; - straightphi: number; - succcurlyeq: number; - succnapprox: number; - thickapprox: number; - updownarrow: number; - Bernoullis: number; - CirclePlus: number; - EqualTilde: number; - Fouriertrf: number; - ImaginaryI: number; - Laplacetrf: number; - LeftVector: number; - Lleftarrow: number; - NotElement: number; - NotGreater: number; - Proportion: number; - RightArrow: number; - RightFloor: number; - Rightarrow: number; - TildeEqual: number; - TildeTilde: number; - UnderBrace: number; - UpArrowBar: number; - UpTeeArrow: number; - circledast: number; - complement: number; - curlywedge: number; - eqslantgtr: number; - gtreqqless: number; - lessapprox: number; - lesseqqgtr: number; - lmoustache: number; - longmapsto: number; - mapstodown: number; - mapstoleft: number; - nLeftarrow: number; - nleftarrow: number; - precapprox: number; - rightarrow: number; - rmoustache: number; - sqsubseteq: number; - sqsupseteq: number; - subsetneqq: number; - succapprox: number; - supsetneqq: number; - upuparrows: number; - varepsilon: number; - varnothing: number; - Backslash: number; - CenterDot: number; - CircleDot: number; - Congruent: number; - Coproduct: number; - DoubleDot: number; - DownArrow: number; - DownBreve: number; - Downarrow: number; - HumpEqual: number; - LeftArrow: number; - LeftFloor: number; - Leftarrow: number; - LessTilde: number; - Mellintrf: number; - MinusPlus: number; - NotCupCap: number; - NotExists: number; - OverBrace: number; - PlusMinus: number; - Therefore: number; - ThinSpace: number; - TripleDot: number; - UnionPlus: number; - backprime: number; - backsimeq: number; - bigotimes: number; - centerdot: number; - checkmark: number; - complexes: number; - dotsquare: number; - downarrow: number; - gtrapprox: number; - gtreqless: number; - heartsuit: number; - leftarrow: number; - lesseqgtr: number; - nparallel: number; - nshortmid: number; - nsubseteq: number; - nsupseteq: number; - pitchfork: number; - rationals: number; - spadesuit: number; - subseteqq: number; - subsetneq: number; - supseteqq: number; - supsetneq: number; - therefore: number; - triangleq: number; - varpropto: number; - DDotrahd: number; - DotEqual: number; - Integral: number; - LessLess: number; - NotEqual: number; - NotTilde: number; - PartialD: number; - Precedes: number; - RightTee: number; - Succeeds: number; - SuchThat: number; - Superset: number; - Uarrocir: number; - UnderBar: number; - andslope: number; - angmsdaa: number; - angmsdab: number; - angmsdac: number; - angmsdad: number; - angmsdae: number; - angmsdaf: number; - angmsdag: number; - angmsdah: number; - angrtvbd: number; - approxeq: number; - awconint: number; - backcong: number; - barwedge: number; - bbrktbrk: number; - bigoplus: number; - bigsqcup: number; - biguplus: number; - bigwedge: number; - boxminus: number; - boxtimes: number; - capbrcup: number; - circledR: number; - circledS: number; - cirfnint: number; - clubsuit: number; - cupbrcap: number; - curlyvee: number; - cwconint: number; - doteqdot: number; - dotminus: number; - drbkarow: number; - dzigrarr: number; - elinters: number; - emptyset: number; - eqvparsl: number; - fpartint: number; - geqslant: number; - gesdotol: number; - gnapprox: number; - hksearow: number; - hkswarow: number; - imagline: number; - imagpart: number; - infintie: number; - integers: number; - intercal: number; - intlarhk: number; - laemptyv: number; - ldrushar: number; - leqslant: number; - lesdotor: number; - llcorner: number; - lnapprox: number; - lrcorner: number; - lurdshar: number; - mapstoup: number; - multimap: number; - naturals: number; - otimesas: number; - parallel: number; - plusacir: number; - pointint: number; - precneqq: number; - precnsim: number; - profalar: number; - profline: number; - profsurf: number; - raemptyv: number; - realpart: number; - rppolint: number; - rtriltri: number; - scpolint: number; - setminus: number; - shortmid: number; - smeparsl: number; - sqsubset: number; - sqsupset: number; - subseteq: number; - succneqq: number; - succnsim: number; - supseteq: number; - thetasym: number; - thicksim: number; - timesbar: number; - triangle: number; - triminus: number; - trpezium: number; - ulcorner: number; - urcorner: number; - varkappa: number; - varsigma: number; - vartheta: number; - Because: number; - Cayleys: number; - Cconint: number; - Cedilla: number; - Diamond: number; - DownTee: number; - Element: number; - Epsilon: number; - Implies: number; - LeftTee: number; - NewLine: number; - NoBreak: number; - NotLess: number; - Omicron: number; - OverBar: number; - Product: number; - UpArrow: number; - Uparrow: number; - Upsilon: number; - alefsym: number; - angrtvb: number; - angzarr: number; - asympeq: number; - backsim: number; - because: number; - bemptyv: number; - between: number; - bigcirc: number; - bigodot: number; - bigstar: number; - boxplus: number; - ccupssm: number; - cemptyv: number; - cirscir: number; - coloneq: number; - congdot: number; - cudarrl: number; - cudarrr: number; - cularrp: number; - curarrm: number; - dbkarow: number; - ddagger: number; - ddotseq: number; - demptyv: number; - diamond: number; - digamma: number; - dotplus: number; - dwangle: number; - epsilon: number; - eqcolon: number; - equivDD: number; - gesdoto: number; - gtquest: number; - gtrless: number; - harrcir: number; - intprod: number; - isindot: number; - larrbfs: number; - larrsim: number; - lbrksld: number; - lbrkslu: number; - ldrdhar: number; - lesdoto: number; - lessdot: number; - lessgtr: number; - lesssim: number; - lotimes: number; - lozenge: number; - ltquest: number; - luruhar: number; - maltese: number; - minusdu: number; - napprox: number; - natural: number; - nearrow: number; - nexists: number; - notinva: number; - notinvb: number; - notinvc: number; - notniva: number; - notnivb: number; - notnivc: number; - npolint: number; - nsqsube: number; - nsqsupe: number; - nvinfin: number; - nwarrow: number; - olcross: number; - omicron: number; - orderof: number; - orslope: number; - pertenk: number; - planckh: number; - pluscir: number; - plussim: number; - plustwo: number; - precsim: number; - quatint: number; - questeq: number; - rarrbfs: number; - rarrsim: number; - rbrksld: number; - rbrkslu: number; - rdldhar: number; - realine: number; - rotimes: number; - ruluhar: number; - searrow: number; - simplus: number; - simrarr: number; - subedot: number; - submult: number; - subplus: number; - subrarr: number; - succsim: number; - supdsub: number; - supedot: number; - suphsub: number; - suplarr: number; - supmult: number; - supplus: number; - swarrow: number; - topfork: number; - triplus: number; - tritime: number; - uparrow: number; - upsilon: number; - uwangle: number; - vzigzag: number; - zigrarr: number; - Aacute: number; - Abreve: number; - Agrave: number; - Assign: number; - Atilde: number; - Barwed: number; - Bumpeq: number; - Cacute: number; - Ccaron: number; - Ccedil: number; - Colone: number; - Conint: number; - CupCap: number; - Dagger: number; - Dcaron: number; - DotDot: number; - Dstrok: number; - Eacute: number; - Ecaron: number; - Egrave: number; - Exists: number; - ForAll: number; - Gammad: number; - Gbreve: number; - Gcedil: number; - HARDcy: number; - Hstrok: number; - Iacute: number; - Igrave: number; - Itilde: number; - Jsercy: number; - Kcedil: number; - Lacute: number; - Lambda: number; - Lcaron: number; - Lcedil: number; - Lmidot: number; - Lstrok: number; - Nacute: number; - Ncaron: number; - Ncedil: number; - Ntilde: number; - Oacute: number; - Odblac: number; - Ograve: number; - Oslash: number; - Otilde: number; - Otimes: number; - Racute: number; - Rarrtl: number; - Rcaron: number; - Rcedil: number; - SHCHcy: number; - SOFTcy: number; - Sacute: number; - Scaron: number; - Scedil: number; - Square: number; - Subset: number; - Supset: number; - Tcaron: number; - Tcedil: number; - Tstrok: number; - Uacute: number; - Ubreve: number; - Udblac: number; - Ugrave: number; - Utilde: number; - Vdashl: number; - Verbar: number; - Vvdash: number; - Yacute: number; - Zacute: number; - Zcaron: number; - aacute: number; - abreve: number; - agrave: number; - andand: number; - angmsd: number; - angsph: number; - apacir: number; - approx: number; - atilde: number; - barvee: number; - barwed: number; - becaus: number; - bernou: number; - bigcap: number; - bigcup: number; - bigvee: number; - bkarow: number; - bottom: number; - bowtie: number; - boxbox: number; - bprime: number; - brvbar: number; - bullet: number; - bumpeq: number; - cacute: number; - capand: number; - capcap: number; - capcup: number; - capdot: number; - ccaron: number; - ccedil: number; - circeq: number; - cirmid: number; - colone: number; - commat: number; - compfn: number; - conint: number; - coprod: number; - copysr: number; - cularr: number; - cupcap: number; - cupcup: number; - cupdot: number; - curarr: number; - curren: number; - cylcty: number; - dagger: number; - daleth: number; - dcaron: number; - dfisht: number; - divide: number; - divonx: number; - dlcorn: number; - dlcrop: number; - dollar: number; - drcorn: number; - drcrop: number; - dstrok: number; - eacute: number; - easter: number; - ecaron: number; - ecolon: number; - egrave: number; - egsdot: number; - elsdot: number; - emptyv: number; - emsp13: number; - emsp14: number; - eparsl: number; - eqcirc: number; - equals: number; - equest: number; - female: number; - ffilig: number; - ffllig: number; - forall: number; - frac12: number; - frac13: number; - frac14: number; - frac15: number; - frac16: number; - frac18: number; - frac23: number; - frac25: number; - frac34: number; - frac35: number; - frac38: number; - frac45: number; - frac56: number; - frac58: number; - frac78: number; - gacute: number; - gammad: number; - gbreve: number; - gesdot: number; - gesles: number; - gtlPar: number; - gtrarr: number; - gtrdot: number; - gtrsim: number; - hairsp: number; - hamilt: number; - hardcy: number; - hearts: number; - hellip: number; - hercon: number; - homtht: number; - horbar: number; - hslash: number; - hstrok: number; - hybull: number; - hyphen: number; - iacute: number; - igrave: number; - iiiint: number; - iinfin: number; - incare: number; - inodot: number; - intcal: number; - iquest: number; - isinsv: number; - itilde: number; - jsercy: number; - kappav: number; - kcedil: number; - kgreen: number; - lAtail: number; - lacute: number; - lagran: number; - lambda: number; - langle: number; - larrfs: number; - larrhk: number; - larrlp: number; - larrpl: number; - larrtl: number; - latail: number; - lbrace: number; - lbrack: number; - lcaron: number; - lcedil: number; - ldquor: number; - lesdot: number; - lesges: number; - lfisht: number; - lfloor: number; - lharul: number; - llhard: number; - lmidot: number; - lmoust: number; - loplus: number; - lowast: number; - lowbar: number; - lparlt: number; - lrhard: number; - lsaquo: number; - lsquor: number; - lstrok: number; - lthree: number; - ltimes: number; - ltlarr: number; - ltrPar: number; - mapsto: number; - marker: number; - mcomma: number; - midast: number; - midcir: number; - middot: number; - minusb: number; - minusd: number; - mnplus: number; - models: number; - mstpos: number; - nVDash: number; - nVdash: number; - nacute: number; - ncaron: number; - ncedil: number; - nearhk: number; - nequiv: number; - nesear: number; - nexist: number; - nltrie: number; - nprcue: number; - nrtrie: number; - nsccue: number; - nsimeq: number; - ntilde: number; - numero: number; - nvDash: number; - nvHarr: number; - nvdash: number; - nvlArr: number; - nvrArr: number; - nwarhk: number; - nwnear: number; - oacute: number; - odblac: number; - odsold: number; - ograve: number; - ominus: number; - origof: number; - oslash: number; - otilde: number; - otimes: number; - parsim: number; - percnt: number; - period: number; - permil: number; - phmmat: number; - planck: number; - plankv: number; - plusdo: number; - plusdu: number; - plusmn: number; - preceq: number; - primes: number; - prnsim: number; - propto: number; - prurel: number; - puncsp: number; - qprime: number; - rAtail: number; - racute: number; - rangle: number; - rarrap: number; - rarrfs: number; - rarrhk: number; - rarrlp: number; - rarrpl: number; - rarrtl: number; - ratail: number; - rbrace: number; - rbrack: number; - rcaron: number; - rcedil: number; - rdquor: number; - rfisht: number; - rfloor: number; - rharul: number; - rmoust: number; - roplus: number; - rpargt: number; - rsaquo: number; - rsquor: number; - rthree: number; - rtimes: number; - sacute: number; - scaron: number; - scedil: number; - scnsim: number; - searhk: number; - seswar: number; - sfrown: number; - shchcy: number; - sigmaf: number; - sigmav: number; - simdot: number; - smashp: number; - softcy: number; - solbar: number; - spades: number; - sqsube: number; - sqsupe: number; - square: number; - squarf: number; - ssetmn: number; - ssmile: number; - sstarf: number; - subdot: number; - subset: number; - subsim: number; - subsub: number; - subsup: number; - succeq: number; - supdot: number; - supset: number; - supsim: number; - supsub: number; - supsup: number; - swarhk: number; - swnwar: number; - target: number; - tcaron: number; - tcedil: number; - telrec: number; - there4: number; - thetav: number; - thinsp: number; - thksim: number; - timesb: number; - timesd: number; - topbot: number; - topcir: number; - tprime: number; - tridot: number; - tstrok: number; - uacute: number; - ubreve: number; - udblac: number; - ufisht: number; - ugrave: number; - ulcorn: number; - ulcrop: number; - urcorn: number; - urcrop: number; - utilde: number; - vangrt: number; - varphi: number; - varrho: number; - veebar: number; - vellip: number; - verbar: number; - wedbar: number; - wedgeq: number; - weierp: number; - wreath: number; - xoplus: number; - xotime: number; - xsqcup: number; - xuplus: number; - xwedge: number; - yacute: number; - zacute: number; - zcaron: number; - zeetrf: number; - AElig: number; - Acirc: number; - Alpha: number; - Amacr: number; - Aogon: number; - Aring: number; - Breve: number; - Ccirc: number; - Colon: number; - Cross: number; - Dashv: number; - Delta: number; - Ecirc: number; - Emacr: number; - Eogon: number; - Equal: number; - Gamma: number; - Gcirc: number; - Hacek: number; - Hcirc: number; - IJlig: number; - Icirc: number; - Imacr: number; - Iogon: number; - Iukcy: number; - Jcirc: number; - Jukcy: number; - Kappa: number; - OElig: number; - Ocirc: number; - Omacr: number; - Omega: number; - Prime: number; - RBarr: number; - Scirc: number; - Sigma: number; - THORN: number; - TRADE: number; - TSHcy: number; - Theta: number; - Tilde: number; - Ubrcy: number; - Ucirc: number; - Umacr: number; - Union: number; - Uogon: number; - UpTee: number; - Uring: number; - VDash: number; - Vdash: number; - Wcirc: number; - Wedge: number; - Ycirc: number; - acirc: number; - acute: number; - aelig: number; - aleph: number; - alpha: number; - amacr: number; - amalg: number; - angle: number; - angrt: number; - angst: number; - aogon: number; - aring: number; - asymp: number; - awint: number; - bcong: number; - bdquo: number; - bepsi: number; - blank: number; - blk12: number; - blk14: number; - blk34: number; - block: number; - boxDL: number; - boxDR: number; - boxDl: number; - boxDr: number; - boxHD: number; - boxHU: number; - boxHd: number; - boxHu: number; - boxUL: number; - boxUR: number; - boxUl: number; - boxUr: number; - boxVH: number; - boxVL: number; - boxVR: number; - boxVh: number; - boxVl: number; - boxVr: number; - boxdL: number; - boxdR: number; - boxdl: number; - boxdr: number; - boxhD: number; - boxhU: number; - boxhd: number; - boxhu: number; - boxuL: number; - boxuR: number; - boxul: number; - boxur: number; - boxvH: number; - boxvL: number; - boxvR: number; - boxvh: number; - boxvl: number; - boxvr: number; - breve: number; - bsemi: number; - bsime: number; - bsolb: number; - bumpE: number; - bumpe: number; - caret: number; - caron: number; - ccaps: number; - ccirc: number; - ccups: number; - cedil: number; - check: number; - clubs: number; - colon: number; - comma: number; - crarr: number; - cross: number; - csube: number; - csupe: number; - ctdot: number; - cuepr: number; - cuesc: number; - cupor: number; - cuvee: number; - cuwed: number; - cwint: number; - dashv: number; - dblac: number; - ddarr: number; - delta: number; - dharl: number; - dharr: number; - diams: number; - disin: number; - doteq: number; - dtdot: number; - dtrif: number; - duarr: number; - duhar: number; - eDDot: number; - ecirc: number; - efDot: number; - emacr: number; - empty: number; - eogon: number; - eplus: number; - epsiv: number; - eqsim: number; - equiv: number; - erDot: number; - erarr: number; - esdot: number; - exist: number; - fflig: number; - filig: number; - fllig: number; - fltns: number; - forkv: number; - frasl: number; - frown: number; - gamma: number; - gcirc: number; - gescc: number; - gimel: number; - gneqq: number; - gnsim: number; - grave: number; - gsime: number; - gsiml: number; - gtcir: number; - gtdot: number; - harrw: number; - hcirc: number; - hoarr: number; - icirc: number; - iexcl: number; - iiint: number; - iiota: number; - ijlig: number; - imacr: number; - image: number; - imath: number; - imped: number; - infin: number; - iogon: number; - iprod: number; - isinE: number; - isins: number; - isinv: number; - iukcy: number; - jcirc: number; - jmath: number; - jukcy: number; - kappa: number; - lAarr: number; - lBarr: number; - langd: number; - laquo: number; - larrb: number; - lbarr: number; - lbbrk: number; - lbrke: number; - lceil: number; - ldquo: number; - lescc: number; - lhard: number; - lharu: number; - lhblk: number; - llarr: number; - lltri: number; - lneqq: number; - lnsim: number; - loang: number; - loarr: number; - lobrk: number; - lopar: number; - lrarr: number; - lrhar: number; - lrtri: number; - lsime: number; - lsimg: number; - lsquo: number; - ltcir: number; - ltdot: number; - ltrie: number; - ltrif: number; - mDDot: number; - mdash: number; - micro: number; - minus: number; - mumap: number; - nabla: number; - napos: number; - natur: number; - ncong: number; - ndash: number; - neArr: number; - nearr: number; - ngsim: number; - nhArr: number; - nharr: number; - nhpar: number; - nlArr: number; - nlarr: number; - nless: number; - nlsim: number; - nltri: number; - notin: number; - notni: number; - nprec: number; - nrArr: number; - nrarr: number; - nrtri: number; - nsime: number; - nsmid: number; - nspar: number; - nsube: number; - nsucc: number; - nsupe: number; - numsp: number; - nwArr: number; - nwarr: number; - ocirc: number; - odash: number; - oelig: number; - ofcir: number; - ohbar: number; - olarr: number; - olcir: number; - oline: number; - omacr: number; - omega: number; - operp: number; - oplus: number; - orarr: number; - order: number; - ovbar: number; - parsl: number; - phone: number; - plusb: number; - pluse: number; - pound: number; - prcue: number; - prime: number; - prnap: number; - prsim: number; - quest: number; - rAarr: number; - rBarr: number; - radic: number; - rangd: number; - range: number; - raquo: number; - rarrb: number; - rarrc: number; - rarrw: number; - ratio: number; - rbarr: number; - rbbrk: number; - rbrke: number; - rceil: number; - rdquo: number; - reals: number; - rhard: number; - rharu: number; - rlarr: number; - rlhar: number; - rnmid: number; - roang: number; - roarr: number; - robrk: number; - ropar: number; - rrarr: number; - rsquo: number; - rtrie: number; - rtrif: number; - sbquo: number; - sccue: number; - scirc: number; - scnap: number; - scsim: number; - sdotb: number; - sdote: number; - seArr: number; - searr: number; - setmn: number; - sharp: number; - sigma: number; - simeq: number; - simgE: number; - simlE: number; - simne: number; - slarr: number; - smile: number; - sqcap: number; - sqcup: number; - sqsub: number; - sqsup: number; - srarr: number; - starf: number; - strns: number; - subnE: number; - subne: number; - supnE: number; - supne: number; - swArr: number; - swarr: number; - szlig: number; - theta: number; - thkap: number; - thorn: number; - tilde: number; - times: number; - trade: number; - trisb: number; - tshcy: number; - twixt: number; - ubrcy: number; - ucirc: number; - udarr: number; - udhar: number; - uharl: number; - uharr: number; - uhblk: number; - ultri: number; - umacr: number; - uogon: number; - uplus: number; - upsih: number; - uring: number; - urtri: number; - utdot: number; - utrif: number; - uuarr: number; - vBarv: number; - vDash: number; - varpi: number; - vdash: number; - veeeq: number; - vltri: number; - vprop: number; - vrtri: number; - wcirc: number; - wedge: number; - xcirc: number; - xdtri: number; - xhArr: number; - xharr: number; - xlArr: number; - xlarr: number; - xodot: number; - xrArr: number; - xrarr: number; - xutri: number; - ycirc: number; - Aopf: number; - Ascr: number; - Auml: number; - Barv: number; - Beta: number; - Bopf: number; - Bscr: number; - CHcy: number; - COPY: number; - Cdot: number; - Copf: number; - Cscr: number; - DJcy: number; - DScy: number; - DZcy: number; - Darr: number; - Dopf: number; - Dscr: number; - Edot: number; - Eopf: number; - Escr: number; - Esim: number; - Euml: number; - Fopf: number; - Fscr: number; - GJcy: number; - Gdot: number; - Gopf: number; - Gscr: number; - Hopf: number; - Hscr: number; - IEcy: number; - IOcy: number; - Idot: number; - Iopf: number; - Iota: number; - Iscr: number; - Iuml: number; - Jopf: number; - Jscr: number; - KHcy: number; - KJcy: number; - Kopf: number; - Kscr: number; - LJcy: number; - Lang: number; - Larr: number; - Lopf: number; - Lscr: number; - Mopf: number; - Mscr: number; - NJcy: number; - Nopf: number; - Nscr: number; - Oopf: number; - Oscr: number; - Ouml: number; - Popf: number; - Pscr: number; - QUOT: number; - Qopf: number; - Qscr: number; - Rang: number; - Rarr: number; - Ropf: number; - Rscr: number; - SHcy: number; - Sopf: number; - Sqrt: number; - Sscr: number; - Star: number; - TScy: number; - Topf: number; - Tscr: number; - Uarr: number; - Uopf: number; - Upsi: number; - Uscr: number; - Uuml: number; - Vbar: number; - Vert: number; - Vopf: number; - Vscr: number; - Wopf: number; - Wscr: number; - Xopf: number; - Xscr: number; - YAcy: number; - YIcy: number; - YUcy: number; - Yopf: number; - Yscr: number; - Yuml: number; - ZHcy: number; - Zdot: number; - Zeta: number; - Zopf: number; - Zscr: number; - andd: number; - andv: number; - ange: number; - aopf: number; - apid: number; - apos: number; - ascr: number; - auml: number; - bNot: number; - bbrk: number; - beta: number; - beth: number; - bnot: number; - bopf: number; - boxH: number; - boxV: number; - boxh: number; - boxv: number; - bscr: number; - bsim: number; - bsol: number; - bull: number; - bump: number; - cdot: number; - cent: number; - chcy: number; - cirE: number; - circ: number; - cire: number; - comp: number; - cong: number; - copf: number; - copy: number; - cscr: number; - csub: number; - csup: number; - dArr: number; - dHar: number; - darr: number; - dash: number; - diam: number; - djcy: number; - dopf: number; - dscr: number; - dscy: number; - dsol: number; - dtri: number; - dzcy: number; - eDot: number; - ecir: number; - edot: number; - emsp: number; - ensp: number; - eopf: number; - epar: number; - epsi: number; - escr: number; - esim: number; - euml: number; - euro: number; - excl: number; - flat: number; - fnof: number; - fopf: number; - fork: number; - fscr: number; - gdot: number; - geqq: number; - gjcy: number; - gnap: number; - gneq: number; - gopf: number; - gscr: number; - gsim: number; - gtcc: number; - hArr: number; - half: number; - harr: number; - hbar: number; - hopf: number; - hscr: number; - iecy: number; - imof: number; - iocy: number; - iopf: number; - iota: number; - iscr: number; - isin: number; - iuml: number; - jopf: number; - jscr: number; - khcy: number; - kjcy: number; - kopf: number; - kscr: number; - lArr: number; - lHar: number; - lang: number; - larr: number; - late: number; - lcub: number; - ldca: number; - ldsh: number; - leqq: number; - ljcy: number; - lnap: number; - lneq: number; - lopf: number; - lozf: number; - lpar: number; - lscr: number; - lsim: number; - lsqb: number; - ltcc: number; - ltri: number; - macr: number; - male: number; - malt: number; - mlcp: number; - mldr: number; - mopf: number; - mscr: number; - nbsp: number; - ncap: number; - ncup: number; - ngeq: number; - ngtr: number; - nisd: number; - njcy: number; - nldr: number; - nleq: number; - nmid: number; - nopf: number; - npar: number; - nscr: number; - nsim: number; - nsub: number; - nsup: number; - ntgl: number; - ntlg: number; - oast: number; - ocir: number; - odiv: number; - odot: number; - ogon: number; - oint: number; - omid: number; - oopf: number; - opar: number; - ordf: number; - ordm: number; - oror: number; - oscr: number; - osol: number; - ouml: number; - para: number; - part: number; - perp: number; - phiv: number; - plus: number; - popf: number; - prap: number; - prec: number; - prnE: number; - prod: number; - prop: number; - pscr: number; - qint: number; - qopf: number; - qscr: number; - quot: number; - rArr: number; - rHar: number; - race: number; - rang: number; - rarr: number; - rcub: number; - rdca: number; - rdsh: number; - real: number; - rect: number; - rhov: number; - ring: number; - ropf: number; - rpar: number; - rscr: number; - rsqb: number; - rtri: number; - scap: number; - scnE: number; - sdot: number; - sect: number; - semi: number; - sext: number; - shcy: number; - sime: number; - simg: number; - siml: number; - smid: number; - smte: number; - solb: number; - sopf: number; - spar: number; - squf: number; - sscr: number; - star: number; - subE: number; - sube: number; - succ: number; - sung: number; - sup1: number; - sup2: number; - sup3: number; - supE: number; - supe: number; - tbrk: number; - tdot: number; - tint: number; - toea: number; - topf: number; - tosa: number; - trie: number; - tscr: number; - tscy: number; - uArr: number; - uHar: number; - uarr: number; - uopf: number; - upsi: number; - uscr: number; - utri: number; - uuml: number; - vArr: number; - vBar: number; - varr: number; - vert: number; - vopf: number; - vscr: number; - wopf: number; - wscr: number; - xcap: number; - xcup: number; - xmap: number; - xnis: number; - xopf: number; - xscr: number; - xvee: number; - yacy: number; - yicy: number; - yopf: number; - yscr: number; - yucy: number; - yuml: number; - zdot: number; - zeta: number; - zhcy: number; - zopf: number; - zscr: number; - zwnj: number; - AMP: number; - Acy: number; - Afr: number; - And: number; - Bcy: number; - Bfr: number; - Cap: number; - Cfr: number; - Chi: number; - Cup: number; - Dcy: number; - Del: number; - Dfr: number; - Dot: number; - ENG: number; - ETH: number; - Ecy: number; - Efr: number; - Eta: number; - Fcy: number; - Ffr: number; - Gcy: number; - Gfr: number; - Hat: number; - Hfr: number; - Icy: number; - Ifr: number; - Int: number; - Jcy: number; - Jfr: number; - Kcy: number; - Kfr: number; - Lcy: number; - Lfr: number; - Lsh: number; - Map: number; - Mcy: number; - Mfr: number; - Ncy: number; - Nfr: number; - Not: number; - Ocy: number; - Ofr: number; - Pcy: number; - Pfr: number; - Phi: number; - Psi: number; - Qfr: number; - REG: number; - Rcy: number; - Rfr: number; - Rho: number; - Rsh: number; - Scy: number; - Sfr: number; - Sub: number; - Sum: number; - Sup: number; - Tab: number; - Tau: number; - Tcy: number; - Tfr: number; - Ucy: number; - Ufr: number; - Vcy: number; - Vee: number; - Vfr: number; - Wfr: number; - Xfr: number; - Ycy: number; - Yfr: number; - Zcy: number; - Zfr: number; - acd: number; - acy: number; - afr: number; - amp: number; - and: number; - ang: number; - apE: number; - ape: number; - ast: number; - bcy: number; - bfr: number; - bot: number; - cap: number; - cfr: number; - chi: number; - cir: number; - cup: number; - dcy: number; - deg: number; - dfr: number; - die: number; - div: number; - dot: number; - ecy: number; - efr: number; - egs: number; - ell: number; - els: number; - eng: number; - eta: number; - eth: number; - fcy: number; - ffr: number; - gEl: number; - gap: number; - gcy: number; - gel: number; - geq: number; - ges: number; - gfr: number; - ggg: number; - glE: number; - gla: number; - glj: number; - gnE: number; - gne: number; - hfr: number; - icy: number; - iff: number; - ifr: number; - int: number; - jcy: number; - jfr: number; - kcy: number; - kfr: number; - lEg: number; - lap: number; - lat: number; - lcy: number; - leg: number; - leq: number; - les: number; - lfr: number; - lgE: number; - lnE: number; - lne: number; - loz: number; - lrm: number; - lsh: number; - map: number; - mcy: number; - mfr: number; - mho: number; - mid: number; - nap: number; - ncy: number; - nfr: number; - nge: number; - ngt: number; - nis: number; - niv: number; - nle: number; - nlt: number; - not: number; - npr: number; - nsc: number; - num: number; - ocy: number; - ofr: number; - ogt: number; - ohm: number; - olt: number; - ord: number; - orv: number; - par: number; - pcy: number; - pfr: number; - phi: number; - piv: number; - prE: number; - pre: number; - psi: number; - qfr: number; - rcy: number; - reg: number; - rfr: number; - rho: number; - rlm: number; - rsh: number; - scE: number; - sce: number; - scy: number; - sfr: number; - shy: number; - sim: number; - smt: number; - sol: number; - squ: number; - sub: number; - sum: number; - sup: number; - tau: number; - tcy: number; - tfr: number; - top: number; - ucy: number; - ufr: number; - uml: number; - vcy: number; - vee: number; - vfr: number; - wfr: number; - xfr: number; - ycy: number; - yen: number; - yfr: number; - zcy: number; - zfr: number; - zwj: number; - DD: number; - GT: number; - Gg: number; - Gt: number; - Im: number; - LT: number; - Ll: number; - Lt: number; - Mu: number; - Nu: number; - Or: number; - Pi: number; - Pr: number; - Re: number; - Sc: number; - Xi: number; - ac: number; - af: number; - ap: number; - dd: number; - ee: number; - eg: number; - el: number; - gE: number; - ge: number; - gg: number; - gl: number; - gt: number; - ic: number; - ii: number; - in: number; - it: number; - lE: number; - le: number; - lg: number; - ll: number; - lt: number; - mp: number; - mu: number; - ne: number; - ni: number; - nu: number; - oS: number; - or: number; - pi: number; - pm: number; - pr: number; - rx: number; - sc: number; - wp: number; - wr: number; - xi: number; -}; -export default _default; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/parse/utils/html.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/parse/utils/html.d.ts deleted file mode 100644 index b0296c0d8d..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/parse/utils/html.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export declare function decode_character_references(html: string): string; -export declare function closing_tag_omitted(current: string, next?: string): boolean; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/parse/utils/node.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/parse/utils/node.d.ts deleted file mode 100644 index 9194910ae7..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/parse/utils/node.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import { TemplateNode } from '../../interfaces'; -export declare function to_string(node: TemplateNode): string; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/preprocess/decode_sourcemap.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/preprocess/decode_sourcemap.d.ts deleted file mode 100644 index ad121759b5..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/preprocess/decode_sourcemap.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import { Processed } from './types'; -export declare function decode_map(processed: Processed): any; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/preprocess/index.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/preprocess/index.d.ts deleted file mode 100644 index a50eb8397d..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/preprocess/index.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { PreprocessorGroup, Processed } from './types'; -export * from './types'; -export default function preprocess(source: string, preprocessor: PreprocessorGroup | PreprocessorGroup[], options?: { - filename?: string; -}): Promise; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/preprocess/replace_in_code.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/preprocess/replace_in_code.d.ts deleted file mode 100644 index 43f72c3b41..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/preprocess/replace_in_code.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -import { MappedCode } from '../utils/mapped_code'; -import { Source } from './types'; -export declare function slice_source(code_slice: string, offset: number, { file_basename, filename, get_location }: Source): Source; -export declare function replace_in_code(regex: RegExp, get_replacement: (...match: any[]) => Promise, location: Source): Promise; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/preprocess/types.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/preprocess/types.d.ts deleted file mode 100644 index b80dad4a76..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/preprocess/types.d.ts +++ /dev/null @@ -1,27 +0,0 @@ -export interface Processed { - code: string; - map?: string | object; - dependencies?: string[]; - toString?: () => string; -} -export declare type MarkupPreprocessor = (options: { - content: string; - filename?: string; -}) => Processed | void | Promise; -export declare type Preprocessor = (options: { - /** - * The script/style tag content - */ - content: string; - attributes: Record; - /** - * The whole Svelte file content - */ - markup: string; - filename?: string; -}) => Processed | void | Promise; -export interface PreprocessorGroup { - markup?: MarkupPreprocessor; - style?: Preprocessor; - script?: Preprocessor; -} diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/utils/clone.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/utils/clone.d.ts deleted file mode 100644 index ae2456bb28..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/utils/clone.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare function clone(val: any): any; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/utils/error.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/utils/error.d.ts deleted file mode 100644 index babd2bbdb9..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/utils/error.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -export default function error(message: string, props: { - name: string; - code: string; - source: string; - filename: string; - start: number; - end?: number; -}): never; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/utils/extract_svelte_ignore.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/utils/extract_svelte_ignore.d.ts deleted file mode 100644 index f76caba884..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/utils/extract_svelte_ignore.d.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { TemplateNode } from '../interfaces'; -export declare function extract_svelte_ignore(text: string): string[]; -export declare function extract_svelte_ignore_from_comments; -}>(node: Node): string[]; -export declare function extract_ignores_above_position(position: number, template_nodes: TemplateNode[]): string[]; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/utils/flatten.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/utils/flatten.d.ts deleted file mode 100644 index a897ae39b0..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/utils/flatten.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export declare function flatten(nodes: T[][], target?: T[]): T[]; -export declare function flatten(nodes: T[], target?: T[]): T[]; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/utils/full_char_code_at.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/utils/full_char_code_at.d.ts deleted file mode 100644 index f0d6763971..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/utils/full_char_code_at.d.ts +++ /dev/null @@ -1 +0,0 @@ -export default function full_char_code_at(str: string, i: number): number; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/utils/fuzzymatch.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/utils/fuzzymatch.d.ts deleted file mode 100644 index 6aa4e011df..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/utils/fuzzymatch.d.ts +++ /dev/null @@ -1 +0,0 @@ -export default function fuzzymatch(name: string, names: string[]): any; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/utils/get_code_frame.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/utils/get_code_frame.d.ts deleted file mode 100644 index 50943dc998..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/utils/get_code_frame.d.ts +++ /dev/null @@ -1 +0,0 @@ -export default function get_code_frame(source: string, line: number, column: number): string; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/utils/link.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/utils/link.d.ts deleted file mode 100644 index e73ccbce10..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/utils/link.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export declare function link(next: T, prev: T): void; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/utils/list.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/utils/list.d.ts deleted file mode 100644 index b61de6978b..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/utils/list.d.ts +++ /dev/null @@ -1 +0,0 @@ -export default function list(items: string[], conjunction?: string): string; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/utils/mapped_code.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/utils/mapped_code.d.ts deleted file mode 100644 index b6aa289713..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/utils/mapped_code.d.ts +++ /dev/null @@ -1,23 +0,0 @@ -import { DecodedSourceMap, RawSourceMap } from '@ampproject/remapping/dist/types/types'; -import { SourceMap } from 'magic-string'; -import { Source, Processed } from '../preprocess/types'; -export declare type SourceLocation = { - line: number; - column: number; -}; -export declare function sourcemap_add_offset(map: DecodedSourceMap, offset: SourceLocation, source_index: number): void; -export declare class MappedCode { - string: string; - map: DecodedSourceMap; - constructor(string?: string, map?: DecodedSourceMap); - /** - * concat in-place (mutable), return this (chainable) - * will also mutate the `other` object - */ - concat(other: MappedCode): MappedCode; - static from_processed(string: string, map?: DecodedSourceMap): MappedCode; - static from_source({ source, file_basename, get_location }: Source): MappedCode; -} -export declare function combine_sourcemaps(filename: string, sourcemap_list: Array): RawSourceMap; -export declare function apply_preprocessor_sourcemap(filename: string, svelte_map: SourceMap, preprocessor_map_input: string | DecodedSourceMap | RawSourceMap): SourceMap; -export declare function parse_attached_sourcemap(processed: Processed, tag_name: 'script' | 'style'): void; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/utils/names.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/utils/names.d.ts deleted file mode 100644 index 8f23a9b51d..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/utils/names.d.ts +++ /dev/null @@ -1,5 +0,0 @@ -export declare const globals: Set; -export declare const reserved: Set; -export declare function is_void(name: string): boolean; -export declare function is_valid(str: string): boolean; -export declare function sanitize(name: string): string; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/utils/namespaces.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/utils/namespaces.d.ts deleted file mode 100644 index 31dba3a150..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/utils/namespaces.d.ts +++ /dev/null @@ -1,9 +0,0 @@ -export declare const foreign = "https://svelte.dev/docs#template-syntax-svelte-options"; -export declare const html = "http://www.w3.org/1999/xhtml"; -export declare const mathml = "http://www.w3.org/1998/Math/MathML"; -export declare const svg = "http://www.w3.org/2000/svg"; -export declare const xlink = "http://www.w3.org/1999/xlink"; -export declare const xml = "http://www.w3.org/XML/1998/namespace"; -export declare const xmlns = "http://www.w3.org/2000/xmlns"; -export declare const valid_namespaces: string[]; -export declare const namespaces: Record; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/utils/nodes_match.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/utils/nodes_match.d.ts deleted file mode 100644 index 065e81bcc7..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/utils/nodes_match.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare function nodes_match(a: any, b: any): any; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/utils/patterns.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/utils/patterns.d.ts deleted file mode 100644 index 2cb3678998..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/utils/patterns.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export declare const whitespace: RegExp; -export declare const start_whitespace: RegExp; -export declare const end_whitespace: RegExp; -export declare const dimensions: RegExp; diff --git a/packages/frontend-core/node_modules/svelte/types/compiler/utils/trim.d.ts b/packages/frontend-core/node_modules/svelte/types/compiler/utils/trim.d.ts deleted file mode 100644 index 7f8e2824a7..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/compiler/utils/trim.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export declare function trim_start(str: string): string; -export declare function trim_end(str: string): string; diff --git a/packages/frontend-core/node_modules/svelte/types/runtime/ambient.d.ts b/packages/frontend-core/node_modules/svelte/types/runtime/ambient.d.ts deleted file mode 100644 index d8c267b25a..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/runtime/ambient.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -declare module '*.svelte' { - export { SvelteComponentDev as default } from 'svelte/internal'; -} diff --git a/packages/frontend-core/node_modules/svelte/types/runtime/animate/index.d.ts b/packages/frontend-core/node_modules/svelte/types/runtime/animate/index.d.ts deleted file mode 100644 index 5645806aff..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/runtime/animate/index.d.ts +++ /dev/null @@ -1,16 +0,0 @@ -export interface AnimationConfig { - delay?: number; - duration?: number; - easing?: (t: number) => number; - css?: (t: number, u: number) => string; - tick?: (t: number, u: number) => void; -} -export interface FlipParams { - delay?: number; - duration?: number | ((len: number) => number); - easing?: (t: number) => number; -} -export declare function flip(node: Element, { from, to }: { - from: DOMRect; - to: DOMRect; -}, params?: FlipParams): AnimationConfig; diff --git a/packages/frontend-core/node_modules/svelte/types/runtime/easing/index.d.ts b/packages/frontend-core/node_modules/svelte/types/runtime/easing/index.d.ts deleted file mode 100644 index c8d34d21b1..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/runtime/easing/index.d.ts +++ /dev/null @@ -1,31 +0,0 @@ -export { identity as linear } from 'svelte/internal'; -export declare function backInOut(t: number): number; -export declare function backIn(t: number): number; -export declare function backOut(t: number): number; -export declare function bounceOut(t: number): number; -export declare function bounceInOut(t: number): number; -export declare function bounceIn(t: number): number; -export declare function circInOut(t: number): number; -export declare function circIn(t: number): number; -export declare function circOut(t: number): number; -export declare function cubicInOut(t: number): number; -export declare function cubicIn(t: number): number; -export declare function cubicOut(t: number): number; -export declare function elasticInOut(t: number): number; -export declare function elasticIn(t: number): number; -export declare function elasticOut(t: number): number; -export declare function expoInOut(t: number): number; -export declare function expoIn(t: number): number; -export declare function expoOut(t: number): number; -export declare function quadInOut(t: number): number; -export declare function quadIn(t: number): number; -export declare function quadOut(t: number): number; -export declare function quartInOut(t: number): number; -export declare function quartIn(t: number): number; -export declare function quartOut(t: number): number; -export declare function quintInOut(t: number): number; -export declare function quintIn(t: number): number; -export declare function quintOut(t: number): number; -export declare function sineInOut(t: number): number; -export declare function sineIn(t: number): number; -export declare function sineOut(t: number): number; diff --git a/packages/frontend-core/node_modules/svelte/types/runtime/index.d.ts b/packages/frontend-core/node_modules/svelte/types/runtime/index.d.ts deleted file mode 100644 index a0d4acc869..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/runtime/index.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -import './ambient'; -export { onMount, onDestroy, beforeUpdate, afterUpdate, setContext, getContext, getAllContexts, hasContext, tick, createEventDispatcher, SvelteComponentDev as SvelteComponent, SvelteComponentTyped } from 'svelte/internal'; diff --git a/packages/frontend-core/node_modules/svelte/types/runtime/internal/Component.d.ts b/packages/frontend-core/node_modules/svelte/types/runtime/internal/Component.d.ts deleted file mode 100644 index f361973e33..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/runtime/internal/Component.d.ts +++ /dev/null @@ -1,54 +0,0 @@ -/** - * INTERNAL, DO NOT USE. Code may change at any time. - */ -export interface Fragment { - key: string | null; - first: null; - c: () => void; - l: (nodes: any) => void; - h: () => void; - m: (target: HTMLElement, anchor: any) => void; - p: (ctx: any, dirty: any) => void; - r: () => void; - f: () => void; - a: () => void; - i: (local: any) => void; - o: (local: any) => void; - d: (detaching: 0 | 1) => void; -} -interface T$$ { - dirty: number[]; - ctx: null | any; - bound: any; - update: () => void; - callbacks: any; - after_update: any[]; - props: Record; - fragment: null | false | Fragment; - not_equal: any; - before_update: any[]; - context: Map; - on_mount: any[]; - on_destroy: any[]; - skip_bound: boolean; - on_disconnect: any[]; - root: Element | ShadowRoot; -} -export declare function bind(component: any, name: any, callback: any): void; -export declare function create_component(block: any): void; -export declare function claim_component(block: any, parent_nodes: any): void; -export declare function mount_component(component: any, target: any, anchor: any, customElement: any): void; -export declare function destroy_component(component: any, detaching: any): void; -export declare function init(component: any, options: any, instance: any, create_fragment: any, not_equal: any, props: any, append_styles: any, dirty?: number[]): void; -export declare let SvelteElement: any; -/** - * Base class for Svelte components. Used when dev=false. - */ -export declare class SvelteComponent { - $$: T$$; - $$set?: ($$props: any) => void; - $destroy(): void; - $on(type: any, callback: any): () => void; - $set($$props: any): void; -} -export {}; diff --git a/packages/frontend-core/node_modules/svelte/types/runtime/internal/animations.d.ts b/packages/frontend-core/node_modules/svelte/types/runtime/internal/animations.d.ts deleted file mode 100644 index 5158611867..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/runtime/internal/animations.d.ts +++ /dev/null @@ -1,11 +0,0 @@ -import { noop } from './utils'; -import { AnimationConfig } from '../animate'; -declare type PositionRect = DOMRect | ClientRect; -declare type AnimationFn = (node: Element, { from, to }: { - from: PositionRect; - to: PositionRect; -}, params: any) => AnimationConfig; -export declare function create_animation(node: Element & ElementCSSInlineStyle, from: PositionRect, fn: AnimationFn, params: any): typeof noop; -export declare function fix_position(node: Element & ElementCSSInlineStyle): void; -export declare function add_transform(node: Element & ElementCSSInlineStyle, a: PositionRect): void; -export {}; diff --git a/packages/frontend-core/node_modules/svelte/types/runtime/internal/await_block.d.ts b/packages/frontend-core/node_modules/svelte/types/runtime/internal/await_block.d.ts deleted file mode 100644 index 81b50345de..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/runtime/internal/await_block.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export declare function handle_promise(promise: any, info: any): boolean; -export declare function update_await_block_branch(info: any, ctx: any, dirty: any): void; diff --git a/packages/frontend-core/node_modules/svelte/types/runtime/internal/dev.d.ts b/packages/frontend-core/node_modules/svelte/types/runtime/internal/dev.d.ts deleted file mode 100644 index 3574b8dabb..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/runtime/internal/dev.d.ts +++ /dev/null @@ -1,125 +0,0 @@ -import { SvelteComponent } from './Component'; -export declare function dispatch_dev(type: string, detail?: T): void; -export declare function append_dev(target: Node, node: Node): void; -export declare function append_hydration_dev(target: Node, node: Node): void; -export declare function insert_dev(target: Node, node: Node, anchor?: Node): void; -export declare function insert_hydration_dev(target: Node, node: Node, anchor?: Node): void; -export declare function detach_dev(node: Node): void; -export declare function detach_between_dev(before: Node, after: Node): void; -export declare function detach_before_dev(after: Node): void; -export declare function detach_after_dev(before: Node): void; -export declare function listen_dev(node: Node, event: string, handler: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions | EventListenerOptions, has_prevent_default?: boolean, has_stop_propagation?: boolean): () => void; -export declare function attr_dev(node: Element, attribute: string, value?: string): void; -export declare function prop_dev(node: Element, property: string, value?: any): void; -export declare function dataset_dev(node: HTMLElement, property: string, value?: any): void; -export declare function set_data_dev(text: any, data: any): void; -export declare function validate_each_argument(arg: any): void; -export declare function validate_slots(name: any, slot: any, keys: any): void; -declare type Props = Record; -export interface SvelteComponentDev { - $set(props?: Props): void; - $on(event: string, callback: (event: any) => void): () => void; - $destroy(): void; - [accessor: string]: any; -} -interface IComponentOptions = Record> { - target: Element | ShadowRoot; - anchor?: Element; - props?: Props; - context?: Map; - hydrate?: boolean; - intro?: boolean; - $$inline?: boolean; -} -/** - * Base class for Svelte components with some minor dev-enhancements. Used when dev=true. - */ -export declare class SvelteComponentDev extends SvelteComponent { - /** - * @private - * For type checking capabilities only. - * Does not exist at runtime. - * ### DO NOT USE! - */ - $$prop_def: Props; - /** - * @private - * For type checking capabilities only. - * Does not exist at runtime. - * ### DO NOT USE! - */ - $$events_def: any; - /** - * @private - * For type checking capabilities only. - * Does not exist at runtime. - * ### DO NOT USE! - */ - $$slot_def: any; - constructor(options: IComponentOptions); - $capture_state(): void; - $inject_state(): void; -} -export interface SvelteComponentTyped = any, Events extends Record = any, Slots extends Record = any> { - $set(props?: Partial): void; - $on>(type: K, callback: (e: Events[K]) => void): () => void; - $destroy(): void; - [accessor: string]: any; -} -/** - * Base class to create strongly typed Svelte components. - * This only exists for typing purposes and should be used in `.d.ts` files. - * - * ### Example: - * - * You have component library on npm called `component-library`, from which - * you export a component called `MyComponent`. For Svelte+TypeScript users, - * you want to provide typings. Therefore you create a `index.d.ts`: - * ```ts - * import { SvelteComponentTyped } from "svelte"; - * export class MyComponent extends SvelteComponentTyped<{foo: string}> {} - * ``` - * Typing this makes it possible for IDEs like VS Code with the Svelte extension - * to provide intellisense and to use the component like this in a Svelte file - * with TypeScript: - * ```svelte - * - * - * ``` - * - * #### Why not make this part of `SvelteComponent(Dev)`? - * Because - * ```ts - * class ASubclassOfSvelteComponent extends SvelteComponent<{foo: string}> {} - * const component: typeof SvelteComponent = ASubclassOfSvelteComponent; - * ``` - * will throw a type error, so we need to separate the more strictly typed class. - */ -export declare class SvelteComponentTyped = any, Events extends Record = any, Slots extends Record = any> extends SvelteComponentDev { - /** - * @private - * For type checking capabilities only. - * Does not exist at runtime. - * ### DO NOT USE! - */ - $$prop_def: Props; - /** - * @private - * For type checking capabilities only. - * Does not exist at runtime. - * ### DO NOT USE! - */ - $$events_def: Events; - /** - * @private - * For type checking capabilities only. - * Does not exist at runtime. - * ### DO NOT USE! - */ - $$slot_def: Slots; - constructor(options: IComponentOptions); -} -export declare function loop_guard(timeout: any): () => void; -export {}; diff --git a/packages/frontend-core/node_modules/svelte/types/runtime/internal/dom.d.ts b/packages/frontend-core/node_modules/svelte/types/runtime/internal/dom.d.ts deleted file mode 100644 index 6035c0f4ad..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/runtime/internal/dom.d.ts +++ /dev/null @@ -1,99 +0,0 @@ -export declare function start_hydrating(): void; -export declare function end_hydrating(): void; -declare type NodeEx = Node & { - claim_order?: number; - hydrate_init?: true; - actual_end_child?: NodeEx; - childNodes: NodeListOf; -}; -export declare function append(target: Node, node: Node): void; -export declare function append_styles(target: Node, style_sheet_id: string, styles: string): void; -export declare function get_root_for_style(node: Node): ShadowRoot | Document; -export declare function append_empty_stylesheet(node: Node): CSSStyleSheet; -export declare function append_hydration(target: NodeEx, node: NodeEx): void; -export declare function insert(target: Node, node: Node, anchor?: Node): void; -export declare function insert_hydration(target: NodeEx, node: NodeEx, anchor?: NodeEx): void; -export declare function detach(node: Node): void; -export declare function destroy_each(iterations: any, detaching: any): void; -export declare function element(name: K): HTMLElementTagNameMap[K]; -export declare function element_is(name: K, is: string): HTMLElementTagNameMap[K]; -export declare function object_without_properties(obj: T, exclude: K[]): Pick>; -export declare function svg_element(name: K): SVGElement; -export declare function text(data: string): Text; -export declare function space(): Text; -export declare function empty(): Text; -export declare function listen(node: EventTarget, event: string, handler: EventListenerOrEventListenerObject, options?: boolean | AddEventListenerOptions | EventListenerOptions): () => void; -export declare function prevent_default(fn: any): (event: any) => any; -export declare function stop_propagation(fn: any): (event: any) => any; -export declare function self(fn: any): (event: any) => void; -export declare function trusted(fn: any): (event: any) => void; -export declare function attr(node: Element, attribute: string, value?: string): void; -export declare function set_attributes(node: Element & ElementCSSInlineStyle, attributes: { - [x: string]: string; -}): void; -export declare function set_svg_attributes(node: Element & ElementCSSInlineStyle, attributes: { - [x: string]: string; -}): void; -export declare function set_custom_element_data(node: any, prop: any, value: any): void; -export declare function xlink_attr(node: any, attribute: any, value: any): void; -export declare function get_binding_group_value(group: any, __value: any, checked: any): unknown[]; -export declare function to_number(value: any): number; -export declare function time_ranges_to_array(ranges: any): any[]; -declare type ChildNodeEx = ChildNode & NodeEx; -declare type ChildNodeArray = ChildNodeEx[] & { - claim_info?: { - /** - * The index of the last claimed element - */ - last_index: number; - /** - * The total number of elements claimed - */ - total_claimed: number; - }; -}; -export declare function children(element: Element): ChildNode[]; -export declare function claim_element(nodes: ChildNodeArray, name: string, attributes: { - [key: string]: boolean; -}): Element | SVGElement; -export declare function claim_svg_element(nodes: ChildNodeArray, name: string, attributes: { - [key: string]: boolean; -}): Element | SVGElement; -export declare function claim_text(nodes: ChildNodeArray, data: any): Text; -export declare function claim_space(nodes: any): Text; -export declare function claim_html_tag(nodes: any): HtmlTagHydration; -export declare function set_data(text: any, data: any): void; -export declare function set_input_value(input: any, value: any): void; -export declare function set_input_type(input: any, type: any): void; -export declare function set_style(node: any, key: any, value: any, important: any): void; -export declare function select_option(select: any, value: any): void; -export declare function select_options(select: any, value: any): void; -export declare function select_value(select: any): any; -export declare function select_multiple_value(select: any): any; -export declare function is_crossorigin(): boolean; -export declare function add_resize_listener(node: HTMLElement, fn: () => void): () => void; -export declare function toggle_class(element: any, name: any, toggle: any): void; -export declare function custom_event(type: string, detail?: T, bubbles?: boolean): CustomEvent; -export declare function query_selector_all(selector: string, parent?: HTMLElement): ChildNodeArray; -export declare class HtmlTag { - e: HTMLElement; - n: ChildNode[]; - t: HTMLElement; - a: HTMLElement; - constructor(); - c(html: string): void; - m(html: string, target: HTMLElement, anchor?: HTMLElement): void; - h(html: string): void; - i(anchor: any): void; - p(html: string): void; - d(): void; -} -export declare class HtmlTagHydration extends HtmlTag { - l: ChildNode[] | void; - constructor(claimed_nodes?: ChildNode[]); - c(html: string): void; - i(anchor: any): void; -} -export declare function attribute_to_object(attributes: NamedNodeMap): {}; -export declare function get_custom_elements_slots(element: HTMLElement): {}; -export {}; diff --git a/packages/frontend-core/node_modules/svelte/types/runtime/internal/environment.d.ts b/packages/frontend-core/node_modules/svelte/types/runtime/internal/environment.d.ts deleted file mode 100644 index be732435d7..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/runtime/internal/environment.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -import { noop } from './utils'; -export declare const is_client: boolean; -export declare let now: () => number; -export declare let raf: typeof noop | ((cb: any) => number); -export declare function set_now(fn: any): void; -export declare function set_raf(fn: any): void; diff --git a/packages/frontend-core/node_modules/svelte/types/runtime/internal/globals.d.ts b/packages/frontend-core/node_modules/svelte/types/runtime/internal/globals.d.ts deleted file mode 100644 index 53f84ffc26..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/runtime/internal/globals.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare const globals: typeof globalThis; diff --git a/packages/frontend-core/node_modules/svelte/types/runtime/internal/index.d.ts b/packages/frontend-core/node_modules/svelte/types/runtime/internal/index.d.ts deleted file mode 100644 index e1dd2a1fcf..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/runtime/internal/index.d.ts +++ /dev/null @@ -1,15 +0,0 @@ -export * from './animations'; -export * from './await_block'; -export * from './dom'; -export * from './environment'; -export * from './globals'; -export * from './keyed_each'; -export * from './lifecycle'; -export * from './loop'; -export * from './scheduler'; -export * from './spread'; -export * from './ssr'; -export * from './transitions'; -export * from './utils'; -export * from './Component'; -export * from './dev'; diff --git a/packages/frontend-core/node_modules/svelte/types/runtime/internal/keyed_each.d.ts b/packages/frontend-core/node_modules/svelte/types/runtime/internal/keyed_each.d.ts deleted file mode 100644 index 0fe0e53911..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/runtime/internal/keyed_each.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -export declare function destroy_block(block: any, lookup: any): void; -export declare function outro_and_destroy_block(block: any, lookup: any): void; -export declare function fix_and_destroy_block(block: any, lookup: any): void; -export declare function fix_and_outro_and_destroy_block(block: any, lookup: any): void; -export declare function update_keyed_each(old_blocks: any, dirty: any, get_key: any, dynamic: any, ctx: any, list: any, lookup: any, node: any, destroy: any, create_each_block: any, next: any, get_context: any): any[]; -export declare function validate_each_keys(ctx: any, list: any, get_context: any, get_key: any): void; diff --git a/packages/frontend-core/node_modules/svelte/types/runtime/internal/lifecycle.d.ts b/packages/frontend-core/node_modules/svelte/types/runtime/internal/lifecycle.d.ts deleted file mode 100644 index 489cfa7efb..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/runtime/internal/lifecycle.d.ts +++ /dev/null @@ -1,13 +0,0 @@ -export declare let current_component: any; -export declare function set_current_component(component: any): void; -export declare function get_current_component(): any; -export declare function beforeUpdate(fn: () => any): void; -export declare function onMount(fn: () => any): void; -export declare function afterUpdate(fn: () => any): void; -export declare function onDestroy(fn: () => any): void; -export declare function createEventDispatcher(): >(type: EventKey, detail?: EventMap[EventKey]) => void; -export declare function setContext(key: any, context: T): void; -export declare function getContext(key: any): T; -export declare function getAllContexts = Map>(): T; -export declare function hasContext(key: any): boolean; -export declare function bubble(component: any, event: any): void; diff --git a/packages/frontend-core/node_modules/svelte/types/runtime/internal/loop.d.ts b/packages/frontend-core/node_modules/svelte/types/runtime/internal/loop.d.ts deleted file mode 100644 index 80c4060bb9..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/runtime/internal/loop.d.ts +++ /dev/null @@ -1,15 +0,0 @@ -export interface Task { - abort(): void; - promise: Promise; -} -declare type TaskCallback = (now: number) => boolean | void; -/** - * For testing purposes only! - */ -export declare function clear_loops(): void; -/** - * Creates a new task that runs on each raf frame - * until it returns a falsy value or is aborted - */ -export declare function loop(callback: TaskCallback): Task; -export {}; diff --git a/packages/frontend-core/node_modules/svelte/types/runtime/internal/scheduler.d.ts b/packages/frontend-core/node_modules/svelte/types/runtime/internal/scheduler.d.ts deleted file mode 100644 index 6f6cbf320d..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/runtime/internal/scheduler.d.ts +++ /dev/null @@ -1,10 +0,0 @@ -export declare const dirty_components: any[]; -export declare const intros: { - enabled: boolean; -}; -export declare const binding_callbacks: any[]; -export declare function schedule_update(): void; -export declare function tick(): Promise; -export declare function add_render_callback(fn: any): void; -export declare function add_flush_callback(fn: any): void; -export declare function flush(): void; diff --git a/packages/frontend-core/node_modules/svelte/types/runtime/internal/spread.d.ts b/packages/frontend-core/node_modules/svelte/types/runtime/internal/spread.d.ts deleted file mode 100644 index 5236c21408..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/runtime/internal/spread.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export declare function get_spread_update(levels: any, updates: any): {}; -export declare function get_spread_object(spread_props: any): any; diff --git a/packages/frontend-core/node_modules/svelte/types/runtime/internal/ssr.d.ts b/packages/frontend-core/node_modules/svelte/types/runtime/internal/ssr.d.ts deleted file mode 100644 index 53b111195a..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/runtime/internal/ssr.d.ts +++ /dev/null @@ -1,36 +0,0 @@ -export declare const invalid_attribute_name_character: RegExp; -export declare function spread(args: any, attrs_to_add: any): string; -export declare function merge_ssr_styles(style_attribute: any, style_directive: any): {}; -export declare const escaped: { - '"': string; - "'": string; - '&': string; - '<': string; - '>': string; -}; -export declare function escape(html: any): string; -export declare function escape_attribute_value(value: any): any; -export declare function escape_object(obj: any): {}; -export declare function each(items: any, fn: any): string; -export declare const missing_component: { - $$render: () => string; -}; -export declare function validate_component(component: any, name: any): any; -export declare function debug(file: any, line: any, column: any, values: any): string; -export declare function create_ssr_component(fn: any): { - render: (props?: {}, { $$slots, context }?: { - $$slots?: {}; - context?: Map; - }) => { - html: any; - css: { - code: string; - map: any; - }; - head: string; - }; - $$render: (result: any, props: any, bindings: any, slots: any, context: any) => any; -}; -export declare function add_attribute(name: any, value: any, boolean: any): string; -export declare function add_classes(classes: any): string; -export declare function add_styles(style_object: any): string; diff --git a/packages/frontend-core/node_modules/svelte/types/runtime/internal/style_manager.d.ts b/packages/frontend-core/node_modules/svelte/types/runtime/internal/style_manager.d.ts deleted file mode 100644 index 9b669eeb52..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/runtime/internal/style_manager.d.ts +++ /dev/null @@ -1,3 +0,0 @@ -export declare function create_rule(node: Element & ElementCSSInlineStyle, a: number, b: number, duration: number, delay: number, ease: (t: number) => number, fn: (t: number, u: number) => string, uid?: number): string; -export declare function delete_rule(node: Element & ElementCSSInlineStyle, name?: string): void; -export declare function clear_rules(): void; diff --git a/packages/frontend-core/node_modules/svelte/types/runtime/internal/transitions.d.ts b/packages/frontend-core/node_modules/svelte/types/runtime/internal/transitions.d.ts deleted file mode 100644 index 803a94471b..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/runtime/internal/transitions.d.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { TransitionConfig } from '../transition'; -import { Fragment } from './Component'; -export declare function group_outros(): void; -export declare function check_outros(): void; -export declare function transition_in(block: Fragment, local?: 0 | 1): void; -export declare function transition_out(block: Fragment, local: 0 | 1, detach?: 0 | 1, callback?: any): void; -declare type TransitionFn = (node: Element, params: any) => TransitionConfig; -export declare function create_in_transition(node: Element & ElementCSSInlineStyle, fn: TransitionFn, params: any): { - start(): void; - invalidate(): void; - end(): void; -}; -export declare function create_out_transition(node: Element & ElementCSSInlineStyle, fn: TransitionFn, params: any): { - end(reset: any): void; -}; -export declare function create_bidirectional_transition(node: Element & ElementCSSInlineStyle, fn: TransitionFn, params: any, intro: boolean): { - run(b: 0 | 1): void; - end(): void; -}; -export {}; diff --git a/packages/frontend-core/node_modules/svelte/types/runtime/internal/utils.d.ts b/packages/frontend-core/node_modules/svelte/types/runtime/internal/utils.d.ts deleted file mode 100644 index 416b888485..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/runtime/internal/utils.d.ts +++ /dev/null @@ -1,31 +0,0 @@ -import { Readable } from 'svelte/store'; -export declare function noop(): void; -export declare const identity: (x: any) => any; -export declare function assign(tar: T, src: S): T & S; -export declare function is_promise(value: any): value is PromiseLike; -export declare function add_location(element: any, file: any, line: any, column: any, char: any): void; -export declare function run(fn: any): any; -export declare function blank_object(): any; -export declare function run_all(fns: Function[]): void; -export declare function is_function(thing: any): thing is Function; -export declare function safe_not_equal(a: any, b: any): boolean; -export declare function src_url_equal(element_src: any, url: any): boolean; -export declare function not_equal(a: any, b: any): boolean; -export declare function is_empty(obj: any): boolean; -export declare function validate_store(store: any, name: any): void; -export declare function subscribe(store: any, ...callbacks: any[]): any; -export declare function get_store_value(store: Readable): T; -export declare function component_subscribe(component: any, store: any, callback: any): void; -export declare function create_slot(definition: any, ctx: any, $$scope: any, fn: any): any; -export declare function get_slot_changes(definition: any, $$scope: any, dirty: any, fn: any): any; -export declare function update_slot_base(slot: any, slot_definition: any, ctx: any, $$scope: any, slot_changes: any, get_slot_context_fn: any): void; -export declare function update_slot(slot: any, slot_definition: any, ctx: any, $$scope: any, dirty: any, get_slot_changes_fn: any, get_slot_context_fn: any): void; -export declare function get_all_dirty_from_scope($$scope: any): any[] | -1; -export declare function exclude_internal_props(props: any): {}; -export declare function compute_rest_props(props: any, keys: any): {}; -export declare function compute_slots(slots: any): {}; -export declare function once(fn: any): (this: any, ...args: any[]) => void; -export declare function null_to_empty(value: any): any; -export declare function set_store_value(store: any, ret: any, value: any): any; -export declare const has_prop: (obj: any, prop: any) => any; -export declare function action_destroyer(action_result: any): any; diff --git a/packages/frontend-core/node_modules/svelte/types/runtime/motion/index.d.ts b/packages/frontend-core/node_modules/svelte/types/runtime/motion/index.d.ts deleted file mode 100644 index ea6c646dd9..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/runtime/motion/index.d.ts +++ /dev/null @@ -1,2 +0,0 @@ -export * from './spring'; -export * from './tweened'; diff --git a/packages/frontend-core/node_modules/svelte/types/runtime/motion/spring.d.ts b/packages/frontend-core/node_modules/svelte/types/runtime/motion/spring.d.ts deleted file mode 100644 index a54e6b436f..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/runtime/motion/spring.d.ts +++ /dev/null @@ -1,20 +0,0 @@ -import { Readable } from 'svelte/store'; -interface SpringOpts { - stiffness?: number; - damping?: number; - precision?: number; -} -interface SpringUpdateOpts { - hard?: any; - soft?: string | number | boolean; -} -declare type Updater = (target_value: T, value: T) => T; -export interface Spring extends Readable { - set: (new_value: T, opts?: SpringUpdateOpts) => Promise; - update: (fn: Updater, opts?: SpringUpdateOpts) => Promise; - precision: number; - damping: number; - stiffness: number; -} -export declare function spring(value?: T, opts?: SpringOpts): Spring; -export {}; diff --git a/packages/frontend-core/node_modules/svelte/types/runtime/motion/tweened.d.ts b/packages/frontend-core/node_modules/svelte/types/runtime/motion/tweened.d.ts deleted file mode 100644 index 9582c0b50b..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/runtime/motion/tweened.d.ts +++ /dev/null @@ -1,14 +0,0 @@ -import { Readable } from 'svelte/store'; -interface Options { - delay?: number; - duration?: number | ((from: T, to: T) => number); - easing?: (t: number) => number; - interpolate?: (a: T, b: T) => (t: number) => T; -} -declare type Updater = (target_value: T, value: T) => T; -export interface Tweened extends Readable { - set(value: T, opts?: Options): Promise; - update(updater: Updater, opts?: Options): Promise; -} -export declare function tweened(value?: T, defaults?: Options): Tweened; -export {}; diff --git a/packages/frontend-core/node_modules/svelte/types/runtime/motion/utils.d.ts b/packages/frontend-core/node_modules/svelte/types/runtime/motion/utils.d.ts deleted file mode 100644 index 1fc2001074..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/runtime/motion/utils.d.ts +++ /dev/null @@ -1 +0,0 @@ -export declare function is_date(obj: any): obj is Date; diff --git a/packages/frontend-core/node_modules/svelte/types/runtime/ssr.d.ts b/packages/frontend-core/node_modules/svelte/types/runtime/ssr.d.ts deleted file mode 100644 index be39e664bd..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/runtime/ssr.d.ts +++ /dev/null @@ -1,4 +0,0 @@ -export { onDestroy, setContext, getContext, getAllContexts, hasContext, tick, createEventDispatcher, SvelteComponent, SvelteComponentTyped } from './index'; -export declare function onMount(): void; -export declare function beforeUpdate(): void; -export declare function afterUpdate(): void; diff --git a/packages/frontend-core/node_modules/svelte/types/runtime/store/index.d.ts b/packages/frontend-core/node_modules/svelte/types/runtime/store/index.d.ts deleted file mode 100644 index 2629f3fe9d..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/runtime/store/index.d.ts +++ /dev/null @@ -1,82 +0,0 @@ -import { get_store_value } from 'svelte/internal'; -/** Callback to inform of a value updates. */ -export declare type Subscriber = (value: T) => void; -/** Unsubscribes from value updates. */ -export declare type Unsubscriber = () => void; -/** Callback to update a value. */ -export declare type Updater = (value: T) => T; -/** Cleanup logic callback. */ -declare type Invalidator = (value?: T) => void; -/** Start and stop notification callbacks. */ -export declare type StartStopNotifier = (set: Subscriber) => Unsubscriber | void; -/** Readable interface for subscribing. */ -export interface Readable { - /** - * Subscribe on value changes. - * @param run subscription callback - * @param invalidate cleanup callback - */ - subscribe(this: void, run: Subscriber, invalidate?: Invalidator): Unsubscriber; -} -/** Writable interface for both updating and subscribing. */ -export interface Writable extends Readable { - /** - * Set value and inform subscribers. - * @param value to set - */ - set(this: void, value: T): void; - /** - * Update value using callback and inform subscribers. - * @param updater callback - */ - update(this: void, updater: Updater): void; -} -/** - * Creates a `Readable` store that allows reading by subscription. - * @param value initial value - * @param {StartStopNotifier}start start and stop notifications for subscriptions - */ -export declare function readable(value?: T, start?: StartStopNotifier): Readable; -/** - * Create a `Writable` store that allows both updating and reading by subscription. - * @param {*=}value initial value - * @param {StartStopNotifier=}start start and stop notifications for subscriptions - */ -export declare function writable(value?: T, start?: StartStopNotifier): Writable; -/** One or more `Readable`s. */ -declare type Stores = Readable | [Readable, ...Array>] | Array>; -/** One or more values from `Readable` stores. */ -declare type StoresValues = T extends Readable ? U : { - [K in keyof T]: T[K] extends Readable ? U : never; -}; -/** - * Derived value store by synchronizing one or more readable stores and - * applying an aggregation function over its input values. - * - * @param stores - input stores - * @param fn - function callback that aggregates the values - * @param initial_value - when used asynchronously - */ -export declare function derived(stores: S, fn: (values: StoresValues, set: (value: T) => void) => Unsubscriber | void, initial_value?: T): Readable; -/** - * Derived value store by synchronizing one or more readable stores and - * applying an aggregation function over its input values. - * - * @param stores - input stores - * @param fn - function callback that aggregates the values - * @param initial_value - initial value - */ -export declare function derived(stores: S, fn: (values: StoresValues) => T, initial_value?: T): Readable; -/** - * Derived value store by synchronizing one or more readable stores and - * applying an aggregation function over its input values. - * - * @param stores - input stores - * @param fn - function callback that aggregates the values - */ -export declare function derived(stores: S, fn: (values: StoresValues) => T): Readable; -/** - * Get the current value from a store by subscribing and immediately unsubscribing. - * @param store readable - */ -export { get_store_value as get }; diff --git a/packages/frontend-core/node_modules/svelte/types/runtime/transition/index.d.ts b/packages/frontend-core/node_modules/svelte/types/runtime/transition/index.d.ts deleted file mode 100644 index b3c242eca9..0000000000 --- a/packages/frontend-core/node_modules/svelte/types/runtime/transition/index.d.ts +++ /dev/null @@ -1,66 +0,0 @@ -export declare type EasingFunction = (t: number) => number; -export interface TransitionConfig { - delay?: number; - duration?: number; - easing?: EasingFunction; - css?: (t: number, u: number) => string; - tick?: (t: number, u: number) => void; -} -export interface BlurParams { - delay?: number; - duration?: number; - easing?: EasingFunction; - amount?: number; - opacity?: number; -} -export declare function blur(node: Element, { delay, duration, easing, amount, opacity }?: BlurParams): TransitionConfig; -export interface FadeParams { - delay?: number; - duration?: number; - easing?: EasingFunction; -} -export declare function fade(node: Element, { delay, duration, easing }?: FadeParams): TransitionConfig; -export interface FlyParams { - delay?: number; - duration?: number; - easing?: EasingFunction; - x?: number; - y?: number; - opacity?: number; -} -export declare function fly(node: Element, { delay, duration, easing, x, y, opacity }?: FlyParams): TransitionConfig; -export interface SlideParams { - delay?: number; - duration?: number; - easing?: EasingFunction; -} -export declare function slide(node: Element, { delay, duration, easing }?: SlideParams): TransitionConfig; -export interface ScaleParams { - delay?: number; - duration?: number; - easing?: EasingFunction; - start?: number; - opacity?: number; -} -export declare function scale(node: Element, { delay, duration, easing, start, opacity }?: ScaleParams): TransitionConfig; -export interface DrawParams { - delay?: number; - speed?: number; - duration?: number | ((len: number) => number); - easing?: EasingFunction; -} -export declare function draw(node: SVGElement & { - getTotalLength(): number; -}, { delay, speed, duration, easing }?: DrawParams): TransitionConfig; -export interface CrossfadeParams { - delay?: number; - duration?: number | ((len: number) => number); - easing?: EasingFunction; -} -export declare function crossfade({ fallback, ...defaults }: CrossfadeParams & { - fallback?: (node: Element, params: CrossfadeParams, intro: boolean) => TransitionConfig; -}): [(node: Element, params: CrossfadeParams & { - key: any; -}) => () => TransitionConfig, (node: Element, params: CrossfadeParams & { - key: any; -}) => () => TransitionConfig]; From c08fadc7b02c073737b177cbe01fc695f0693cff Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Mon, 24 Jan 2022 16:38:36 +0000 Subject: [PATCH 031/176] Move API client in builder to top level under src and fix some endpoints not being imported --- .../builder/src/{builderStore => }/api.js | 4 +- .../components/start/CreateAppModal.svelte | 4 +- packages/builder/vite.config.js | 2 +- packages/frontend-core/src/api/app.js | 11 ++++++ packages/frontend-core/src/api/builder.js | 39 ------------------- packages/frontend-core/src/api/index.js | 10 ++--- packages/frontend-core/src/api/other.js | 27 +++++++++++++ 7 files changed, 48 insertions(+), 49 deletions(-) rename packages/builder/src/{builderStore => }/api.js (90%) delete mode 100644 packages/frontend-core/src/api/builder.js diff --git a/packages/builder/src/builderStore/api.js b/packages/builder/src/api.js similarity index 90% rename from packages/builder/src/builderStore/api.js rename to packages/builder/src/api.js index 3dd6c28031..4a1f5e94f2 100644 --- a/packages/builder/src/builderStore/api.js +++ b/packages/builder/src/api.js @@ -3,7 +3,7 @@ import { CookieUtils, Constants, } from "@budibase/frontend-core" -import { store } from "./index" +import { store } from "./builderStore" import { get } from "svelte/store" export const API = createAPIClient({ @@ -25,7 +25,7 @@ export const API = createAPIClient({ } // Log all errors to console - console.error(`HTTP ${status} on ${method}:${url}:\n\t${message}`) + console.error(`HTTP ${status} on ${method}:${url}\n\t${message}`) // Logout on 403's if (status === 403) { diff --git a/packages/builder/src/components/start/CreateAppModal.svelte b/packages/builder/src/components/start/CreateAppModal.svelte index 97e0fd5715..c81a62d42c 100644 --- a/packages/builder/src/components/start/CreateAppModal.svelte +++ b/packages/builder/src/components/start/CreateAppModal.svelte @@ -50,7 +50,7 @@ "Another app with the same name already exists", value => { return !existingAppNames.some( - appName => appName.toLowerCase() === value.toLowerCase() + appName => appName?.toLowerCase() === value.toLowerCase() ) } ) @@ -67,7 +67,7 @@ try { await obj.validate(values, { abortEarly: false }) } catch (validationErrors) { - validationErrors.inner.forEach(error => { + validationErrors.inner?.forEach(error => { $errors[error.path] = capitalise(error.message) }) } diff --git a/packages/builder/vite.config.js b/packages/builder/vite.config.js index dbaf1ffb2b..b68d265bc5 100644 --- a/packages/builder/vite.config.js +++ b/packages/builder/vite.config.js @@ -58,7 +58,7 @@ export default ({ mode }) => { }, { find: "api", - replacement: path.resolve("./src/builderStore/api.js"), + replacement: path.resolve("./src/api.js"), }, { find: "constants", diff --git a/packages/frontend-core/src/api/app.js b/packages/frontend-core/src/api/app.js index 1b0735be05..32fe8908ad 100644 --- a/packages/frontend-core/src/api/app.js +++ b/packages/frontend-core/src/api/app.js @@ -139,4 +139,15 @@ export const buildAppEndpoints = API => ({ url: "/api/applications?status=all", }) }, + + /** + * Fetches the definitions for component library components. This includes + * their props and other metadata from components.json. + * @param {string} appId - ID of the currently running app + */ + fetchComponentLibDefinitions: async appId => { + return await API.get({ + url: `/api/${appId}/components/definitions`, + }) + }, }) diff --git a/packages/frontend-core/src/api/builder.js b/packages/frontend-core/src/api/builder.js deleted file mode 100644 index 1b873fe09e..0000000000 --- a/packages/frontend-core/src/api/builder.js +++ /dev/null @@ -1,39 +0,0 @@ -export const buildBuilderEndpoints = API => ({ - /** - * Fetches the definitions for component library components. This includes - * their props and other metadata from components.json. - * @param {string} appId - ID of the currently running app - */ - fetchComponentLibDefinitions: async appId => { - return await API.get({ - url: `/api/${appId}/components/definitions`, - }) - }, - - /** - * Gets the list of available integrations. - */ - getIntegrations: async () => { - return await API.get({ - url: "/api/integrations", - }) - }, - - /** - * Gets the version of the installed Budibase environment. - */ - getBudibaseVersion: async () => { - return await API.get({ - url: "/api/dev/version", - }) - }, - - /** - * Gets the base permissions for roles. - */ - getBasePermissions: async () => { - return await API.get({ - url: "/api/permission/builtin", - }) - }, -}) diff --git a/packages/frontend-core/src/api/index.js b/packages/frontend-core/src/api/index.js index 973a1fbc2f..99ce9a1f69 100644 --- a/packages/frontend-core/src/api/index.js +++ b/packages/frontend-core/src/api/index.js @@ -66,13 +66,13 @@ export const createAPIClient = config => { } // Generates an error object from a string - const makeError = message => { + const makeError = (message, request) => { return { message, json: null, status: 400, - url: "", - method: "", + url: request?.url, + method: request?.method, handled: true, } } @@ -106,7 +106,7 @@ export const createAPIClient = config => { try { requestBody = JSON.stringify(body) } catch (error) { - throw makeError("Invalid JSON body") + throw makeError("Invalid JSON body", { url, method }) } } @@ -120,7 +120,7 @@ export const createAPIClient = config => { credentials: "same-origin", }) } catch (error) { - throw makeError("Failed to send request") + throw makeError("Failed to send request", { url, method }) } // Handle response diff --git a/packages/frontend-core/src/api/other.js b/packages/frontend-core/src/api/other.js index b3481f1e27..b2a5ccf441 100644 --- a/packages/frontend-core/src/api/other.js +++ b/packages/frontend-core/src/api/other.js @@ -16,4 +16,31 @@ export const buildOtherEndpoints = API => ({ url: "/api/system/environment", }) }, + + /** + * Gets the list of available integrations. + */ + getIntegrations: async () => { + return await API.get({ + url: "/api/integrations", + }) + }, + + /** + * Gets the version of the installed Budibase environment. + */ + getBudibaseVersion: async () => { + return await API.get({ + url: "/api/dev/version", + }) + }, + + /** + * Gets the base permissions for roles. + */ + getBasePermissions: async () => { + return await API.get({ + url: "/api/permission/builtin", + }) + }, }) From b33a2aa662a3d5afb70cdff3f5262fbdea869b4b Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Mon, 24 Jan 2022 16:40:55 +0000 Subject: [PATCH 032/176] Improve API error logging to differentiate between builder and client sources --- packages/builder/src/api.js | 2 +- packages/client/src/api.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/builder/src/api.js b/packages/builder/src/api.js index 4a1f5e94f2..982fdc9324 100644 --- a/packages/builder/src/api.js +++ b/packages/builder/src/api.js @@ -25,7 +25,7 @@ export const API = createAPIClient({ } // Log all errors to console - console.error(`HTTP ${status} on ${method}:${url}\n\t${message}`) + console.warn(`[Builder] HTTP ${status} on ${method}:${url}\n\t${message}`) // Logout on 403's if (status === 403) { diff --git a/packages/client/src/api.js b/packages/client/src/api.js index 3ded21f473..4c0b19c210 100644 --- a/packages/client/src/api.js +++ b/packages/client/src/api.js @@ -32,7 +32,7 @@ export const API = createAPIClient({ } // Log all errors to console - console.error(`HTTP ${status} on ${method}:${url}:\n\t${message}`) + console.warn(`[Client] HTTP ${status} on ${method}:${url}\n\t${message}`) }, // Patch certain endpoints with functionality specific to client apps From ba669dbcf4e921a3e2ed182d87cdb0ef6fff5ac2 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Mon, 24 Jan 2022 16:50:33 +0000 Subject: [PATCH 033/176] Include missing layout endpoints --- packages/frontend-core/src/api/index.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/frontend-core/src/api/index.js b/packages/frontend-core/src/api/index.js index 99ce9a1f69..8028f180e1 100644 --- a/packages/frontend-core/src/api/index.js +++ b/packages/frontend-core/src/api/index.js @@ -8,6 +8,7 @@ import { buildConfigEndpoints } from "./configs" import { buildDatasourceEndpoints } from "./datasources" import { buildFlagEndpoints } from "./flags" import { buildHostingEndpoints } from "./hosting" +import { buildLayoutEndpoints } from "./layouts" import { buildOtherEndpoints } from "./other" import { buildPermissionsEndpoints } from "./permissions" import { buildQueryEndpoints } from "./queries" @@ -196,6 +197,7 @@ export const createAPIClient = config => { ...buildDatasourceEndpoints(API), ...buildFlagEndpoints(API), ...buildHostingEndpoints(API), + ...buildLayoutEndpoints(API), ...buildOtherEndpoints(API), ...buildPermissionsEndpoints(API), ...buildQueryEndpoints(API), From 891bdefcb74429454f76486dc031560afa320cf2 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Mon, 24 Jan 2022 18:40:06 +0000 Subject: [PATCH 034/176] Remove all obscure error handling from stores and move it to the display level --- .../src/builderStore/store/frontend.js | 227 ++++++++---------- .../design/AppPreview/AppThemeSelect.svelte | 22 +- .../AppPreview/ComponentSelectionList.svelte | 14 +- .../AppPreview/CurrentItemPreview.svelte | 67 +++--- .../design/AppPreview/ThemeEditor.svelte | 35 ++- .../ComponentDropdownMenu.svelte | 34 ++- .../ComponentTree.svelte | 15 +- .../LayoutDropdownMenu.svelte | 8 +- .../ScreenDropdownMenu.svelte | 1 - .../ComponentNavigationTree/dragDropStore.js | 4 +- .../FrontendNavigatePane.svelte | 18 +- .../NavigationPanel/NewLayoutModal.svelte | 4 +- .../NavigationPanel/ScreenWizard.svelte | 34 ++- .../ComponentSettingsSection.svelte | 10 +- .../ConditionalUISection.svelte | 16 +- .../CustomStylesSection.svelte | 9 +- .../PropertyControls/ResetFieldsButton.svelte | 16 +- .../ScreenSettingsSection.svelte | 9 +- .../PropertiesPanel/StyleSection.svelte | 12 +- 19 files changed, 312 insertions(+), 243 deletions(-) diff --git a/packages/builder/src/builderStore/store/frontend.js b/packages/builder/src/builderStore/store/frontend.js index 5524cb5991..8345a55b40 100644 --- a/packages/builder/src/builderStore/store/frontend.js +++ b/packages/builder/src/builderStore/store/frontend.js @@ -86,8 +86,8 @@ export const getFrontendStore = () => { description: application.description, appId: application.appId, url: application.url, - layouts, - screens, + layouts: layouts || [], + screens: screens || [], theme: application.theme || "spectrum--light", customTheme: application.customTheme, hasAppPackage: true, @@ -109,49 +109,36 @@ export const getFrontendStore = () => { theme: { save: async theme => { const appId = get(store).appId - try { - await API.saveAppMetadata({ - appId, - metadata: { theme }, - }) - store.update(state => { - state.theme = theme - return state - }) - } catch (error) { - notifications.error("Error updating theme") - } + await API.saveAppMetadata({ + appId, + metadata: { theme }, + }) + store.update(state => { + state.theme = theme + return state + }) }, }, customTheme: { save: async customTheme => { const appId = get(store).appId - try { - await API.saveAppMetadata({ - appId, - metadata: { customTheme }, - }) - store.update(state => { - state.customTheme = customTheme - return state - }) - } catch (error) { - notifications.error("Error updating custom theme") - } + await API.saveAppMetadata({ + appId, + metadata: { customTheme }, + }) + store.update(state => { + state.customTheme = customTheme + return state + }) }, }, routing: { fetch: async () => { - try { - const routes = await API.getAppRoutes() - console.log(routes) - store.update(state => { - state.routes = routes.routes - return state - }) - } catch (error) { - notifications.error("Error fetching app routes") - } + const response = await API.fetchAppRoutes() + store.update(state => { + state.routes = response.routes + return state + }) }, }, screens: { @@ -174,50 +161,41 @@ export const getFrontendStore = () => { }) }, create: async screen => { - try { - const savedScreen = await API.saveScreen(screen) - store.update(state => { - state.selectedScreenId = savedScreen._id - state.selectedComponentId = savedScreen.props._id - state.currentFrontEndType = FrontendTypes.SCREEN - selectedAccessRole.set(savedScreen.routing.roleId) - return savedScreen - }) + const savedScreen = await API.saveScreen(screen) + store.update(state => { + state.screens.push(savedScreen) + state.selectedScreenId = savedScreen._id + state.selectedComponentId = savedScreen.props._id + state.currentFrontEndType = FrontendTypes.SCREEN + selectedAccessRole.set(savedScreen.routing.roleId) + return state + }) - // Refresh routes - await store.actions.routing.fetch() - return savedScreen - } catch (error) { - notifications.error("Error creating screen") - return null - } + // Refresh routes + await store.actions.routing.fetch() + return savedScreen }, save: async screen => { - try { - const creatingNewScreen = screen._id === undefined - const savedScreen = await API.saveScreen(screen) - store.update(state => { - const idx = state.screens.findIndex(x => x._id === savedScreen._id) - if (idx !== -1) { - state.screens.splice(idx, 1, savedScreen) - } else { - state.screens.push(savedScreen) - } - return state - }) - - // Refresh routes - await store.actions.routing.fetch() - - // Select the new screen if creating a new one - if (creatingNewScreen) { - store.actions.screens.select(savedScreen._id) + const creatingNewScreen = screen._id === undefined + const savedScreen = await API.saveScreen(screen) + store.update(state => { + const idx = state.screens.findIndex(x => x._id === savedScreen._id) + if (idx !== -1) { + state.screens.splice(idx, 1, savedScreen) + } else { + state.screens.push(savedScreen) } - return savedScreen - } catch (error) { - notifications.error("Error saving screen") - return null + return state + }) + + // Refresh routes + await store.actions.routing.fetch() + + // Select the new screen if creating a new one + if (creatingNewScreen) { + store.actions.screens.select(savedScreen._id) } + return savedScreen }, delete: async screens => { const screensToDelete = Array.isArray(screens) ? screens : [screens] @@ -241,23 +219,22 @@ export const getFrontendStore = () => { ) }) - try { - await Promise.all(promises) - const deletedIds = screensToDelete.map(screen => screen._id) - store.update(state => { - // Remove deleted screens from state - state.screens = state.screens.filter(screen => { - return !deletedIds.includes(screen._id) - }) - // Deselect the current screen if it was deleted - if (deletedIds.includes(state.selectedScreenId)) { - state.selectedScreenId = null - } - return state + await Promise.all(promises) + const deletedIds = screensToDelete.map(screen => screen._id) + store.update(state => { + // Remove deleted screens from state + state.screens = state.screens.filter(screen => { + return !deletedIds.includes(screen._id) }) - } catch (error) { - notifications.error("Error deleting screens") - } + // Deselect the current screen if it was deleted + if (deletedIds.includes(state.selectedScreenId)) { + state.selectedScreenId = null + } + return state + }) + + // Refresh routes + await store.actions.routing.fetch() }, }, preview: { @@ -291,28 +268,23 @@ export const getFrontendStore = () => { }) }, save: async layout => { - try { - const creatingNewLayout = layout._id === undefined - const savedLayout = await API.saveLayout(layout) - store.update(state => { - const idx = state.layouts.findIndex(x => x._id === savedLayout._id) - if (idx !== -1) { - state.layouts.splice(idx, 1, savedLayout) - } else { - state.layouts.push(savedLayout) - } - return state - }) - - // Select layout if creating a new one - if (creatingNewLayout) { - store.actions.layouts.select(savedLayout._id) + const creatingNewLayout = layout._id === undefined + const savedLayout = await API.saveLayout(layout) + store.update(state => { + const idx = state.layouts.findIndex(x => x._id === savedLayout._id) + if (idx !== -1) { + state.layouts.splice(idx, 1, savedLayout) + } else { + state.layouts.push(savedLayout) } - return savedLayout - } catch (error) { - notifications.error("Error saving layout") - return null + return state + }) + + // Select layout if creating a new one + if (creatingNewLayout) { + store.actions.layouts.select(savedLayout._id) } + return savedLayout }, find: layoutId => { if (!layoutId) { @@ -325,22 +297,18 @@ export const getFrontendStore = () => { if (!layout?._id) { return } - try { - await API.deleteLayout({ - layoutId: layout._id, - layoutRev: layout._rev, - }) - store.update(state => { - // Select main layout if we deleted the selected layout - if (layout._id === state.selectedLayoutId) { - state.selectedLayoutId = get(mainLayout)._id - } - state.layouts = state.layouts.filter(x => x._id !== layout._id) - return state - }) - } catch (error) { - notifications.error("Failed to delete layout") - } + await API.deleteLayout({ + layoutId: layout._id, + layoutRev: layout._rev, + }) + store.update(state => { + // Select main layout if we deleted the selected layout + if (layout._id === state.selectedLayoutId) { + state.selectedLayoutId = get(mainLayout)._id + } + state.layouts = state.layouts.filter(x => x._id !== layout._id) + return state + }) }, }, components: { @@ -622,11 +590,6 @@ export const getFrontendStore = () => { selected._styles.custom = style await store.actions.preview.saveSelected() }, - resetStyles: async () => { - const selected = get(selectedComponent) - selected._styles = { normal: {}, hover: {}, active: {} } - await store.actions.preview.saveSelected() - }, updateConditions: async conditions => { const selected = get(selectedComponent) selected._conditions = conditions diff --git a/packages/builder/src/components/design/AppPreview/AppThemeSelect.svelte b/packages/builder/src/components/design/AppPreview/AppThemeSelect.svelte index a1a5a7a242..cdab47db66 100644 --- a/packages/builder/src/components/design/AppPreview/AppThemeSelect.svelte +++ b/packages/builder/src/components/design/AppPreview/AppThemeSelect.svelte @@ -1,5 +1,5 @@ diff --git a/packages/builder/src/components/design/AppPreview/ComponentSelectionList.svelte b/packages/builder/src/components/design/AppPreview/ComponentSelectionList.svelte index a968effaf5..cabcea756e 100644 --- a/packages/builder/src/components/design/AppPreview/ComponentSelectionList.svelte +++ b/packages/builder/src/components/design/AppPreview/ComponentSelectionList.svelte @@ -1,5 +1,11 @@ diff --git a/packages/builder/src/components/design/AppPreview/CurrentItemPreview.svelte b/packages/builder/src/components/design/AppPreview/CurrentItemPreview.svelte index 77700fc264..2a886fab0c 100644 --- a/packages/builder/src/components/design/AppPreview/CurrentItemPreview.svelte +++ b/packages/builder/src/components/design/AppPreview/CurrentItemPreview.svelte @@ -146,44 +146,49 @@ } }) - const handleBudibaseEvent = event => { + const handleBudibaseEvent = async event => { const { type, data } = event.data || event.detail if (!type) { return } - if (type === "select-component" && data.id) { - store.actions.components.select({ _id: data.id }) - } else if (type === "update-prop") { - store.actions.components.updateProp(data.prop, data.value) - } else if (type === "delete-component" && data.id) { - confirmDeleteComponent(data.id) - } else if (type === "preview-loaded") { - // Wait for this event to show the client library if intelligent - // loading is supported - loading = false - } else if (type === "move-component") { - const { componentId, destinationComponentId } = data - const rootComponent = get(currentAsset).props + try { + if (type === "select-component" && data.id) { + store.actions.components.select({ _id: data.id }) + } else if (type === "update-prop") { + await store.actions.components.updateProp(data.prop, data.value) + } else if (type === "delete-component" && data.id) { + confirmDeleteComponent(data.id) + } else if (type === "preview-loaded") { + // Wait for this event to show the client library if intelligent + // loading is supported + loading = false + } else if (type === "move-component") { + const { componentId, destinationComponentId } = data + const rootComponent = get(currentAsset).props - // Get source and destination components - const source = findComponent(rootComponent, componentId) - const destination = findComponent(rootComponent, destinationComponentId) + // Get source and destination components + const source = findComponent(rootComponent, componentId) + const destination = findComponent(rootComponent, destinationComponentId) - // Stop if the target is a child of source - const path = findComponentPath(source, destinationComponentId) - const ids = path.map(component => component._id) - if (ids.includes(data.destinationComponentId)) { - return + // Stop if the target is a child of source + const path = findComponentPath(source, destinationComponentId) + const ids = path.map(component => component._id) + if (ids.includes(data.destinationComponentId)) { + return + } + + // Cut and paste the component to the new destination + if (source && destination) { + store.actions.components.copy(source, true) + await store.actions.components.paste(destination, data.mode) + } + } else { + console.warn(`Client sent unknown event type: ${type}`) } - - // Cut and paste the component to the new destination - if (source && destination) { - store.actions.components.copy(source, true) - store.actions.components.paste(destination, data.mode) - } - } else { - console.warn(`Client sent unknown event type: ${type}`) + } catch (error) { + console.warn(error) + notifications.error("Error handling event from app preview") } } @@ -196,7 +201,7 @@ try { await store.actions.components.delete({ _id: idToDelete }) } catch (error) { - notifications.error(error) + notifications.error("Error deleting component") } idToDelete = null } diff --git a/packages/builder/src/components/design/AppPreview/ThemeEditor.svelte b/packages/builder/src/components/design/AppPreview/ThemeEditor.svelte index 14747191c2..e10ac4f0cd 100644 --- a/packages/builder/src/components/design/AppPreview/ThemeEditor.svelte +++ b/packages/builder/src/components/design/AppPreview/ThemeEditor.svelte @@ -9,6 +9,7 @@ Label, Select, Button, + notifications, } from "@budibase/bbui" import { store } from "builderStore" import AppThemeSelect from "./AppThemeSelect.svelte" @@ -43,23 +44,31 @@ ] const updateProperty = property => { - return e => { - store.actions.customTheme.save({ - ...get(store).customTheme, - [property]: e.detail, - }) + return async e => { + try { + store.actions.customTheme.save({ + ...get(store).customTheme, + [property]: e.detail, + }) + } catch (error) { + notifications.error("Error updating custom theme") + } } } const resetTheme = () => { - const theme = get(store).theme - store.actions.customTheme.save({ - ...defaultTheme, - navBackground: - theme === "spectrum--light" - ? "var(--spectrum-global-color-gray-50)" - : "var(--spectrum-global-color-gray-100)", - }) + try { + const theme = get(store).theme + store.actions.customTheme.save({ + ...defaultTheme, + navBackground: + theme === "spectrum--light" + ? "var(--spectrum-global-color-gray-50)" + : "var(--spectrum-global-color-gray-100)", + }) + } catch (error) { + notifications.error("Error saving custom theme") + } } diff --git a/packages/builder/src/components/design/NavigationPanel/ComponentDropdownMenu.svelte b/packages/builder/src/components/design/NavigationPanel/ComponentDropdownMenu.svelte index 8ab8c23134..0fcd43b58e 100644 --- a/packages/builder/src/components/design/NavigationPanel/ComponentDropdownMenu.svelte +++ b/packages/builder/src/components/design/NavigationPanel/ComponentDropdownMenu.svelte @@ -29,10 +29,14 @@ if (currentIndex === 0) { return } - const newChildren = parent._children.filter(c => c !== component) - newChildren.splice(currentIndex - 1, 0, component) - parent._children = newChildren - store.actions.preview.saveSelected() + try { + const newChildren = parent._children.filter(c => c !== component) + newChildren.splice(currentIndex - 1, 0, component) + parent._children = newChildren + store.actions.preview.saveSelected() + } catch (error) { + notifications.error("Error saving screen") + } } const moveDownComponent = () => { @@ -45,10 +49,14 @@ if (currentIndex === parent._children.length - 1) { return } - const newChildren = parent._children.filter(c => c !== component) - newChildren.splice(currentIndex + 1, 0, component) - parent._children = newChildren - store.actions.preview.saveSelected() + try { + const newChildren = parent._children.filter(c => c !== component) + newChildren.splice(currentIndex + 1, 0, component) + parent._children = newChildren + store.actions.preview.saveSelected() + } catch (error) { + notifications.error("Error saving screen") + } } const duplicateComponent = () => { @@ -60,7 +68,7 @@ try { await store.actions.components.delete(component) } catch (error) { - notifications.error(error) + notifications.error("Error deleting component") } } @@ -70,8 +78,12 @@ } const pasteComponent = (mode, preserveBindings = false) => { - // lives in store - also used by drag drop - store.actions.components.paste(component, mode, preserveBindings) + try { + // lives in store - also used by drag drop + store.actions.components.paste(component, mode, preserveBindings) + } catch (error) { + notifications.error("Error saving component") + } } diff --git a/packages/builder/src/components/design/NavigationPanel/ComponentNavigationTree/ComponentTree.svelte b/packages/builder/src/components/design/NavigationPanel/ComponentNavigationTree/ComponentTree.svelte index 910ffc18f8..c5dfd63cf9 100644 --- a/packages/builder/src/components/design/NavigationPanel/ComponentNavigationTree/ComponentTree.svelte +++ b/packages/builder/src/components/design/NavigationPanel/ComponentNavigationTree/ComponentTree.svelte @@ -4,6 +4,7 @@ import ComponentDropdownMenu from "../ComponentDropdownMenu.svelte" import NavItem from "components/common/NavItem.svelte" import { capitalise } from "helpers" + import { notifications } from "@budibase/bbui" export let components = [] export let currentComponent @@ -62,6 +63,14 @@ } closedNodes = closedNodes } + + const onDrop = async () => { + try { + await dragDropStore.actions.drop() + } catch (error) { + notifications.error("Error saving component") + } + }
    @@ -69,7 +78,7 @@
  • selectComponent(component)}> {#if $dragDropStore?.targetComponent === component && $dragDropStore.dropPosition === DropPosition.ABOVE}
    toggleNodeOpen(component._id)} - on:drop={dragDropStore.actions.drop} + on:drop={onDrop} text={getComponentText(component)} withArrow indentLevel={level + 1} @@ -105,7 +114,7 @@ {#if $dragDropStore?.targetComponent === component && ($dragDropStore.dropPosition === DropPosition.INSIDE || $dragDropStore.dropPosition === DropPosition.BELOW)}
    { try { await store.actions.layouts.delete(layout) - notifications.success(`Layout ${layout.name} deleted successfully.`) + notifications.success("Layout deleted successfully") } catch (err) { - notifications.error(`Error deleting layout: ${err.message}`) + notifications.error("Error deleting layout") } } @@ -32,9 +32,9 @@ const layoutToSave = cloneDeep(layout) layoutToSave.name = name await store.actions.layouts.save(layoutToSave) - notifications.success(`Layout saved successfully.`) + notifications.success("Layout saved successfully") } catch (err) { - notifications.error(`Error saving layout: ${err.message}`) + notifications.error("Error saving layout") } } diff --git a/packages/builder/src/components/design/NavigationPanel/ComponentNavigationTree/ScreenDropdownMenu.svelte b/packages/builder/src/components/design/NavigationPanel/ComponentNavigationTree/ScreenDropdownMenu.svelte index b2161e35d7..38ed79649e 100644 --- a/packages/builder/src/components/design/NavigationPanel/ComponentNavigationTree/ScreenDropdownMenu.svelte +++ b/packages/builder/src/components/design/NavigationPanel/ComponentNavigationTree/ScreenDropdownMenu.svelte @@ -13,7 +13,6 @@ const deleteScreen = async () => { try { await store.actions.screens.delete(screen) - await store.actions.routing.fetch() $goto("../") notifications.success("Deleted screen successfully.") } catch (err) { diff --git a/packages/builder/src/components/design/NavigationPanel/ComponentNavigationTree/dragDropStore.js b/packages/builder/src/components/design/NavigationPanel/ComponentNavigationTree/dragDropStore.js index aa5cd230e7..d965a2456d 100644 --- a/packages/builder/src/components/design/NavigationPanel/ComponentNavigationTree/dragDropStore.js +++ b/packages/builder/src/components/design/NavigationPanel/ComponentNavigationTree/dragDropStore.js @@ -72,7 +72,7 @@ export default function () { return state }) }, - drop: () => { + drop: async () => { const state = get(store) // Stop if the target and source are the same @@ -92,7 +92,7 @@ export default function () { // Cut and paste the component frontendStore.actions.components.copy(state.dragged, true) - frontendStore.actions.components.paste( + await frontendStore.actions.components.paste( state.targetComponent, state.dropPosition ) diff --git a/packages/builder/src/components/design/NavigationPanel/FrontendNavigatePane.svelte b/packages/builder/src/components/design/NavigationPanel/FrontendNavigatePane.svelte index ea9ebbf2c5..a5045d8e9f 100644 --- a/packages/builder/src/components/design/NavigationPanel/FrontendNavigatePane.svelte +++ b/packages/builder/src/components/design/NavigationPanel/FrontendNavigatePane.svelte @@ -11,7 +11,15 @@ import ComponentNavigationTree from "components/design/NavigationPanel/ComponentNavigationTree/index.svelte" import Layout from "components/design/NavigationPanel/Layout.svelte" import NewLayoutModal from "components/design/NavigationPanel/NewLayoutModal.svelte" - import { Icon, Modal, Select, Search, Tabs, Tab } from "@budibase/bbui" + import { + Icon, + Modal, + Select, + Search, + Tabs, + Tab, + notifications, + } from "@budibase/bbui" export let showModal @@ -58,8 +66,12 @@ selectedAccessRole.set(role) } - onMount(() => { - store.actions.routing.fetch() + onMount(async () => { + try { + await store.actions.routing.fetch() + } catch (error) { + notifications.error("Error fetching routes") + } }) diff --git a/packages/builder/src/components/design/NavigationPanel/NewLayoutModal.svelte b/packages/builder/src/components/design/NavigationPanel/NewLayoutModal.svelte index 0ed9014eac..d7288fbe23 100644 --- a/packages/builder/src/components/design/NavigationPanel/NewLayoutModal.svelte +++ b/packages/builder/src/components/design/NavigationPanel/NewLayoutModal.svelte @@ -9,8 +9,8 @@ try { await store.actions.layouts.save({ name }) notifications.success(`Layout ${name} created successfully`) - } catch (err) { - notifications.error(`Error creating layout ${name}.`) + } catch (error) { + notifications.error("Error creating layout") } } diff --git a/packages/builder/src/components/design/NavigationPanel/ScreenWizard.svelte b/packages/builder/src/components/design/NavigationPanel/ScreenWizard.svelte index 99dbcb6026..47aa3c7b26 100644 --- a/packages/builder/src/components/design/NavigationPanel/ScreenWizard.svelte +++ b/packages/builder/src/components/design/NavigationPanel/ScreenWizard.svelte @@ -2,7 +2,7 @@ import ScreenDetailsModal from "components/design/NavigationPanel/ScreenDetailsModal.svelte" import NewScreenModal from "components/design/NavigationPanel/NewScreenModal.svelte" import sanitizeUrl from "builderStore/store/screenTemplates/utils/sanitizeUrl" - import { Modal } from "@budibase/bbui" + import { Modal, notifications } from "@budibase/bbui" import { store, selectedAccessRole, allScreens } from "builderStore" import analytics, { Events } from "analytics" @@ -29,15 +29,19 @@ const save = async () => { showProgressCircle = true - await createScreens() - for (let screen of createdScreens) { - await saveScreens(screen) + try { + await createScreens() + for (let screen of createdScreens) { + await saveScreens(screen) + } + await store.actions.routing.fetch() + selectedScreens = [] + createdScreens = [] + screenName = "" + url = "" + } catch (error) { + notifications.error("Error creating screens") } - await store.actions.routing.fetch() - selectedScreens = [] - createdScreens = [] - screenName = "" - url = "" showProgressCircle = false } @@ -73,10 +77,14 @@ await store.actions.screens.create(draftScreen) if (draftScreen.props._instanceName.endsWith("List")) { - await store.actions.components.links.save( - draftScreen.routing.route, - draftScreen.routing.route.split("/")[1] - ) + try { + await store.actions.components.links.save( + draftScreen.routing.route, + draftScreen.routing.route.split("/")[1] + ) + } catch (error) { + notifications.error("Error creating link to screen") + } } } } diff --git a/packages/builder/src/components/design/PropertiesPanel/ComponentSettingsSection.svelte b/packages/builder/src/components/design/PropertiesPanel/ComponentSettingsSection.svelte index 47df3dbf74..f9fa56f739 100644 --- a/packages/builder/src/components/design/PropertiesPanel/ComponentSettingsSection.svelte +++ b/packages/builder/src/components/design/PropertiesPanel/ComponentSettingsSection.svelte @@ -1,6 +1,6 @@ diff --git a/packages/builder/src/components/design/PropertiesPanel/CustomStylesSection.svelte b/packages/builder/src/components/design/PropertiesPanel/CustomStylesSection.svelte index 4ff10c64c7..187d9ff760 100644 --- a/packages/builder/src/components/design/PropertiesPanel/CustomStylesSection.svelte +++ b/packages/builder/src/components/design/PropertiesPanel/CustomStylesSection.svelte @@ -8,6 +8,7 @@ Layout, Body, Button, + notifications, } from "@budibase/bbui" import { store } from "builderStore" @@ -21,8 +22,12 @@ drawer.show() } - const save = () => { - store.actions.components.updateCustomStyle(tempValue) + const save = async () => { + try { + await store.actions.components.updateCustomStyle(tempValue) + } catch (error) { + notifications.error("Error updating custom style") + } drawer.hide() } diff --git a/packages/builder/src/components/design/PropertiesPanel/PropertyControls/ResetFieldsButton.svelte b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/ResetFieldsButton.svelte index fa2a0d6088..a76a93d7f6 100644 --- a/packages/builder/src/components/design/PropertiesPanel/PropertyControls/ResetFieldsButton.svelte +++ b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/ResetFieldsButton.svelte @@ -1,5 +1,5 @@ diff --git a/packages/builder/src/components/design/PropertiesPanel/ScreenSettingsSection.svelte b/packages/builder/src/components/design/PropertiesPanel/ScreenSettingsSection.svelte index 4a7c77746e..ded80a7d5c 100644 --- a/packages/builder/src/components/design/PropertiesPanel/ScreenSettingsSection.svelte +++ b/packages/builder/src/components/design/PropertiesPanel/ScreenSettingsSection.svelte @@ -1,7 +1,7 @@ @@ -34,7 +42,7 @@ control={prop.control} key={prop.key} value={style[prop.key]} - onChange={val => store.actions.components.updateStyle(prop.key, val)} + onChange={val => updateStyle(prop.key, val)} props={getControlProps(prop)} {bindings} /> From 81558588dcc3b627f80af5e0cdeb94e3c448f34d Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Mon, 24 Jan 2022 18:53:41 +0000 Subject: [PATCH 035/176] Clean up frontend store --- .../src/builderStore/store/frontend.js | 43 +++++-------------- .../NavigationPanel/ScreenWizard.svelte | 2 +- 2 files changed, 12 insertions(+), 33 deletions(-) diff --git a/packages/builder/src/builderStore/store/frontend.js b/packages/builder/src/builderStore/store/frontend.js index 8345a55b40..905cdd3976 100644 --- a/packages/builder/src/builderStore/store/frontend.js +++ b/packages/builder/src/builderStore/store/frontend.js @@ -28,7 +28,6 @@ import { } from "../componentUtils" import { Helpers } from "@budibase/bbui" import { removeBindings } from "../dataBinding" -import { notifications } from "@budibase/bbui" const INITIAL_FRONTEND_STATE = { apps: [], @@ -160,21 +159,6 @@ export const getFrontendStore = () => { return state }) }, - create: async screen => { - const savedScreen = await API.saveScreen(screen) - store.update(state => { - state.screens.push(savedScreen) - state.selectedScreenId = savedScreen._id - state.selectedComponentId = savedScreen.props._id - state.currentFrontEndType = FrontendTypes.SCREEN - selectedAccessRole.set(savedScreen.routing.roleId) - return state - }) - - // Refresh routes - await store.actions.routing.fetch() - return savedScreen - }, save: async screen => { const creatingNewScreen = screen._id === undefined const savedScreen = await API.saveScreen(screen) @@ -431,24 +415,19 @@ export const getFrontendStore = () => { parentComponent._children.push(componentInstance) // Save components and update UI - const savedAsset = await store.actions.preview.saveSelected() - if (savedAsset) { - store.update(state => { - state.currentView = "component" - state.selectedComponentId = componentInstance._id - return state - }) + await store.actions.preview.saveSelected() + store.update(state => { + state.currentView = "component" + state.selectedComponentId = componentInstance._id + return state + }) - // Log event - analytics.captureEvent(Events.COMPONENT.CREATED, { - name: componentInstance._component, - }) + // Log event + analytics.captureEvent(Events.COMPONENT.CREATED, { + name: componentInstance._component, + }) - return componentInstance - } else { - notifications.error("Failed to create component") - return null - } + return componentInstance }, delete: async component => { if (!component) { diff --git a/packages/builder/src/components/design/NavigationPanel/ScreenWizard.svelte b/packages/builder/src/components/design/NavigationPanel/ScreenWizard.svelte index 47aa3c7b26..a9fea4a45b 100644 --- a/packages/builder/src/components/design/NavigationPanel/ScreenWizard.svelte +++ b/packages/builder/src/components/design/NavigationPanel/ScreenWizard.svelte @@ -75,7 +75,7 @@ draftScreen.routing.route = route - await store.actions.screens.create(draftScreen) + await store.actions.screens.save(draftScreen) if (draftScreen.props._instanceName.endsWith("List")) { try { await store.actions.components.links.save( From e1a1d472381a5e22f7ed2acb8a9b5054a946d1d5 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Mon, 24 Jan 2022 18:58:22 +0000 Subject: [PATCH 036/176] Don't show an error if analytics fails to activate --- packages/builder/src/analytics/index.js | 12 +++------ packages/builder/src/stores/portal/auth.js | 29 ++++++++++++++-------- 2 files changed, 22 insertions(+), 19 deletions(-) diff --git a/packages/builder/src/analytics/index.js b/packages/builder/src/analytics/index.js index 26947a2320..a9c3d2e2d7 100644 --- a/packages/builder/src/analytics/index.js +++ b/packages/builder/src/analytics/index.js @@ -18,14 +18,10 @@ class AnalyticsHub { } async activate() { - try { - // Check analytics are enabled - const analyticsStatus = await API.getAnalyticsStatus() - if (analyticsStatus.enabled) { - this.clients.forEach(client => client.init()) - } - } catch (error) { - notifications.error("Error checking analytics status") + // Check analytics are enabled + const analyticsStatus = await API.getAnalyticsStatus() + if (analyticsStatus.enabled) { + this.clients.forEach(client => client.init()) } } diff --git a/packages/builder/src/stores/portal/auth.js b/packages/builder/src/stores/portal/auth.js index 3895b57e82..b0f626099c 100644 --- a/packages/builder/src/stores/portal/auth.js +++ b/packages/builder/src/stores/portal/auth.js @@ -54,18 +54,25 @@ export function createAuthStore() { }) if (user) { - analytics.activate().then(() => { - analytics.identify(user._id, user) - analytics.showChat({ - email: user.email, - created_at: (user.createdAt || Date.now()) / 1000, - name: user.account?.name, - user_id: user._id, - tenant: user.tenantId, - "Company size": user.account?.size, - "Job role": user.account?.profession, + analytics + .activate() + .then(() => { + analytics.identify(user._id, user) + analytics.showChat({ + email: user.email, + created_at: (user.createdAt || Date.now()) / 1000, + name: user.account?.name, + user_id: user._id, + tenant: user.tenantId, + "Company size": user.account?.size, + "Job role": user.account?.profession, + }) + }) + .catch(() => { + // This request may fail due to browser extensions blocking requests + // containing the word analytics, so we don't want to spam users with + // an error here. }) - }) } } From bed1f0e0923675febcbe6dd451fc429938354cb4 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Mon, 24 Jan 2022 19:06:18 +0000 Subject: [PATCH 037/176] Fix issue with create app endpoint sending json content type header --- packages/frontend-core/src/api/app.js | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/frontend-core/src/api/app.js b/packages/frontend-core/src/api/app.js index 32fe8908ad..f6f141ab80 100644 --- a/packages/frontend-core/src/api/app.js +++ b/packages/frontend-core/src/api/app.js @@ -76,6 +76,7 @@ export const buildAppEndpoints = API => ({ return await API.post({ url: "/api/applications", body: app, + json: false, }) }, From 4d9e7cac31d52af7fa417c0a62aaf307c96bde96 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Mon, 24 Jan 2022 19:06:41 +0000 Subject: [PATCH 038/176] Fix crash when an app with a null name exists --- packages/builder/src/components/start/UpdateAppModal.svelte | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/builder/src/components/start/UpdateAppModal.svelte b/packages/builder/src/components/start/UpdateAppModal.svelte index 508a0723b1..2caf9af7ef 100644 --- a/packages/builder/src/components/start/UpdateAppModal.svelte +++ b/packages/builder/src/components/start/UpdateAppModal.svelte @@ -55,7 +55,7 @@ "Another app with the same name already exists", value => { return !existingAppNames.some( - appName => dirty && appName.toLowerCase() === value.toLowerCase() + appName => dirty && appName?.toLowerCase() === value.toLowerCase() ) } ) @@ -67,7 +67,7 @@ try { await obj.validate(values, { abortEarly: false }) } catch (validationErrors) { - validationErrors.inner.forEach(error => { + validationErrors.inner?.forEach(error => { $errors[error.path] = capitalise(error.message) }) } From 591dafc336bff6e0a43b5d7b8211c4b82d425c52 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Mon, 24 Jan 2022 19:14:57 +0000 Subject: [PATCH 039/176] Don't show a notification when failing an API request due to analytics failures --- packages/client/src/api.js | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/client/src/api.js b/packages/client/src/api.js index 4c0b19c210..5b37dd06a8 100644 --- a/packages/client/src/api.js +++ b/packages/client/src/api.js @@ -28,7 +28,11 @@ export const API = createAPIClient({ // Notify all errors if (message) { - notificationStore.actions.error(message) + // Don't notify if the URL contains the word analytics as it may be + // blocked by browser extensions + if (!url?.includes("analytics")) { + notificationStore.actions.error(message) + } } // Log all errors to console From b75401edfbd75f603ad83f5c436357c9b54c85e5 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Mon, 24 Jan 2022 19:15:06 +0000 Subject: [PATCH 040/176] Remove log --- packages/frontend-core/src/api/index.js | 2 -- 1 file changed, 2 deletions(-) diff --git a/packages/frontend-core/src/api/index.js b/packages/frontend-core/src/api/index.js index 8028f180e1..10a32f9d56 100644 --- a/packages/frontend-core/src/api/index.js +++ b/packages/frontend-core/src/api/index.js @@ -41,8 +41,6 @@ export const createAPIClient = config => { // Generates an error object from an API response const makeErrorFromResponse = async (response, method) => { - console.log("making error from", response) - // Try to read a message from the error let message = response.statusText let json = null From 95488fd48d63d6c2a4fc22db9abada4c830ae4f6 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Mon, 24 Jan 2022 19:15:28 +0000 Subject: [PATCH 041/176] Don't show an error notification when failing API requests on the initial page load of the login page --- packages/builder/src/pages/builder/_layout.svelte | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/packages/builder/src/pages/builder/_layout.svelte b/packages/builder/src/pages/builder/_layout.svelte index 10779b2491..1bdf495113 100644 --- a/packages/builder/src/pages/builder/_layout.svelte +++ b/packages/builder/src/pages/builder/_layout.svelte @@ -66,7 +66,8 @@ await validateTenantId() } } catch (error) { - notifications.error("Error initialising builder") + // Don't show a notification here, as we might 403 initially due to not + // being logged in } loaded = true }) From 611dc0ab483820ac609d6a379f7629e187803e26 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Mon, 24 Jan 2022 19:15:43 +0000 Subject: [PATCH 042/176] Use correct casing for login error --- packages/backend-core/src/middleware/passport/local.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/backend-core/src/middleware/passport/local.js b/packages/backend-core/src/middleware/passport/local.js index f95c3a173e..2149bd3e18 100644 --- a/packages/backend-core/src/middleware/passport/local.js +++ b/packages/backend-core/src/middleware/passport/local.js @@ -8,7 +8,7 @@ const { newid } = require("../../hashing") const { createASession } = require("../../security/sessions") const { getTenantId } = require("../../tenancy") -const INVALID_ERR = "Invalid Credentials" +const INVALID_ERR = "Invalid credentials" const SSO_NO_PASSWORD = "SSO user does not have a password set" const EXPIRED = "This account has expired. Please reset your password" From 7656887c1a75c08664992fbf9533d96bfa740fce Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Fri, 21 Jan 2022 13:32:56 +0000 Subject: [PATCH 043/176] Fix rare issue which could occur when enriching component props twice before an initial render has taken place --- .../client/src/components/Component.svelte | 22 ++++++++++--------- 1 file changed, 12 insertions(+), 10 deletions(-) diff --git a/packages/client/src/components/Component.svelte b/packages/client/src/components/Component.svelte index a156c4c9e6..d0d202a04b 100644 --- a/packages/client/src/components/Component.svelte +++ b/packages/client/src/components/Component.svelte @@ -276,27 +276,29 @@ // reactive statements as much as possible. const cacheSettings = (enriched, nested, conditional) => { const allSettings = { ...enriched, ...nested, ...conditional } - if (!cachedSettings) { + const mounted = ref?.$$set != null + if (!cachedSettings || !mounted) { cachedSettings = { ...allSettings } initialSettings = cachedSettings } else { Object.keys(allSettings).forEach(key => { const same = propsAreSame(allSettings[key], cachedSettings[key]) if (!same) { + // Updated cachedSettings (which is assigned by reference to + // initialSettings) so that if we remount the component then the + // initial props are up to date. By setting it this way rather than + // setting it on initialSettings directly, we avoid a double render. cachedSettings[key] = allSettings[key] - assignSetting(key, allSettings[key]) + + // Programmatically set the prop to avoid svelte reactive statements + // firing inside components. This circumvents the problems caused by + // spreading a props object. + ref.$$set({ [key]: allSettings[key] }) } }) } } - // Assigns a certain setting to this component. - // We manually use the svelte $set function to avoid triggering additional - // reactive statements. - const assignSetting = (key, value) => { - ref?.$$set?.({ [key]: value }) - } - // Generates a key used to determine when components need to fully remount. // Currently only toggling editing requires remounting. const getRenderKey = (id, editing) => { @@ -305,7 +307,7 @@ {#key renderKey} - {#if constructor && cachedSettings && (visible || inSelectedPath)} + {#if constructor && initialSettings && (visible || inSelectedPath)}
    Date: Tue, 25 Jan 2022 08:04:56 +0000 Subject: [PATCH 044/176] Fix email template update endpoint --- packages/frontend-core/src/api/templates.js | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/packages/frontend-core/src/api/templates.js b/packages/frontend-core/src/api/templates.js index 720110fe5d..3c474dabc6 100644 --- a/packages/frontend-core/src/api/templates.js +++ b/packages/frontend-core/src/api/templates.js @@ -20,9 +20,7 @@ export const buildTemplateEndpoints = API => ({ saveEmailTemplate: async template => { return await API.post({ url: "/api/global/template", - body: { - template, - }, + body: template, }) }, From 25df85b91fb3bfb62bf6431a4d52ca06c0ddd50e Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Tue, 25 Jan 2022 08:10:49 +0000 Subject: [PATCH 045/176] Fix custom API response parsing not working --- packages/frontend-core/src/api/index.js | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/packages/frontend-core/src/api/index.js b/packages/frontend-core/src/api/index.js index 10a32f9d56..a2cd62f16a 100644 --- a/packages/frontend-core/src/api/index.js +++ b/packages/frontend-core/src/api/index.js @@ -83,6 +83,7 @@ export const createAPIClient = config => { body, json = true, external = false, + parseResponse, }) => { // Ensure we don't do JSON processing if sending a GET request json = json && method !== "GET" @@ -125,8 +126,8 @@ export const createAPIClient = config => { // Handle response if (response.status >= 200 && response.status < 400) { try { - if (config?.parseResponse) { - return await config.parseResponse(response) + if (parseResponse) { + return await parseResponse(response) } else { return await response.json() } From 9823534f808246b51b700a6aeb8a1a9291575d7a Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Tue, 25 Jan 2022 08:13:28 +0000 Subject: [PATCH 046/176] Fix integration list not loading correctly --- .../DatasourceNavigator/modals/CreateDatasourceModal.svelte | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/builder/src/components/backend/DatasourceNavigator/modals/CreateDatasourceModal.svelte b/packages/builder/src/components/backend/DatasourceNavigator/modals/CreateDatasourceModal.svelte index 267b0495ec..0564565012 100644 --- a/packages/builder/src/components/backend/DatasourceNavigator/modals/CreateDatasourceModal.svelte +++ b/packages/builder/src/components/backend/DatasourceNavigator/modals/CreateDatasourceModal.svelte @@ -84,7 +84,6 @@ ...newIntegrations, ...integrationList, } - return newIntegrations } catch (error) { notifications.error("Error fetching integrations") } From b0c03d8508413e18bf0a7c3a3c09f178b7044f9a Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Tue, 25 Jan 2022 08:22:53 +0000 Subject: [PATCH 047/176] Improve style of data import modal --- .../DataTable/modals/ImportModal.svelte | 22 +++++++++++++------ 1 file changed, 15 insertions(+), 7 deletions(-) diff --git a/packages/builder/src/components/backend/DataTable/modals/ImportModal.svelte b/packages/builder/src/components/backend/DataTable/modals/ImportModal.svelte index 930842d34f..f04a6c25c9 100644 --- a/packages/builder/src/components/backend/DataTable/modals/ImportModal.svelte +++ b/packages/builder/src/components/backend/DataTable/modals/ImportModal.svelte @@ -1,5 +1,11 @@ -{#key screenDefinition?._id} - - - -{/key} +{#if $routeStore.routerLoaded} + {#key screenDefinition?._id} + + + + {/key} +{/if} From 604788a244a68142695dc6a5cea1e61c988d82b7 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Tue, 25 Jan 2022 11:22:26 +0000 Subject: [PATCH 052/176] Fix issue with multiple enrichments before components mount without affecting other components --- .../client/src/components/Component.svelte | 87 +++++++++---------- 1 file changed, 43 insertions(+), 44 deletions(-) diff --git a/packages/client/src/components/Component.svelte b/packages/client/src/components/Component.svelte index d0d202a04b..f43c2b30ec 100644 --- a/packages/client/src/components/Component.svelte +++ b/packages/client/src/components/Component.svelte @@ -118,9 +118,6 @@ // Build up the final settings object to be passed to the component $: cacheSettings(enrichedSettings, nestedSettings, conditionalSettings) - // Render key is used to determine when components need to fully remount - $: renderKey = getRenderKey(id, editing) - // Update component context $: componentStore.set({ id, @@ -276,8 +273,7 @@ // reactive statements as much as possible. const cacheSettings = (enriched, nested, conditional) => { const allSettings = { ...enriched, ...nested, ...conditional } - const mounted = ref?.$$set != null - if (!cachedSettings || !mounted) { + if (!cachedSettings) { cachedSettings = { ...allSettings } initialSettings = cachedSettings } else { @@ -290,51 +286,54 @@ // setting it on initialSettings directly, we avoid a double render. cachedSettings[key] = allSettings[key] - // Programmatically set the prop to avoid svelte reactive statements - // firing inside components. This circumvents the problems caused by - // spreading a props object. - ref.$$set({ [key]: allSettings[key] }) + if (ref?.$$set) { + // Programmatically set the prop to avoid svelte reactive statements + // firing inside components. This circumvents the problems caused by + // spreading a props object. + ref.$$set({ [key]: allSettings[key] }) + } else { + // Sometimes enrichment can occur multiple times before the + // component has mounted and been assigned a ref. + // In these cases, for some reason we need to update the + // initial settings object, even though it is equivalent by + // reference to cached settings. This solves the problem of multiple + // initial enrichments, while also not causing wasted renders for + // any components not affected by this issue. + initialSettings[key] = allSettings[key] + } } }) } } - - // Generates a key used to determine when components need to fully remount. - // Currently only toggling editing requires remounting. - const getRenderKey = (id, editing) => { - return Helpers.hashString(`${id}-${editing}`) - } -{#key renderKey} - {#if constructor && initialSettings && (visible || inSelectedPath)} - - -
    - - {#if children.length} - {#each children as child (child._id)} - - {/each} - {:else if emptyState} - - {:else if isBlock} - - {/if} - -
    - {/if} -{/key} +{#if constructor && initialSettings && (visible || inSelectedPath)} + + +
    + + {#if children.length} + {#each children as child (child._id)} + + {/each} + {:else if emptyState} + + {:else if isBlock} + + {/if} + +
    +{/if} diff --git a/packages/server/src/api/routes/tests/query.spec.js b/packages/server/src/api/routes/tests/query.spec.js index 9357d53cde..dac576836e 100644 --- a/packages/server/src/api/routes/tests/query.spec.js +++ b/packages/server/src/api/routes/tests/query.spec.js @@ -230,7 +230,6 @@ describe("/queries", () => { }) describe("variables", () => { - async function preview(datasource, fields) { return config.previewQuery(request, config, datasource, fields) } diff --git a/packages/server/src/threads/query.js b/packages/server/src/threads/query.js index 23b4dc1ef8..5b1a30b57d 100644 --- a/packages/server/src/threads/query.js +++ b/packages/server/src/threads/query.js @@ -161,10 +161,16 @@ class QueryRunner { const responses = await Promise.all(dynamics) for (let i = 0; i < foundVars.length; i++) { const variable = foundVars[i] - parameters[variable.name] = processStringSync(variable.value, { - data: responses[i].rows, - info: responses[i].extra, - }) + parameters[variable.name] = processStringSync( + variable.value, + { + data: responses[i].rows, + info: responses[i].extra, + }, + { + escapeNewlines: true, + } + ) // make sure its known that this uses dynamic variables in case it fails this.hasDynamicVariables = true } @@ -188,6 +194,7 @@ class QueryRunner { enrichedQuery[key] = processStringSync(fields[key], parameters, { noEscaping: true, noHelpers: true, + escapeNewlines: true, }) } else { enrichedQuery[key] = fields[key] diff --git a/packages/string-templates/src/helpers/index.js b/packages/string-templates/src/helpers/index.js index 6b9195047e..ad4082e3a4 100644 --- a/packages/string-templates/src/helpers/index.js +++ b/packages/string-templates/src/helpers/index.js @@ -21,7 +21,7 @@ const HELPERS = [ // javascript helper new Helper(HelperFunctionNames.JS, processJS, false), // this help is applied to all statements - new Helper(HelperFunctionNames.ALL, value => { + new Helper(HelperFunctionNames.ALL, (value, { __opts }) => { if ( value != null && typeof value === "object" && @@ -36,7 +36,11 @@ const HELPERS = [ if (value && value.string) { value = value.string } - let text = new SafeString(value.replace(/&/g, "&")) + let text = value + if (__opts && __opts.escapeNewlines) { + text = value.replace(/\n/g, "\\n") + } + text = new SafeString(text.replace(/&/g, "&")) if (text == null || typeof text !== "string") { return text } @@ -62,10 +66,14 @@ module.exports.HelperNames = () => { ) } -module.exports.registerAll = handlebars => { +module.exports.registerMinimum = handlebars => { for (let helper of HELPERS) { helper.register(handlebars) } +} + +module.exports.registerAll = handlebars => { + module.exports.registerMinimum(handlebars) // register imported helpers externalHandlebars.registerAll(handlebars) } diff --git a/packages/string-templates/src/index.js b/packages/string-templates/src/index.js index 5ffd1bf1cc..093da977ea 100644 --- a/packages/string-templates/src/index.js +++ b/packages/string-templates/src/index.js @@ -1,5 +1,5 @@ const handlebars = require("handlebars") -const { registerAll } = require("./helpers/index") +const { registerAll, registerMinimum } = require("./helpers/index") const processors = require("./processors") const { atob, btoa } = require("./utilities") const manifest = require("../manifest.json") @@ -8,6 +8,7 @@ const { FIND_HBS_REGEX, FIND_DOUBLE_HBS_REGEX } = require("./utilities") const hbsInstance = handlebars.create() registerAll(hbsInstance) const hbsInstanceNoHelpers = handlebars.create() +registerMinimum(hbsInstanceNoHelpers) const defaultOpts = { noHelpers: false, noEscaping: false } /** @@ -105,9 +106,7 @@ module.exports.processStringSync = (string, context, opts) => { throw "Cannot process non-string types." } try { - // finalising adds a helper, can't do this with no helpers - const shouldFinalise = !opts.noHelpers - string = processors.preprocess(string, shouldFinalise) + string = processors.preprocess(string, opts) // this does not throw an error when template can't be fulfilled, have to try correct beforehand const instance = opts.noHelpers ? hbsInstanceNoHelpers : hbsInstance const templateString = @@ -119,8 +118,10 @@ module.exports.processStringSync = (string, context, opts) => { return processors.postprocess( template({ now: new Date(now).toISOString(), + __opts: opts, ...context, - }) + }), + { escapeNewlines: opts ? opts.escapeNewlines : false } ) } catch (err) { return input diff --git a/packages/string-templates/src/processors/index.js b/packages/string-templates/src/processors/index.js index 174041133a..257dca7aec 100644 --- a/packages/string-templates/src/processors/index.js +++ b/packages/string-templates/src/processors/index.js @@ -2,7 +2,7 @@ const { FIND_HBS_REGEX } = require("../utilities") const preprocessor = require("./preprocessor") const postprocessor = require("./postprocessor") -function process(output, processors) { +function process(output, processors, opts) { for (let processor of processors) { // if a literal statement has occurred stop if (typeof output !== "string") { @@ -15,24 +15,18 @@ function process(output, processors) { continue } for (let match of matches) { - output = processor.process(output, match) + output = processor.process(output, match, opts) } } return output } -module.exports.preprocess = (string, finalise = true) => { +module.exports.preprocess = (string, opts) => { let processors = preprocessor.processors - // the pre-processor finalisation stops handlebars from ever throwing an error - // might want to pre-process for other benefits but still want to see errors - if (!finalise) { - processors = processors.filter( - processor => processor.name !== preprocessor.PreprocessorNames.FINALISE - ) - } - return process(string, processors) + return process(string, processors, opts) } module.exports.postprocess = string => { - return process(string, postprocessor.processors) + let processors = postprocessor.processors + return process(string, processors) } diff --git a/packages/string-templates/src/processors/postprocessor.js b/packages/string-templates/src/processors/postprocessor.js index 7fc3f663fe..f78a572d07 100644 --- a/packages/string-templates/src/processors/postprocessor.js +++ b/packages/string-templates/src/processors/postprocessor.js @@ -16,6 +16,8 @@ class Postprocessor { } } +module.exports.PostProcessorNames = PostProcessorNames + module.exports.processors = [ new Postprocessor(PostProcessorNames.CONVERT_LITERALS, statement => { if (typeof statement !== "string" || !statement.includes(LITERAL_MARKER)) { diff --git a/packages/string-templates/src/processors/preprocessor.js b/packages/string-templates/src/processors/preprocessor.js index 6f6537674a..4b296d0fc7 100644 --- a/packages/string-templates/src/processors/preprocessor.js +++ b/packages/string-templates/src/processors/preprocessor.js @@ -16,8 +16,8 @@ class Preprocessor { this.fn = fn } - process(fullString, statement) { - const output = this.fn(statement) + process(fullString, statement, opts) { + const output = this.fn(statement, opts) const idx = fullString.indexOf(statement) return swapStrings(fullString, idx, statement.length, output) } @@ -48,7 +48,8 @@ module.exports.processors = [ return statement }), - new Preprocessor(PreprocessorNames.FINALISE, statement => { + new Preprocessor(PreprocessorNames.FINALISE, (statement, opts) => { + const noHelpers = opts && opts.noHelpers let insideStatement = statement.slice(2, statement.length - 2) if (insideStatement.charAt(0) === " ") { insideStatement = insideStatement.slice(1) @@ -63,7 +64,10 @@ module.exports.processors = [ return statement } } - if (HelperNames().some(option => option.includes(possibleHelper))) { + if ( + !noHelpers && + HelperNames().some(option => option.includes(possibleHelper)) + ) { insideStatement = `(${insideStatement})` } return `{{ all ${insideStatement} }}` diff --git a/packages/string-templates/test/escapes.spec.js b/packages/string-templates/test/escapes.spec.js index 7e55b66b88..b845fddec9 100644 --- a/packages/string-templates/test/escapes.spec.js +++ b/packages/string-templates/test/escapes.spec.js @@ -59,3 +59,33 @@ describe("attempt some complex problems", () => { expect(output).toBe("nulltest") }) }) + +describe("check behaviour with newlines", () => { + const context = { + binding: `Hello + there` + } + it("should escape new line to \\n with double brace", async () => { + const hbs = JSON.stringify({ + body: "{{ binding }}" + }) + const output = await processString(hbs, context, { escapeNewlines: true }) + expect(JSON.parse(output).body).toBe(context.binding) + }) + + it("should work the same with triple brace", async () => { + const hbs = JSON.stringify({ + body: "{{{ binding }}}" + }) + const output = await processString(hbs, context, { escapeNewlines: true }) + expect(JSON.parse(output).body).toBe(context.binding) + }) + + it("should still work with helpers disabled", async () => { + const hbs = JSON.stringify({ + body: "{{ binding }}" + }) + const output = await processString(hbs, context, { escapeNewlines: true, noHelpers: true }) + expect(JSON.parse(output).body).toBe(context.binding) + }) +}) From 007a1240d5fa41d03d2ff2d4607e9aa70e42d709 Mon Sep 17 00:00:00 2001 From: mike12345567 Date: Mon, 7 Feb 2022 18:47:10 +0000 Subject: [PATCH 085/176] Fix for both #4167, allow saving but warn if never sent and #4165 save the query name when clicking name save icon. --- packages/bbui/src/Button/Button.svelte | 85 +++++++++++++------ .../bbui/src/Tooltip/TooltipWrapper.svelte | 3 +- .../common/inputs/EditableLabel.svelte | 9 +- .../rest/[query]/index.svelte | 18 +++- 4 files changed, 84 insertions(+), 31 deletions(-) diff --git a/packages/bbui/src/Button/Button.svelte b/packages/bbui/src/Button/Button.svelte index da4d405f02..9e0a7ff52a 100644 --- a/packages/bbui/src/Button/Button.svelte +++ b/packages/bbui/src/Button/Button.svelte @@ -1,5 +1,6 @@ - + {#if showTooltip && tooltip} +
    +
    + +
    +
    {/if} - {#if $$slots} - - {/if} - +
    diff --git a/packages/bbui/src/Tooltip/TooltipWrapper.svelte b/packages/bbui/src/Tooltip/TooltipWrapper.svelte index c587dec1dc..78c69942e5 100644 --- a/packages/bbui/src/Tooltip/TooltipWrapper.svelte +++ b/packages/bbui/src/Tooltip/TooltipWrapper.svelte @@ -17,6 +17,7 @@ class:icon-small={size === "M" || size === "S"} on:mouseover={() => (showTooltip = true)} on:mouseleave={() => (showTooltip = false)} + on:focus >
    @@ -47,7 +48,7 @@ display: flex; justify-content: center; top: 15px; - z-index: 1; + z-index: 100; width: 160px; } .icon { diff --git a/packages/builder/src/components/common/inputs/EditableLabel.svelte b/packages/builder/src/components/common/inputs/EditableLabel.svelte index ffe3c0968e..57fd2621a1 100644 --- a/packages/builder/src/components/common/inputs/EditableLabel.svelte +++ b/packages/builder/src/components/common/inputs/EditableLabel.svelte @@ -17,6 +17,10 @@ dispatch("change") } } + + function save() { + dispatch("save", value) + }
    @@ -39,7 +43,10 @@ name="SaveFloppy" hoverable size="S" - on:click={() => setEditing(false)} + on:click={() => { + setEditing(false) + save() + }} /> {/if}
    diff --git a/packages/builder/src/pages/builder/app/[application]/data/datasource/[selectedDatasource]/rest/[query]/index.svelte b/packages/builder/src/pages/builder/app/[application]/data/datasource/[selectedDatasource]/rest/[query]/index.svelte index 808c3a49ec..666bfdc6b5 100644 --- a/packages/builder/src/pages/builder/app/[application]/data/datasource/[selectedDatasource]/rest/[query]/index.svelte +++ b/packages/builder/src/pages/builder/app/[application]/data/datasource/[selectedDatasource]/rest/[query]/index.svelte @@ -59,6 +59,7 @@ $: schemaReadOnly = !responseSuccess $: variablesReadOnly = !responseSuccess $: showVariablesTab = shouldShowVariables(dynamicVariables, variablesReadOnly) + $: hasSchema = !!query?.schema function getSelectedQuery() { return cloneDeep( @@ -294,6 +295,7 @@ bind:value={query.name} defaultValue="Untitled" on:change={() => (query.flags.urlName = false)} + on:save={saveQuery} />
    @@ -313,7 +315,18 @@
    - + + + {#if !query.schema}{/if}
    @@ -527,9 +540,6 @@ >{response?.info.size} -
    {/if} From 580d3d9615b7ae8a5869ae8717cece9eaed752b4 Mon Sep 17 00:00:00 2001 From: mike12345567 Date: Mon, 7 Feb 2022 18:47:49 +0000 Subject: [PATCH 086/176] Removing empty block. --- .../datasource/[selectedDatasource]/rest/[query]/index.svelte | 1 - 1 file changed, 1 deletion(-) diff --git a/packages/builder/src/pages/builder/app/[application]/data/datasource/[selectedDatasource]/rest/[query]/index.svelte b/packages/builder/src/pages/builder/app/[application]/data/datasource/[selectedDatasource]/rest/[query]/index.svelte index 666bfdc6b5..a509574358 100644 --- a/packages/builder/src/pages/builder/app/[application]/data/datasource/[selectedDatasource]/rest/[query]/index.svelte +++ b/packages/builder/src/pages/builder/app/[application]/data/datasource/[selectedDatasource]/rest/[query]/index.svelte @@ -326,7 +326,6 @@ ? "Saving a query before sending will mean no schema is generated" : null}>Save - {#if !query.schema}{/if} From 00234cf186fbbea6931622cd838b7b6eff99837f Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Tue, 8 Feb 2022 10:01:04 +0000 Subject: [PATCH 087/176] v1.0.50 --- lerna.json | 2 +- packages/backend-core/package.json | 2 +- packages/bbui/package.json | 2 +- packages/builder/package.json | 8 ++++---- packages/cli/package.json | 2 +- packages/client/package.json | 6 +++--- packages/server/package.json | 8 ++++---- packages/string-templates/package.json | 2 +- packages/worker/package.json | 6 +++--- 9 files changed, 19 insertions(+), 19 deletions(-) diff --git a/lerna.json b/lerna.json index 2339e8a855..72606c5445 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.0.50-alpha.0", + "version": "1.0.50", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index 28221a9041..f9ddfee8c6 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.0.50-alpha.0", + "version": "1.0.50", "description": "Budibase backend core libraries used in server and worker", "main": "src/index.js", "author": "Budibase", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index 90d6125a06..8c7a5cd21f 100644 --- a/packages/bbui/package.json +++ b/packages/bbui/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/bbui", "description": "A UI solution used in the different Budibase projects.", - "version": "1.0.50-alpha.0", + "version": "1.0.50", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", diff --git a/packages/builder/package.json b/packages/builder/package.json index b73a1da78b..b8f9d6cf42 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.0.50-alpha.0", + "version": "1.0.50", "license": "GPL-3.0", "private": true, "scripts": { @@ -66,10 +66,10 @@ } }, "dependencies": { - "@budibase/bbui": "^1.0.50-alpha.0", - "@budibase/client": "^1.0.50-alpha.0", + "@budibase/bbui": "^1.0.50", + "@budibase/client": "^1.0.50", "@budibase/colorpicker": "1.1.2", - "@budibase/string-templates": "^1.0.50-alpha.0", + "@budibase/string-templates": "^1.0.50", "@sentry/browser": "5.19.1", "@spectrum-css/page": "^3.0.1", "@spectrum-css/vars": "^3.0.1", diff --git a/packages/cli/package.json b/packages/cli/package.json index 641f97806e..1612eed578 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.0.50-alpha.0", + "version": "1.0.50", "description": "Budibase CLI, for developers, self hosting and migrations.", "main": "src/index.js", "bin": { diff --git a/packages/client/package.json b/packages/client/package.json index e205aa15af..98da2bc86b 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.0.50-alpha.0", + "version": "1.0.50", "license": "MPL-2.0", "module": "dist/budibase-client.js", "main": "dist/budibase-client.js", @@ -19,9 +19,9 @@ "dev:builder": "rollup -cw" }, "dependencies": { - "@budibase/bbui": "^1.0.50-alpha.0", + "@budibase/bbui": "^1.0.50", "@budibase/standard-components": "^0.9.139", - "@budibase/string-templates": "^1.0.50-alpha.0", + "@budibase/string-templates": "^1.0.50", "regexparam": "^1.3.0", "rollup-plugin-polyfill-node": "^0.8.0", "shortid": "^2.2.15", diff --git a/packages/server/package.json b/packages/server/package.json index dc1de08b14..4f954e686e 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.0.50-alpha.0", + "version": "1.0.50", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -70,9 +70,9 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "^10.0.3", - "@budibase/backend-core": "^1.0.50-alpha.0", - "@budibase/client": "^1.0.50-alpha.0", - "@budibase/string-templates": "^1.0.50-alpha.0", + "@budibase/backend-core": "^1.0.50", + "@budibase/client": "^1.0.50", + "@budibase/string-templates": "^1.0.50", "@bull-board/api": "^3.7.0", "@bull-board/koa": "^3.7.0", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index ff669e4220..17cb51778c 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.0.50-alpha.0", + "version": "1.0.50", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/worker/package.json b/packages/worker/package.json index d896d51ff8..8e97e873bf 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.0.50-alpha.0", + "version": "1.0.50", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -34,8 +34,8 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "^1.0.50-alpha.0", - "@budibase/string-templates": "^1.0.50-alpha.0", + "@budibase/backend-core": "^1.0.50", + "@budibase/string-templates": "^1.0.50", "@koa/router": "^8.0.0", "@sentry/node": "^6.0.0", "@techpass/passport-openidconnect": "^0.3.0", From 55b380c3c5135ba0d7a1712cd72e08a4b941bdb5 Mon Sep 17 00:00:00 2001 From: mike12345567 Date: Tue, 8 Feb 2022 14:34:52 +0000 Subject: [PATCH 088/176] Fix for #4119 - any object based column will be exported with the comma types correctly encapsulated. --- .../src/api/controllers/view/exporters.js | 7 +- packages/server/yarn.lock | 865 +++++++++++++++++- 2 files changed, 854 insertions(+), 18 deletions(-) diff --git a/packages/server/src/api/controllers/view/exporters.js b/packages/server/src/api/controllers/view/exporters.js index 0cca3b5f89..1232640d0a 100644 --- a/packages/server/src/api/controllers/view/exporters.js +++ b/packages/server/src/api/controllers/view/exporters.js @@ -5,8 +5,11 @@ exports.csv = function (headers, rows) { csv = `${csv}\n${headers .map(header => { let val = row[header] - val = typeof val === "object" ? JSON.stringify(val) : val - return `"${val}"`.trim() + val = + typeof val === "object" + ? `"${JSON.stringify(val).replace(/"/g, "'")}"` + : `"${val}"` + return val.trim() }) .join(",")}` } diff --git a/packages/server/yarn.lock b/packages/server/yarn.lock index f1aa43dfde..ec1052b0b5 100644 --- a/packages/server/yarn.lock +++ b/packages/server/yarn.lock @@ -983,6 +983,30 @@ resolved "https://registry.yarnpkg.com/@bcoe/v8-coverage/-/v8-coverage-0.2.3.tgz#75a2e8b51cb758a7553d6804a5932d7aace75c39" integrity sha512-0hYQ8SB4Db5zvZB4axdMHGwEaQjkZzFjQiN9LVYvIFB2nSUHW9tYpxWriPrWDASIxiaXax83REcLxuSdnGPZtw== +"@budibase/backend-core@^1.0.50-alpha.1": + version "1.0.50" + resolved "https://registry.yarnpkg.com/@budibase/backend-core/-/backend-core-1.0.50.tgz#f31bb365b938c6f889324be7033673d75ea5e127" + integrity sha512-C71kCWdFSrIIkrEuqgRKu2IKyPftK4Rq0HQLOHdnPfmYOGg8iJkeVAXeTQdowaoBXrfzUt/YZmA5ksGccxm3WQ== + dependencies: + "@techpass/passport-openidconnect" "^0.3.0" + aws-sdk "^2.901.0" + bcryptjs "^2.4.3" + cls-hooked "^4.2.2" + ioredis "^4.27.1" + jsonwebtoken "^8.5.1" + koa-passport "^4.1.4" + lodash "^4.17.21" + lodash.isarguments "^3.1.0" + node-fetch "^2.6.1" + passport-google-auth "^1.0.2" + passport-google-oauth "^2.0.0" + passport-jwt "^4.0.0" + passport-local "^1.0.0" + sanitize-s3-objectkey "^0.0.1" + tar-fs "^2.1.1" + uuid "^8.3.2" + zlib "^1.0.5" + "@budibase/bbui@^0.9.139": version "0.9.187" resolved "https://registry.yarnpkg.com/@budibase/bbui/-/bbui-0.9.187.tgz#84f0a37301cfa41f50eaa335243ac08923d9e34f" @@ -1032,6 +1056,95 @@ svelte-flatpickr "^3.2.3" svelte-portal "^1.0.0" +"@budibase/bbui@^1.0.50": + version "1.0.50" + resolved "https://registry.yarnpkg.com/@budibase/bbui/-/bbui-1.0.50.tgz#f49f0e2255647ca36306ab44ed565d1962f1b27a" + integrity sha512-9k7SBKq5tIO0/w8uWjbFrLIeMhdgCMeEXNGS1gXON4pt3ydSblKuWdRSPwSs8BZNfUMid+UxPkkdtLgZIBKcPA== + dependencies: + "@adobe/spectrum-css-workflow-icons" "^1.2.1" + "@spectrum-css/actionbutton" "^1.0.1" + "@spectrum-css/actiongroup" "^1.0.1" + "@spectrum-css/avatar" "^3.0.2" + "@spectrum-css/button" "^3.0.1" + "@spectrum-css/buttongroup" "^3.0.2" + "@spectrum-css/checkbox" "^3.0.2" + "@spectrum-css/dialog" "^3.0.1" + "@spectrum-css/divider" "^1.0.3" + "@spectrum-css/dropzone" "^3.0.2" + "@spectrum-css/fieldgroup" "^3.0.2" + "@spectrum-css/fieldlabel" "^3.0.1" + "@spectrum-css/icon" "^3.0.1" + "@spectrum-css/illustratedmessage" "^3.0.2" + "@spectrum-css/inlinealert" "^2.0.1" + "@spectrum-css/inputgroup" "^3.0.2" + "@spectrum-css/label" "^2.0.10" + "@spectrum-css/link" "^3.1.1" + "@spectrum-css/menu" "^3.0.1" + "@spectrum-css/modal" "^3.0.1" + "@spectrum-css/pagination" "^3.0.3" + "@spectrum-css/picker" "^1.0.1" + "@spectrum-css/popover" "^3.0.1" + "@spectrum-css/progressbar" "^1.0.2" + "@spectrum-css/progresscircle" "^1.0.2" + "@spectrum-css/radio" "^3.0.2" + "@spectrum-css/search" "^3.0.2" + "@spectrum-css/sidenav" "^3.0.2" + "@spectrum-css/statuslight" "^3.0.2" + "@spectrum-css/stepper" "^3.0.3" + "@spectrum-css/switch" "^1.0.2" + "@spectrum-css/table" "^3.0.1" + "@spectrum-css/tabs" "^3.0.1" + "@spectrum-css/tags" "^3.0.2" + "@spectrum-css/textfield" "^3.0.1" + "@spectrum-css/toast" "^3.0.1" + "@spectrum-css/tooltip" "^3.0.3" + "@spectrum-css/treeview" "^3.0.2" + "@spectrum-css/typography" "^3.0.1" + "@spectrum-css/underlay" "^2.0.9" + "@spectrum-css/vars" "^3.0.1" + dayjs "^1.10.4" + easymde "^2.16.1" + svelte-flatpickr "^3.2.3" + svelte-portal "^1.0.0" + +"@budibase/client@^1.0.50-alpha.1": + version "1.0.50" + resolved "https://registry.yarnpkg.com/@budibase/client/-/client-1.0.50.tgz#513295389572c48269716c816204443aa215274e" + integrity sha512-pKLXPJLNQpKeoNixoQp1WsQWUTzucfNPuZNjCZyyCCavToj9kZArvgxAYRcJGgWAulqLDMAr+bC1L5UNJ25Tyw== + dependencies: + "@budibase/bbui" "^1.0.50" + "@budibase/standard-components" "^0.9.139" + "@budibase/string-templates" "^1.0.50" + regexparam "^1.3.0" + rollup-plugin-polyfill-node "^0.8.0" + shortid "^2.2.15" + svelte-spa-router "^3.0.5" + +"@budibase/handlebars-helpers@^0.11.7": + version "0.11.8" + resolved "https://registry.yarnpkg.com/@budibase/handlebars-helpers/-/handlebars-helpers-0.11.8.tgz#6953d29673a8c5c407e096c0a84890465c7ce841" + integrity sha512-ggWJUt0GqsHFAEup5tlWlcrmYML57nKhpNGGLzVsqXVYN8eVmf3xluYmmMe7fDYhQH0leSprrdEXmsdFQF3HAQ== + dependencies: + array-sort "^1.0.0" + define-property "^2.0.2" + extend-shallow "^3.0.2" + for-in "^1.0.2" + get-object "^0.2.0" + get-value "^3.0.1" + handlebars "^4.7.7" + handlebars-utils "^1.0.6" + has-value "^2.0.2" + helper-md "^0.2.2" + html-tag "^2.0.0" + is-even "^1.0.0" + is-glob "^4.0.1" + kind-of "^6.0.3" + micromatch "^3.1.5" + relative "^3.0.2" + striptags "^3.1.1" + to-gfm-code-block "^0.1.1" + year "^0.2.1" + "@budibase/standard-components@^0.9.139": version "0.9.139" resolved "https://registry.yarnpkg.com/@budibase/standard-components/-/standard-components-0.9.139.tgz#cf8e2b759ae863e469e50272b3ca87f2827e66e3" @@ -1050,6 +1163,18 @@ svelte-apexcharts "^1.0.2" svelte-flatpickr "^3.1.0" +"@budibase/string-templates@^1.0.50", "@budibase/string-templates@^1.0.50-alpha.1": + version "1.0.50" + resolved "https://registry.yarnpkg.com/@budibase/string-templates/-/string-templates-1.0.50.tgz#53386f3c09891ef21bd47870d25cf7e12f6fac86" + integrity sha512-jmqmikU3Xt0I0hY1S1QI8x5770Z+Tu6zGxb9iQsk3PUCkKCpHz70Rl3Q7x5nYsDfOlhT4YHaHKgYYQYJ6hRafw== + dependencies: + "@budibase/handlebars-helpers" "^0.11.7" + dayjs "^1.10.4" + handlebars "^4.7.6" + handlebars-utils "^1.0.6" + lodash "^4.17.20" + vm2 "^3.9.4" + "@bull-board/api@3.7.0", "@bull-board/api@^3.7.0": version "3.7.0" resolved "https://registry.yarnpkg.com/@bull-board/api/-/api-3.7.0.tgz#231f687187c0cb34e0b97f463917b6aaeb4ef6af" @@ -1786,6 +1911,24 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@rollup/plugin-inject@^4.0.0": + version "4.0.4" + resolved "https://registry.yarnpkg.com/@rollup/plugin-inject/-/plugin-inject-4.0.4.tgz#fbeee66e9a700782c4f65c8b0edbafe58678fbc2" + integrity sha512-4pbcU4J/nS+zuHk+c+OL3WtmEQhqxlZ9uqfjQMQDOHOPld7PsCd8k5LWs8h5wjwJN7MgnAn768F2sDxEP4eNFQ== + dependencies: + "@rollup/pluginutils" "^3.1.0" + estree-walker "^2.0.1" + magic-string "^0.25.7" + +"@rollup/pluginutils@^3.1.0": + version "3.1.0" + resolved "https://registry.yarnpkg.com/@rollup/pluginutils/-/pluginutils-3.1.0.tgz#706b4524ee6dc8b103b3c995533e5ad680c02b9b" + integrity sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg== + dependencies: + "@types/estree" "0.0.39" + estree-walker "^1.0.1" + picomatch "^2.2.2" + "@sendgrid/client@^7.1.1": version "7.6.0" resolved "https://registry.yarnpkg.com/@sendgrid/client/-/client-7.6.0.tgz#f90cb8759c96e1d90224f29ad98f8fdc2be287f3" @@ -1973,6 +2116,11 @@ resolved "https://registry.yarnpkg.com/@spectrum-css/illustratedmessage/-/illustratedmessage-3.0.8.tgz#69ef0c935bcc5027f233a78de5aeb0064bf033cb" integrity sha512-HvC4dywDi11GdrXQDCvKQ0vFlrXLTyJuc9UKf7meQLCGoJbGYDBwe+tHXNK1c6gPMD9BoL6pPMP1K/vRzR4EBQ== +"@spectrum-css/inlinealert@^2.0.1": + version "2.0.6" + resolved "https://registry.yarnpkg.com/@spectrum-css/inlinealert/-/inlinealert-2.0.6.tgz#4c5e923a1f56a96cc1adb30ef1f06ae04f2c6376" + integrity sha512-OpvvoWP02wWyCnF4IgG8SOPkXymovkC9cGtgMS1FdDubnG3tJZB/JeKTsRR9C9Vt3WBaOmISRdSKlZ4lC9CFzA== + "@spectrum-css/inputgroup@^3.0.2": version "3.0.8" resolved "https://registry.yarnpkg.com/@spectrum-css/inputgroup/-/inputgroup-3.0.8.tgz#fc23afc8a73c24d17249c9d2337e8b42085b298b" @@ -2122,6 +2270,17 @@ dependencies: defer-to-connect "^1.0.1" +"@techpass/passport-openidconnect@^0.3.0": + version "0.3.2" + resolved "https://registry.yarnpkg.com/@techpass/passport-openidconnect/-/passport-openidconnect-0.3.2.tgz#f8fd5d97256286665dbf26dac92431f977ab1e63" + integrity sha512-fnCtEiexXSHA029B//hJcCJlLJrT3lhpNCyA0rnz58Qttz0BLGCVv6yMT8HmOnGThH6vcDOVwdgKM3kbCQtEhw== + dependencies: + base64url "^3.0.1" + oauth "^0.9.15" + passport-strategy "^1.0.0" + request "^2.88.0" + webfinger "^0.4.2" + "@tootallnate/once@1": version "1.1.2" resolved "https://registry.yarnpkg.com/@tootallnate/once/-/once-1.1.2.tgz#ccb91445360179a04e7fe6aff78c00ffc1eeaf82" @@ -2207,6 +2366,13 @@ dependencies: "@types/ioredis" "*" +"@types/codemirror@^5.60.4": + version "5.60.5" + resolved "https://registry.yarnpkg.com/@types/codemirror/-/codemirror-5.60.5.tgz#5b989a3b4bbe657458cf372c92b6bfda6061a2b7" + integrity sha512-TiECZmm8St5YxjFUp64LK0c8WU5bxMDt9YaAek1UqUb9swrSCoJhh92fWu1p3mTEqlHjhB5sY7OFBhWroJXZVg== + dependencies: + "@types/tern" "*" + "@types/connect@*": version "3.4.35" resolved "https://registry.yarnpkg.com/@types/connect/-/connect-3.4.35.tgz#5fcf6ae445e4021d1fc2219a4873cc73a3bb2ad1" @@ -2250,6 +2416,11 @@ resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.50.tgz#1e0caa9364d3fccd2931c3ed96fdbeaa5d4cca83" integrity sha512-C6N5s2ZFtuZRj54k2/zyRhNDjJwwcViAM3Nbm8zjBpbqAdZ00mr0CFxvSKeO8Y/e03WVFLpQMdHYVfUd6SB+Hw== +"@types/estree@0.0.39": + version "0.0.39" + resolved "https://registry.yarnpkg.com/@types/estree/-/estree-0.0.39.tgz#e177e699ee1b8c22d23174caaa7422644389509f" + integrity sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw== + "@types/express-serve-static-core@^4.17.18": version "4.17.25" resolved "https://registry.yarnpkg.com/@types/express-serve-static-core/-/express-serve-static-core-4.17.25.tgz#e42f7046adc65ece2eb6059b77aecfbe9e9f82e0" @@ -2378,6 +2549,11 @@ "@types/koa-compose" "*" "@types/node" "*" +"@types/marked@^4.0.1": + version "4.0.2" + resolved "https://registry.yarnpkg.com/@types/marked/-/marked-4.0.2.tgz#cb2dbf10da2f41cf20bd91fb5f89b67540c282f7" + integrity sha512-auNrZ/c0w6wsM9DccwVxWHssrMDezHUAXNesdp2RQrCVCyrQbOiSq7yqdJKrUQQpw9VTm7CGYJH2A/YG7jjrjQ== + "@types/mime@^1": version "1.3.2" resolved "https://registry.yarnpkg.com/@types/mime/-/mime-1.3.2.tgz#93e25bf9ee75fe0fd80b594bc4feb0e862111b5a" @@ -2452,6 +2628,13 @@ resolved "https://registry.yarnpkg.com/@types/stack-utils/-/stack-utils-2.0.1.tgz#20f18294f797f2209b5f65c8e3b5c8e8261d127c" integrity sha512-Hl219/BT5fLAaz6NDkSuhzasy49dwQS/DSdu4MdggFB8zcXv7vflBI3xp7FEmkmdDkBUI2bPUNeMttp2knYdxw== +"@types/tern@*": + version "0.23.4" + resolved "https://registry.yarnpkg.com/@types/tern/-/tern-0.23.4.tgz#03926eb13dbeaf3ae0d390caf706b2643a0127fb" + integrity sha512-JAUw1iXGO1qaWwEOzxTKJZ/5JxVeON9kvGZ/osgZaJImBnyjyn0cjovPsf6FNLmyGY8Vw9DoXZCMlfMkMwHRWg== + dependencies: + "@types/estree" "*" + "@types/yargs-parser@*": version "20.2.1" resolved "https://registry.yarnpkg.com/@types/yargs-parser/-/yargs-parser-20.2.1.tgz#3b9ce2489919d9e4fea439b76916abc34b2df129" @@ -2991,7 +3174,7 @@ arg@^4.1.0: resolved "https://registry.yarnpkg.com/arg/-/arg-4.1.3.tgz#269fc7ad5b8e42cb63c896d5666017261c144089" integrity sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA== -argparse@^1.0.7: +argparse@^1.0.10, argparse@^1.0.7: version "1.0.10" resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911" integrity sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg== @@ -3038,6 +3221,15 @@ array-equal@^1.0.0: resolved "https://registry.yarnpkg.com/array-equal/-/array-equal-1.0.0.tgz#8c2a5ef2472fd9ea742b04c77a75093ba2757c93" integrity sha1-jCpe8kcv2ep0KwTHenUJO6J1fJM= +array-sort@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/array-sort/-/array-sort-1.0.0.tgz#e4c05356453f56f53512a7d1d6123f2c54c0a88a" + integrity sha512-ihLeJkonmdiAsD7vpgN3CRcx2J2S0TiYW+IS/5zHBI7mKUq3ySvBdzzBfD236ubDBQFiiyG3SWCPc+msQ9KoYg== + dependencies: + default-compare "^1.0.0" + get-value "^2.0.6" + kind-of "^5.0.2" + array-union@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/array-union/-/array-union-2.1.0.tgz#b798420adbeb1de828d84acd8a2e23d3efe85e8d" @@ -3090,6 +3282,13 @@ astral-regex@^1.0.0: resolved "https://registry.yarnpkg.com/astral-regex/-/astral-regex-1.0.0.tgz#6c8c3fb827dd43ee3918f27b82782ab7658a6fd9" integrity sha512-+Ryf6g3BKoRc7jfp7ad8tM4TtMiaWvbF/1/sQcZPkkS7ag3D5nMBCe2UfOTONtAkaG0tO0ij3C5Lwmf1EiyjHg== +async-hook-jl@^1.7.6: + version "1.7.6" + resolved "https://registry.yarnpkg.com/async-hook-jl/-/async-hook-jl-1.7.6.tgz#4fd25c2f864dbaf279c610d73bf97b1b28595e68" + integrity sha512-gFaHkFfSxTjvoxDMYqDuGHlcRyUuamF8s+ZTtJdDzqjws4mCt7v0vuV79/E2Wr2/riMQgtG4/yUtXWs1gZ7JMg== + dependencies: + stack-chain "^1.3.7" + async-limiter@~1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/async-limiter/-/async-limiter-1.0.1.tgz#dd379e94f0db8310b08291f9d64c3209766617fd" @@ -3112,6 +3311,13 @@ async@^3.1.0: resolved "https://registry.yarnpkg.com/async/-/async-3.2.2.tgz#2eb7671034bb2194d45d30e31e24ec7e7f9670cd" integrity sha512-H0E+qZaDEfx/FY4t7iLRv1W2fFI6+pyCeTw1uN20AQPiwqwM6ojPxHxdLv4z8hi2DtnW9BOckSspLucW7pIE5g== +async@~2.1.4: + version "2.1.5" + resolved "https://registry.yarnpkg.com/async/-/async-2.1.5.tgz#e587c68580994ac67fc56ff86d3ac56bdbe810bc" + integrity sha1-5YfGhYCZSsZ/xW/4bTrFa9voELw= + dependencies: + lodash "^4.14.0" + asynckit@^0.4.0: version "0.4.0" resolved "https://registry.yarnpkg.com/asynckit/-/asynckit-0.4.0.tgz#c79ed97f7f34cb8f2ba1bc9790bcc366474b4b79" @@ -3127,6 +3333,13 @@ atomic-sleep@^1.0.0: resolved "https://registry.yarnpkg.com/atomic-sleep/-/atomic-sleep-1.0.0.tgz#eb85b77a601fc932cfe432c5acd364a9e2c9075b" integrity sha512-kNOjDqAh7px0XWNI+4QbzoiR/nTkHAWNud2uvnJquD1/x5a7EQZMJT0AczqK0Qn67oY/TTQ1LbUKajZpp3I9tQ== +autolinker@~0.28.0: + version "0.28.1" + resolved "https://registry.yarnpkg.com/autolinker/-/autolinker-0.28.1.tgz#0652b491881879f0775dace0cdca3233942a4e47" + integrity sha1-BlK0kYgYefB3XazgzcoyM5QqTkc= + dependencies: + gulp-header "^1.7.1" + aws-sdk@^2.767.0: version "2.1030.0" resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.1030.0.tgz#24a856af3d2b8b37c14a8f59974993661c66fd82" @@ -3142,6 +3355,21 @@ aws-sdk@^2.767.0: uuid "3.3.2" xml2js "0.4.19" +aws-sdk@^2.901.0: + version "2.1070.0" + resolved "https://registry.yarnpkg.com/aws-sdk/-/aws-sdk-2.1070.0.tgz#e7a27c34ed3a92776aa9128ed3469cb94bba9655" + integrity sha512-tkmuycoJ9k0qF1iq03iqyhevxP3l0OlrnUxjd0x8nZ9Ko1TGjyj0yJS4Vbd4r5RBpKUwRqedB7TAyZ/71mcZKw== + dependencies: + buffer "4.9.2" + events "1.1.1" + ieee754 "1.1.13" + jmespath "0.16.0" + querystring "0.2.0" + sax "1.2.1" + url "0.10.3" + uuid "3.3.2" + xml2js "0.4.19" + aws-sign2@~0.7.0: version "0.7.0" resolved "https://registry.yarnpkg.com/aws-sign2/-/aws-sign2-0.7.0.tgz#b46e890934a9591f2d2f6f86d7e6a9f1b3fe76a8" @@ -3324,6 +3552,11 @@ base64-js@^1.0.2, base64-js@^1.3.0, base64-js@^1.3.1: resolved "https://registry.yarnpkg.com/base64-js/-/base64-js-1.5.1.tgz#1b1b440160a5bf7ad40b650f095963481903930a" integrity sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA== +base64url@3.x.x, base64url@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/base64url/-/base64url-3.0.1.tgz#6399d572e2bc3f90a9a8b22d5dbb0a32d33f788d" + integrity sha512-ir1UPr3dkwexU7FdV8qBBbNDRUhMmIekYMFZfi+C/sLNnRESKPl23nB9b2pltqfOQNnGzsDdId90AEtG5tCx4A== + base@^0.11.1: version "0.11.2" resolved "https://registry.yarnpkg.com/base/-/base-0.11.2.tgz#7bde5ced145b6d551a90db87f83c558b4eb48a8f" @@ -3344,7 +3577,7 @@ bcrypt-pbkdf@^1.0.0: dependencies: tweetnacl "^0.14.3" -bcryptjs@2.4.3: +bcryptjs@2.4.3, bcryptjs@^2.4.3: version "2.4.3" resolved "https://registry.yarnpkg.com/bcryptjs/-/bcryptjs-2.4.3.tgz#9ab5627b93e60621ff7cdac5da9733027df1d0cb" integrity sha1-mrVie5PmBiH/fNrF2pczAn3x0Ms= @@ -3394,6 +3627,15 @@ bl@^3.0.0: dependencies: readable-stream "^3.0.1" +bl@^4.0.3: + version "4.1.0" + resolved "https://registry.yarnpkg.com/bl/-/bl-4.1.0.tgz#451535264182bec2fbbc83a62ab98cf11d9f7b3a" + integrity sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w== + dependencies: + buffer "^5.5.0" + inherits "^2.0.4" + readable-stream "^3.4.0" + bluebird@^3.5.1, bluebird@^3.7.2: version "3.7.2" resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.7.2.tgz#9f229c15be272454ffa973ace0dbee79a1b0c36f" @@ -3741,6 +3983,11 @@ chokidar@^3.5.2: optionalDependencies: fsevents "~2.3.2" +chownr@^1.1.1: + version "1.1.4" + resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b" + integrity sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg== + chrome-trace-event@^1.0.2: version "1.0.3" resolved "https://registry.yarnpkg.com/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz#1015eced4741e15d06664a957dbbf50d041e26ac" @@ -3827,6 +4074,15 @@ clone-response@1.0.2, clone-response@^1.0.2: dependencies: mimic-response "^1.0.0" +cls-hooked@^4.2.2: + version "4.2.2" + resolved "https://registry.yarnpkg.com/cls-hooked/-/cls-hooked-4.2.2.tgz#ad2e9a4092680cdaffeb2d3551da0e225eae1908" + integrity sha512-J4Xj5f5wq/4jAvcdgoGsL3G103BtWpZrMo8NEinRltN+xpTZdI+M38pyQqhuFU/P792xkMFvnKSf+Lm81U1bxw== + dependencies: + async-hook-jl "^1.7.6" + emitter-listener "^1.0.1" + semver "^5.4.1" + cluster-key-slot@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/cluster-key-slot/-/cluster-key-slot-1.1.0.tgz#30474b2a981fb12172695833052bc0d01336d10d" @@ -3847,6 +4103,18 @@ co@^4.6.0: resolved "https://registry.yarnpkg.com/co/-/co-4.6.0.tgz#6ea6bdf3d853ae54ccb8e47bfa0bf3f9031fb184" integrity sha1-bqa989hTrlTMuOR7+gvz+QMfsYQ= +codemirror-spell-checker@1.1.2: + version "1.1.2" + resolved "https://registry.yarnpkg.com/codemirror-spell-checker/-/codemirror-spell-checker-1.1.2.tgz#1c660f9089483ccb5113b9ba9ca19c3f4993371e" + integrity sha1-HGYPkIlIPMtRE7m6nKGcP0mTNx4= + dependencies: + typo-js "*" + +codemirror@^5.63.1: + version "5.65.1" + resolved "https://registry.yarnpkg.com/codemirror/-/codemirror-5.65.1.tgz#5988a812c974c467f964bcc1a00c944e373de502" + integrity sha512-s6aac+DD+4O2u1aBmdxhB7yz2XU7tG3snOyQ05Kxifahz7hoxnfxIRHxiCSEv3TUC38dIVH8G+lZH9UWSfGQxA== + collect-v8-coverage@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/collect-v8-coverage/-/collect-v8-coverage-1.0.1.tgz#cc2c8e94fc18bbdffe64d6534570c8a673b27f59" @@ -3982,6 +4250,13 @@ concat-map@0.0.1: resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b" integrity sha1-2Klr13/Wjfd5OnMDajug1UBdR3s= +concat-with-sourcemaps@*: + version "1.1.0" + resolved "https://registry.yarnpkg.com/concat-with-sourcemaps/-/concat-with-sourcemaps-1.1.0.tgz#d4ea93f05ae25790951b99e7b3b09e3908a4082e" + integrity sha512-4gEjHJFT9e+2W/77h/DS5SGUgwDaOwprX8L/gl5+3ixnzkVJJsZWDSelmN3Oilw3LNDZjZV0yqH1hLG3k6nghg== + dependencies: + source-map "^0.6.1" + condense-newlines@^0.2.1: version "0.2.1" resolved "https://registry.yarnpkg.com/condense-newlines/-/condense-newlines-0.2.1.tgz#3de985553139475d32502c83b02f60684d24c55f" @@ -4371,6 +4646,13 @@ deepmerge@^4.2.2: resolved "https://registry.yarnpkg.com/deepmerge/-/deepmerge-4.2.2.tgz#44d2ea3679b8f4d4ffba33f03d865fc1e7bf4955" integrity sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg== +default-compare@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/default-compare/-/default-compare-1.0.0.tgz#cb61131844ad84d84788fb68fd01681ca7781a2f" + integrity sha512-QWfXlM0EkAbqOCbD/6HjdwT19j7WCkMyiRhWilc4H9/5h/RzTF9gv5LYh1+CmDV5d1rki6KAWLtQale0xt20eQ== + dependencies: + kind-of "^5.0.2" + default-shell@^1.0.0: version "1.0.1" resolved "https://registry.yarnpkg.com/default-shell/-/default-shell-1.0.1.tgz#752304bddc6174f49eb29cb988feea0b8813c8bc" @@ -4598,6 +4880,17 @@ duplexer3@^0.1.4: resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= +easymde@^2.16.1: + version "2.16.1" + resolved "https://registry.yarnpkg.com/easymde/-/easymde-2.16.1.tgz#f4c2380312615cb33826f1a1fecfaa4022ff551a" + integrity sha512-FihYgjRsKfhGNk89SHSqxKLC4aJ1kfybPWW6iAmtb5GnXu+tnFPSzSaGBmk1RRlCuhFSjhF0SnIMGVPjEzkr6g== + dependencies: + "@types/codemirror" "^5.60.4" + "@types/marked" "^4.0.1" + codemirror "^5.63.1" + codemirror-spell-checker "1.1.2" + marked "^4.0.10" + ecc-jsbn@~0.1.1: version "0.1.2" resolved "https://registry.yarnpkg.com/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz#3a83a904e54353287874c564b7549386849a98c9" @@ -4640,6 +4933,13 @@ electron-to-chromium@^1.3.896: resolved "https://registry.yarnpkg.com/electron-to-chromium/-/electron-to-chromium-1.3.900.tgz#5be2c5818a2a012c511b4b43e87b6ab7a296d4f5" integrity sha512-SuXbQD8D4EjsaBaJJxySHbC+zq8JrFfxtb4GIr4E9n1BcROyMcRrJCYQNpJ9N+Wjf5mFp7Wp0OHykd14JNEzzQ== +emitter-listener@^1.0.1: + version "1.1.2" + resolved "https://registry.yarnpkg.com/emitter-listener/-/emitter-listener-1.1.2.tgz#56b140e8f6992375b3d7cb2cab1cc7432d9632e8" + integrity sha512-Bt1sBAGFHY9DKY+4/2cV6izcKJUf5T7/gkdmkxzX/qv9CcGH8xSwVRW5mtX03SWJtRTWSOpzCuWN9rBFYZepZQ== + dependencies: + shimmer "^1.2.0" + emittery@^0.8.1: version "0.8.1" resolved "https://registry.yarnpkg.com/emittery/-/emittery-0.8.1.tgz#bb23cc86d03b30aa75a7f734819dee2e1ba70860" @@ -4680,7 +4980,7 @@ encoding-down@^6.3.0: level-codec "^9.0.0" level-errors "^2.0.0" -end-of-stream@^1.0.0, end-of-stream@^1.1.0: +end-of-stream@^1.0.0, end-of-stream@^1.1.0, end-of-stream@^1.4.1: version "1.4.4" resolved "https://registry.yarnpkg.com/end-of-stream/-/end-of-stream-1.4.4.tgz#5ae64a5f45057baf3626ec14da0ca5e4b2431eb0" integrity sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q== @@ -4702,6 +5002,11 @@ enhanced-resolve@^5.8.3: graceful-fs "^4.2.4" tapable "^2.2.0" +ent@^2.2.0: + version "2.2.0" + resolved "https://registry.yarnpkg.com/ent/-/ent-2.2.0.tgz#e964219325a21d05f44466a2f686ed6ce5f5dd1d" + integrity sha1-6WQhkyWiHQX0RGai9obtbOX13R0= + entities@~2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/entities/-/entities-2.1.0.tgz#992d3129cf7df6870b96c57858c249a120f8b8b5" @@ -5110,6 +5415,16 @@ estraverse@^5.1.0, estraverse@^5.2.0: resolved "https://registry.yarnpkg.com/estraverse/-/estraverse-5.3.0.tgz#2eea5290702f26ab8fe5370370ff86c965d21123" integrity sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA== +estree-walker@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-1.0.1.tgz#31bc5d612c96b704106b477e6dd5d8aa138cb700" + integrity sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg== + +estree-walker@^2.0.1: + version "2.0.2" + resolved "https://registry.yarnpkg.com/estree-walker/-/estree-walker-2.0.2.tgz#52f010178c2a4c117a7757cfe942adb7d2da4cac" + integrity sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w== + esutils@^2.0.2: version "2.0.3" resolved "https://registry.yarnpkg.com/esutils/-/esutils-2.0.3.tgz#74d2eb4de0b8da1293711910d50775b9b710ef64" @@ -5641,6 +5956,11 @@ fs-constants@^1.0.0: resolved "https://registry.yarnpkg.com/fs-constants/-/fs-constants-1.0.0.tgz#6be0de9be998ce16af8afc24497b9ee9b7ccd9ad" integrity sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow== +fs-exists-sync@^0.1.0: + version "0.1.0" + resolved "https://registry.yarnpkg.com/fs-exists-sync/-/fs-exists-sync-0.1.0.tgz#982d6893af918e72d08dec9e8673ff2b5a8d6add" + integrity sha1-mC1ok6+RjnLQjeyehnP/K1qNat0= + fs-extra@8.1.0: version "8.1.0" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-8.1.0.tgz#49d43c45a88cd9677668cb7be1b46efdb8d2e1c0" @@ -5732,6 +6052,14 @@ get-intrinsic@^1.0.2, get-intrinsic@^1.1.0, get-intrinsic@^1.1.1: has "^1.0.3" has-symbols "^1.0.1" +get-object@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/get-object/-/get-object-0.2.0.tgz#d92ff7d5190c64530cda0543dac63a3d47fe8c0c" + integrity sha1-2S/31RkMZFMM2gVD2sY6PUf+jAw= + dependencies: + is-number "^2.0.2" + isobject "^0.2.0" + get-package-type@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/get-package-type/-/get-package-type-0.1.0.tgz#8de2d803cff44df3bc6c456e6668b36c3926e11a" @@ -5794,6 +6122,13 @@ get-value@^2.0.3, get-value@^2.0.6: resolved "https://registry.yarnpkg.com/get-value/-/get-value-2.0.6.tgz#dc15ca1c672387ca76bd37ac0a395ba2042a2c28" integrity sha1-3BXKHGcjh8p2vTesCjlbogQqLCg= +get-value@^3.0.0, get-value@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/get-value/-/get-value-3.0.1.tgz#5efd2a157f1d6a516d7524e124ac52d0a39ef5a8" + integrity sha512-mKZj9JLQrwMBtj5wxi6MH8Z5eSKaERpAwjg43dPtlGI1ZVEgH/qC7T8/6R2OBSUA+zzHBZgICsVJaEIV2tKTDA== + dependencies: + isobject "^3.0.1" + getopts@2.2.5: version "2.2.5" resolved "https://registry.yarnpkg.com/getopts/-/getopts-2.2.5.tgz#67a0fe471cacb9c687d817cab6450b96dde8313b" @@ -5918,6 +6253,23 @@ google-auth-library@^7.11.0: jws "^4.0.0" lru-cache "^6.0.0" +google-auth-library@~0.10.0: + version "0.10.0" + resolved "https://registry.yarnpkg.com/google-auth-library/-/google-auth-library-0.10.0.tgz#6e15babee85fd1dd14d8d128a295b6838d52136e" + integrity sha1-bhW6vuhf0d0U2NEoopW2g41SE24= + dependencies: + gtoken "^1.2.1" + jws "^3.1.4" + lodash.noop "^3.0.1" + request "^2.74.0" + +google-p12-pem@^0.1.0: + version "0.1.2" + resolved "https://registry.yarnpkg.com/google-p12-pem/-/google-p12-pem-0.1.2.tgz#33c46ab021aa734fa0332b3960a9a3ffcb2f3177" + integrity sha1-M8RqsCGqc0+gMys5YKmj/8svMXc= + dependencies: + node-forge "^0.7.1" + google-p12-pem@^3.0.3: version "3.1.2" resolved "https://registry.yarnpkg.com/google-p12-pem/-/google-p12-pem-3.1.2.tgz#c3d61c2da8e10843ff830fdb0d2059046238c1d4" @@ -5934,6 +6286,15 @@ google-spreadsheet@^3.2.0: google-auth-library "^6.1.3" lodash "^4.17.21" +googleapis@^16.0.0: + version "16.1.0" + resolved "https://registry.yarnpkg.com/googleapis/-/googleapis-16.1.0.tgz#0f19f2d70572d918881a0f626e3b1a2fa8629576" + integrity sha1-Dxny1wVy2RiIGg9ibjsaL6hilXY= + dependencies: + async "~2.1.4" + google-auth-library "~0.10.0" + string-template "~1.0.0" + got@^8.3.1: version "8.3.2" resolved "https://registry.yarnpkg.com/got/-/got-8.3.2.tgz#1d23f64390e97f776cac52e5b936e5f514d2e937" @@ -5979,6 +6340,16 @@ graceful-fs@^4.1.10, graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1. resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== +gtoken@^1.2.1: + version "1.2.3" + resolved "https://registry.yarnpkg.com/gtoken/-/gtoken-1.2.3.tgz#5509571b8afd4322e124cf66cf68115284c476d8" + integrity sha512-wQAJflfoqSgMWrSBk9Fg86q+sd6s7y6uJhIvvIPz++RElGlMtEqsdAR2oWwZ/WTEtp7P9xFbJRrT976oRgzJ/w== + dependencies: + google-p12-pem "^0.1.0" + jws "^3.0.0" + mime "^1.4.1" + request "^2.72.0" + gtoken@^5.0.4: version "5.3.1" resolved "https://registry.yarnpkg.com/gtoken/-/gtoken-5.3.1.tgz#c1c2598a826f2b5df7c6bb53d7be6cf6d50c3c78" @@ -5988,7 +6359,24 @@ gtoken@^5.0.4: google-p12-pem "^3.0.3" jws "^4.0.0" -handlebars@^4.7.7: +gulp-header@^1.7.1: + version "1.8.12" + resolved "https://registry.yarnpkg.com/gulp-header/-/gulp-header-1.8.12.tgz#ad306be0066599127281c4f8786660e705080a84" + integrity sha512-lh9HLdb53sC7XIZOYzTXM4lFuXElv3EVkSDhsd7DoJBj7hm+Ni7D3qYbb+Rr8DuM8nRanBvkVO9d7askreXGnQ== + dependencies: + concat-with-sourcemaps "*" + lodash.template "^4.4.0" + through2 "^2.0.0" + +handlebars-utils@^1.0.6: + version "1.0.6" + resolved "https://registry.yarnpkg.com/handlebars-utils/-/handlebars-utils-1.0.6.tgz#cb9db43362479054782d86ffe10f47abc76357f9" + integrity sha512-d5mmoQXdeEqSKMtQQZ9WkiUcO1E3tPbWxluCK9hVgIDPzQa9WsKo3Lbe/sGflTe7TomHEeZaOgwIkyIr1kfzkw== + dependencies: + kind-of "^6.0.0" + typeof-article "^0.1.1" + +handlebars@^4.7.6, handlebars@^4.7.7: version "4.7.7" resolved "https://registry.yarnpkg.com/handlebars/-/handlebars-4.7.7.tgz#9ce33416aad02dbd6c8fafa8240d5d98004945a1" integrity sha512-aAcXm5OAfE/8IXkcZvCepKU3VzW1/39Fb5ZuqMtgI/hT8X2YgoMvBY5dLhq/cpOvw7Lk1nK/UF71aLG/ZnVYRA== @@ -6070,6 +6458,14 @@ has-value@^1.0.0: has-values "^1.0.0" isobject "^3.0.0" +has-value@^2.0.2: + version "2.0.2" + resolved "https://registry.yarnpkg.com/has-value/-/has-value-2.0.2.tgz#d0f12e8780ba8e90e66ad1a21c707fdb67c25658" + integrity sha512-ybKOlcRsK2MqrM3Hmz/lQxXHZ6ejzSPzpNabKB45jb5qDgJvKPa3SdapTsTLwEb9WltgWpOmNax7i+DzNOk4TA== + dependencies: + get-value "^3.0.0" + has-values "^2.0.1" + has-values@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/has-values/-/has-values-0.1.4.tgz#6d61de95d91dfca9b9a02089ad384bff8f62b771" @@ -6083,6 +6479,13 @@ has-values@^1.0.0: is-number "^3.0.0" kind-of "^4.0.0" +has-values@^2.0.1: + version "2.0.1" + resolved "https://registry.yarnpkg.com/has-values/-/has-values-2.0.1.tgz#3876200ff86d8a8546a9264a952c17d5fc17579d" + integrity sha512-+QdH3jOmq9P8GfdjFg0eJudqx1FqU62NQJ4P16rOEHeRdl7ckgwn6uqQjzYE0ZoHVV/e5E2esuJ5Gl5+HUW19w== + dependencies: + kind-of "^6.0.2" + has-yarn@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/has-yarn/-/has-yarn-2.1.0.tgz#137e11354a7b5bf11aa5cb649cf0c6f3ff2b2e77" @@ -6095,6 +6498,16 @@ has@^1.0.3: dependencies: function-bind "^1.1.1" +helper-md@^0.2.2: + version "0.2.2" + resolved "https://registry.yarnpkg.com/helper-md/-/helper-md-0.2.2.tgz#c1f59d7e55bbae23362fd8a0e971607aec69d41f" + integrity sha1-wfWdflW7riM2L9ig6XFgeuxp1B8= + dependencies: + ent "^2.2.0" + extend-shallow "^2.0.1" + fs-exists-sync "^0.1.0" + remarkable "^1.6.2" + hosted-git-info@^2.1.4: version "2.8.9" resolved "https://registry.yarnpkg.com/hosted-git-info/-/hosted-git-info-2.8.9.tgz#dffc0bf9a21c02209090f2aa69429e1414daf3f9" @@ -6124,6 +6537,14 @@ html-escaper@^2.0.0: resolved "https://registry.yarnpkg.com/html-escaper/-/html-escaper-2.0.2.tgz#dfd60027da36a36dfcbe236262c00a5822681453" integrity sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg== +html-tag@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/html-tag/-/html-tag-2.0.0.tgz#36c3bc8d816fd30b570d5764a497a641640c2fed" + integrity sha512-XxzooSo6oBoxBEUazgjdXj7VwTn/iSTSZzTYKzYY6I916tkaYzypHxy+pbVU1h+0UQ9JlVf5XkNQyxOAiiQO1g== + dependencies: + is-self-closing "^1.0.1" + kind-of "^6.0.0" + http-assert@^1.3.0: version "1.5.0" resolved "https://registry.yarnpkg.com/http-assert/-/http-assert-1.5.0.tgz#c389ccd87ac16ed2dfa6246fd73b926aa00e6b8f" @@ -6387,6 +6808,23 @@ ioredis@^4.27.0: redis-parser "^3.0.0" standard-as-callback "^2.1.0" +ioredis@^4.27.1: + version "4.28.5" + resolved "https://registry.yarnpkg.com/ioredis/-/ioredis-4.28.5.tgz#5c149e6a8d76a7f8fa8a504ffc85b7d5b6797f9f" + integrity sha512-3GYo0GJtLqgNXj4YhrisLaNNvWSNwSS2wS4OELGfGxH8I69+XfNdnmV1AyN+ZqMh0i7eX+SWjrwFKDBDgfBC1A== + dependencies: + cluster-key-slot "^1.1.0" + debug "^4.3.1" + denque "^1.1.0" + lodash.defaults "^4.2.0" + lodash.flatten "^4.4.0" + lodash.isarguments "^3.1.0" + p-map "^2.1.0" + redis-commands "1.7.0" + redis-errors "^1.2.0" + redis-parser "^3.0.0" + standard-as-callback "^2.1.0" + ip-regex@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/ip-regex/-/ip-regex-2.1.0.tgz#fa78bf5d2e6913c911ce9f819ee5146bb6d844e9" @@ -6511,6 +6949,13 @@ is-docker@^2.0.0, is-docker@^2.1.1: resolved "https://registry.yarnpkg.com/is-docker/-/is-docker-2.2.1.tgz#33eeabe23cfe86f14bde4408a02c0cfb853acdaa" integrity sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ== +is-even@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/is-even/-/is-even-1.0.0.tgz#76b5055fbad8d294a86b6a949015e1c97b717c06" + integrity sha1-drUFX7rY0pSoa2qUkBXhyXtxfAY= + dependencies: + is-odd "^0.1.2" + is-extendable@^0.1.0, is-extendable@^0.1.1: version "0.1.1" resolved "https://registry.yarnpkg.com/is-extendable/-/is-extendable-0.1.1.tgz#62b110e289a471418e3ec36a617d472e301dfc89" @@ -6600,6 +7045,13 @@ is-number-object@^1.0.4: dependencies: has-tostringtag "^1.0.0" +is-number@^2.0.2: + version "2.1.0" + resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" + integrity sha1-Afy7s5NGOlSPL0ZszhbezknbkI8= + dependencies: + kind-of "^3.0.2" + is-number@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-3.0.0.tgz#24fd6201a4782cf50561c810276afc7d12d71195" @@ -6622,6 +7074,13 @@ is-object@^1.0.1: resolved "https://registry.yarnpkg.com/is-object/-/is-object-1.0.2.tgz#a56552e1c665c9e950b4a025461da87e72f86fcf" integrity sha512-2rRIahhZr2UWb45fIOuvZGpFtz0TyOZLf32KxBbSoUCeZR495zCKlWUKKUByk3geS2eAs7ZAABt0Y/Rx0GiQGA== +is-odd@^0.1.2: + version "0.1.2" + resolved "https://registry.yarnpkg.com/is-odd/-/is-odd-0.1.2.tgz#bc573b5ce371ef2aad6e6f49799b72bef13978a7" + integrity sha1-vFc7XONx7yqtbm9JeZtyvvE5eKc= + dependencies: + is-number "^3.0.0" + is-path-inside@^3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-3.0.3.tgz#d231362e53a07ff2b0e0ea7fed049161ffd16283" @@ -6667,6 +7126,13 @@ is-retry-allowed@^2.2.0: resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-2.2.0.tgz#88f34cbd236e043e71b6932d09b0c65fb7b4d71d" integrity sha512-XVm7LOeLpTW4jV19QSH38vkswxoLud8sQ57YwJVTPWdiaI9I8keEhGFpBlslyVsgdQy4Opg8QOLb8YRgsyZiQg== +is-self-closing@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/is-self-closing/-/is-self-closing-1.0.1.tgz#5f406b527c7b12610176320338af0fa3896416e4" + integrity sha512-E+60FomW7Blv5GXTlYee2KDrnG6srxF7Xt1SjrhWUGUEsTFIqY/nq2y3DaftCsgUMdh89V07IVfhY9KIJhLezg== + dependencies: + self-closing-tags "^1.0.1" + is-shared-array-buffer@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/is-shared-array-buffer/-/is-shared-array-buffer-1.0.1.tgz#97b0c85fbdacb59c9c446fe653b82cf2b5b7cfe6" @@ -6759,6 +7225,11 @@ isexe@^2.0.0: resolved "https://registry.yarnpkg.com/isexe/-/isexe-2.0.0.tgz#e8fbf374dc556ff8947a10dcb0572d633f2cfa10" integrity sha1-6PvzdNxVb/iUehDcsFctYz8s+hA= +isobject@^0.2.0: + version "0.2.0" + resolved "https://registry.yarnpkg.com/isobject/-/isobject-0.2.0.tgz#a3432192f39b910b5f02cc989487836ec70aa85e" + integrity sha1-o0MhkvObkQtfAsyYlIeDbscKqF4= + isobject@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/isobject/-/isobject-2.1.0.tgz#f065561096a3f1da2ef46272f815c840d87e0c89" @@ -7596,6 +8067,11 @@ jmespath@0.15.0, jmespath@^0.15.0: resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.15.0.tgz#a3f222a9aae9f966f5d27c796510e28091764217" integrity sha1-o/Iiqarp+Wb10nx5ZRDigJF2Qhc= +jmespath@0.16.0: + version "0.16.0" + resolved "https://registry.yarnpkg.com/jmespath/-/jmespath-0.16.0.tgz#b15b0a85dfd4d930d43e69ed605943c802785076" + integrity sha512-9FzQjJ7MATs1tSpnco1K6ayiYE3figslrXA72G2HQ/n76RzvYlofyi5QM+iX4YRs/pu3yzxlVQSST23+dMDknw== + joi@17.2.1: version "17.2.1" resolved "https://registry.yarnpkg.com/joi/-/joi-17.2.1.tgz#e5140fdf07e8fecf9bc977c2832d1bdb1e3f2a0a" @@ -7817,6 +8293,22 @@ jsonschema@1.4.0: resolved "https://registry.yarnpkg.com/jsonschema/-/jsonschema-1.4.0.tgz#1afa34c4bc22190d8e42271ec17ac8b3404f87b2" integrity sha512-/YgW6pRMr6M7C+4o8kS+B/2myEpHCrxO4PEWnqJNBFMjn7EWXqlQ4tGwL6xTHeRplwuZmcAncdvfOad1nT2yMw== +jsonwebtoken@^8.2.0, jsonwebtoken@^8.5.1: + version "8.5.1" + resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-8.5.1.tgz#00e71e0b8df54c2121a1f26137df2280673bcc0d" + integrity sha512-XjwVfRS6jTMsqYs0EsuJ4LGxXV14zQybNd4L2r0UvbVnSF9Af8x7p5MzbJ90Ioz/9TI41/hTCvznF/loiSzn8w== + dependencies: + jws "^3.2.2" + lodash.includes "^4.3.0" + lodash.isboolean "^3.0.3" + lodash.isinteger "^4.0.4" + lodash.isnumber "^3.0.3" + lodash.isplainobject "^4.0.6" + lodash.isstring "^4.0.1" + lodash.once "^4.0.0" + ms "^2.1.1" + semver "^5.6.0" + jsprim@^1.2.2: version "1.4.0" resolved "https://registry.yarnpkg.com/jsprim/-/jsprim-1.4.0.tgz#a3b87e40298d8c380552d8cc7628a0bb95a22918" @@ -7865,7 +8357,7 @@ jwa@^2.0.0: ecdsa-sig-formatter "1.0.11" safe-buffer "^5.0.1" -jws@3.x.x: +jws@3.x.x, jws@^3.0.0, jws@^3.1.4, jws@^3.2.2: version "3.2.2" resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304" integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA== @@ -7900,7 +8392,7 @@ keyv@3.0.0, keyv@^3.0.0: dependencies: json-buffer "3.0.0" -kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.2.0: +kind-of@^3.0.2, kind-of@^3.0.3, kind-of@^3.1.0, kind-of@^3.2.0: version "3.2.2" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-3.2.2.tgz#31ea21a734bab9bbb0f32466d893aea51e4a3c64" integrity sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ= @@ -7914,12 +8406,12 @@ kind-of@^4.0.0: dependencies: is-buffer "^1.1.5" -kind-of@^5.0.0: +kind-of@^5.0.0, kind-of@^5.0.2: version "5.1.0" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-5.1.0.tgz#729c91e2d857b7a419a1f9aa65685c4c33f5845d" integrity sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw== -kind-of@^6.0.0, kind-of@^6.0.2: +kind-of@^6.0.0, kind-of@^6.0.2, kind-of@^6.0.3: version "6.0.3" resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd" integrity sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw== @@ -8021,6 +8513,13 @@ koa-mount@^4.0.0: debug "^4.0.1" koa-compose "^4.1.0" +koa-passport@^4.1.4: + version "4.1.4" + resolved "https://registry.yarnpkg.com/koa-passport/-/koa-passport-4.1.4.tgz#5f1665c1c2a37ace79af9f970b770885ca30ccfa" + integrity sha512-dJBCkl4X+zdYxbI2V2OtoGy0PUenpvp2ZLLWObc8UJhsId0iQpTFT8RVcuA0709AL2txGwRHnSPoT1bYNGa6Kg== + dependencies: + passport "^0.4.0" + koa-pino-logger@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/koa-pino-logger/-/koa-pino-logger-3.0.0.tgz#27600b4f3639e8767dfc6b66493109c5457f53ba" @@ -8363,6 +8862,11 @@ locate-path@^5.0.0: dependencies: p-locate "^4.1.0" +lodash._reinterpolate@^3.0.0: + version "3.0.0" + resolved "https://registry.yarnpkg.com/lodash._reinterpolate/-/lodash._reinterpolate-3.0.0.tgz#0ccf2d89166af03b3663c796538b75ac6e114d9d" + integrity sha1-DM8tiRZq8Ds2Y8eWU4t1rG4RTZ0= + lodash.debounce@^4.0.8: version "4.0.8" resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af" @@ -8383,16 +8887,46 @@ lodash.get@^4.4.2: resolved "https://registry.yarnpkg.com/lodash.get/-/lodash.get-4.4.2.tgz#2d177f652fa31e939b4438d5341499dfa3825e99" integrity sha1-LRd/ZS+jHpObRDjVNBSZ36OCXpk= +lodash.includes@^4.3.0: + version "4.3.0" + resolved "https://registry.yarnpkg.com/lodash.includes/-/lodash.includes-4.3.0.tgz#60bb98a87cb923c68ca1e51325483314849f553f" + integrity sha1-YLuYqHy5I8aMoeUTJUgzFISfVT8= + lodash.isarguments@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/lodash.isarguments/-/lodash.isarguments-3.1.0.tgz#2f573d85c6a24289ff00663b491c1d338ff3458a" integrity sha1-L1c9hcaiQon/AGY7SRwdM4/zRYo= +lodash.isboolean@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz#6c2e171db2a257cd96802fd43b01b20d5f5870f6" + integrity sha1-bC4XHbKiV82WgC/UOwGyDV9YcPY= + lodash.isequal@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.isequal/-/lodash.isequal-4.5.0.tgz#415c4478f2bcc30120c22ce10ed3226f7d3e18e0" integrity sha1-QVxEePK8wwEgwizhDtMib30+GOA= +lodash.isinteger@^4.0.4: + version "4.0.4" + resolved "https://registry.yarnpkg.com/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz#619c0af3d03f8b04c31f5882840b77b11cd68343" + integrity sha1-YZwK89A/iwTDH1iChAt3sRzWg0M= + +lodash.isnumber@^3.0.3: + version "3.0.3" + resolved "https://registry.yarnpkg.com/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz#3ce76810c5928d03352301ac287317f11c0b1ffc" + integrity sha1-POdoEMWSjQM1IwGsKHMX8RwLH/w= + +lodash.isplainobject@^4.0.6: + version "4.0.6" + resolved "https://registry.yarnpkg.com/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz#7c526a52d89b45c45cc690b88163be0497f550cb" + integrity sha1-fFJqUtibRcRcxpC4gWO+BJf1UMs= + +lodash.isstring@^4.0.1: + version "4.0.1" + resolved "https://registry.yarnpkg.com/lodash.isstring/-/lodash.isstring-4.0.1.tgz#d527dfb5456eca7cc9bb95d5daeaf88ba54a5451" + integrity sha1-1SfftUVuynzJu5XV2ur4i6VKVFE= + lodash.keys@^4.2.0: version "4.2.0" resolved "https://registry.yarnpkg.com/lodash.keys/-/lodash.keys-4.2.0.tgz#a08602ac12e4fb83f91fc1fb7a360a4d9ba35205" @@ -8408,11 +8942,21 @@ lodash.merge@^4.6.2: resolved "https://registry.yarnpkg.com/lodash.merge/-/lodash.merge-4.6.2.tgz#558aa53b43b661e1925a0afdfa36a9a1085fe57a" integrity sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ== +lodash.noop@^3.0.1: + version "3.0.1" + resolved "https://registry.yarnpkg.com/lodash.noop/-/lodash.noop-3.0.1.tgz#38188f4d650a3a474258439b96ec45b32617133c" + integrity sha1-OBiPTWUKOkdCWEObluxFsyYXEzw= + lodash.omit@^4.5.0: version "4.5.0" resolved "https://registry.yarnpkg.com/lodash.omit/-/lodash.omit-4.5.0.tgz#6eb19ae5a1ee1dd9df0b969e66ce0b7fa30b5e60" integrity sha1-brGa5aHuHdnfC5aeZs4Lf6MLXmA= +lodash.once@^4.0.0: + version "4.1.1" + resolved "https://registry.yarnpkg.com/lodash.once/-/lodash.once-4.1.1.tgz#0dd3971213c7c56df880977d504c88fb471a97ac" + integrity sha1-DdOXEhPHxW34gJd9UEyI+0cal6w= + lodash.pick@^4.0.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.pick/-/lodash.pick-4.4.0.tgz#52f05610fff9ded422611441ed1fc123a03001b3" @@ -8423,6 +8967,21 @@ lodash.sortby@^4.7.0: resolved "https://registry.yarnpkg.com/lodash.sortby/-/lodash.sortby-4.7.0.tgz#edd14c824e2cc9c1e0b0a1b42bb5210516a42438" integrity sha1-7dFMgk4sycHgsKG0K7UhBRakJDg= +lodash.template@^4.4.0: + version "4.5.0" + resolved "https://registry.yarnpkg.com/lodash.template/-/lodash.template-4.5.0.tgz#f976195cf3f347d0d5f52483569fe8031ccce8ab" + integrity sha512-84vYFxIkmidUiFxidA/KjjH9pAycqW+h980j7Fuz5qxRtO9pgB7MDFTdys1N7A5mcucRiDyEq4fusljItR1T/A== + dependencies: + lodash._reinterpolate "^3.0.0" + lodash.templatesettings "^4.0.0" + +lodash.templatesettings@^4.0.0: + version "4.2.0" + resolved "https://registry.yarnpkg.com/lodash.templatesettings/-/lodash.templatesettings-4.2.0.tgz#e481310f049d3cf6d47e912ad09313b154f0fb33" + integrity sha512-stgLz+i3Aa9mZgnjr/O+v9ruKZsPsndy7qPZOchbqk2cnTU1ZaldKK+v7m54WoKIyxiuMZTKT2H81F8BeAc3ZQ== + dependencies: + lodash._reinterpolate "^3.0.0" + lodash.without@^4.4.0: version "4.4.0" resolved "https://registry.yarnpkg.com/lodash.without/-/lodash.without-4.4.0.tgz#3cd4574a00b67bae373a94b748772640507b7aac" @@ -8433,7 +8992,7 @@ lodash.xor@^4.5.0: resolved "https://registry.yarnpkg.com/lodash.xor/-/lodash.xor-4.5.0.tgz#4d48ed7e98095b0632582ba714d3ff8ae8fb1db6" integrity sha1-TUjtfpgJWwYyWCunFNP/iuj7HbY= -lodash@4.17.21, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.19, lodash@^4.17.21, lodash@^4.17.3, lodash@^4.7.0: +lodash@4.17.21, lodash@^4.14.0, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.21, lodash@^4.17.3, lodash@^4.7.0: version "4.17.21" resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.21.tgz#679591c564c3bffaae8454cf0b3df370c3d6911c" integrity sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg== @@ -8501,6 +9060,13 @@ ltgt@2.2.1, ltgt@^2.1.2, ltgt@~2.2.0: resolved "https://registry.yarnpkg.com/ltgt/-/ltgt-2.2.1.tgz#f35ca91c493f7b73da0e07495304f17b31f87ee5" integrity sha1-81ypHEk/e3PaDgdJUwTxezH4fuU= +magic-string@^0.25.7: + version "0.25.7" + resolved "https://registry.yarnpkg.com/magic-string/-/magic-string-0.25.7.tgz#3f497d6fd34c669c6798dcb821f2ef31f5445051" + integrity sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA== + dependencies: + sourcemap-codec "^1.4.4" + make-dir@^1.0.0: version "1.3.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" @@ -8565,6 +9131,11 @@ markdown-it@^12.2.0: mdurl "^1.0.1" uc.micro "^1.0.5" +marked@^4.0.10: + version "4.0.12" + resolved "https://registry.yarnpkg.com/marked/-/marked-4.0.12.tgz#2262a4e6fd1afd2f13557726238b69a48b982f7d" + integrity sha512-hgibXWrEDNBWgGiK18j/4lkS6ihTe9sxtV4Q1OQppb/0zzyPSzoFANBa5MfsG/zgsWklmNnhm0XACZOH/0HBiQ== + md5@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/md5/-/md5-2.3.0.tgz#c3da9a6aae3a30b46b7b0c349b87b110dc3bda4f" @@ -8630,7 +9201,7 @@ methods@^1.0.1, methods@^1.1.1, methods@^1.1.2: resolved "https://registry.yarnpkg.com/methods/-/methods-1.1.2.tgz#5529a4d67654134edcc5266656835b0f851afcee" integrity sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4= -micromatch@^3.1.10, micromatch@^3.1.4: +micromatch@^3.1.10, micromatch@^3.1.4, micromatch@^3.1.5: version "3.1.10" resolved "https://registry.yarnpkg.com/micromatch/-/micromatch-3.1.10.tgz#70859bc95c9840952f359a068a3fc49f9ecfac23" integrity sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg== @@ -8731,6 +9302,11 @@ mixin-deep@^1.2.0: for-in "^1.0.2" is-extendable "^1.0.1" +mkdirp-classic@^0.5.2: + version "0.5.3" + resolved "https://registry.yarnpkg.com/mkdirp-classic/-/mkdirp-classic-0.5.3.tgz#fa10c9115cc6d8865be221ba47ee9bed78601113" + integrity sha512-gKLcREMhtuZRwRAfqP3RFW+TK4JqApVBtOIftVgjuABpAtpxhPGaDcfvbhNvD0B8iD1oUr/txX35NjcaY6Ns/A== + mkdirp@^0.5.0, mkdirp@^0.5.1: version "0.5.5" resolved "https://registry.yarnpkg.com/mkdirp/-/mkdirp-0.5.5.tgz#d91cefd62d1436ca0f41620e251288d420099def" @@ -8850,6 +9426,11 @@ nan@^2.12.1: resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee" integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ== +nanoid@^2.1.0: + version "2.1.11" + resolved "https://registry.yarnpkg.com/nanoid/-/nanoid-2.1.11.tgz#ec24b8a758d591561531b4176a01e3ab4f0f0280" + integrity sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA== + nanomatch@^1.2.9: version "1.2.13" resolved "https://registry.yarnpkg.com/nanomatch/-/nanomatch-1.2.13.tgz#b87a8aa4fc0de8fe6be88895b38983ff265bd119" @@ -8929,6 +9510,11 @@ node-forge@^0.10.0: resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.10.0.tgz#32dea2afb3e9926f02ee5ce8794902691a676bf3" integrity sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA== +node-forge@^0.7.1: + version "0.7.6" + resolved "https://registry.yarnpkg.com/node-forge/-/node-forge-0.7.6.tgz#fdf3b418aee1f94f0ef642cd63486c77ca9724ac" + integrity sha512-sol30LUpz1jQFBjOKwbjxijiE3b6pjd74YwfD0fJOKPjF+fONKb2Yg8rYgS6+bK6VDl+/wfr4IYpC7jDzLUIfw== + node-gyp-build@~4.1.0: version "4.1.1" resolved "https://registry.yarnpkg.com/node-gyp-build/-/node-gyp-build-4.1.1.tgz#d7270b5d86717068d114cc57fff352f96d745feb" @@ -9056,6 +9642,11 @@ oauth-sign@~0.9.0: resolved "https://registry.yarnpkg.com/oauth-sign/-/oauth-sign-0.9.0.tgz#47a7b016baa68b5fa0ecf3dee08a85c679ac6455" integrity sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ== +oauth@0.9.x, oauth@^0.9.15: + version "0.9.15" + resolved "https://registry.yarnpkg.com/oauth/-/oauth-0.9.15.tgz#bd1fefaf686c96b75475aed5196412ff60cfb9c1" + integrity sha1-vR/vr2hslrdUda7VGWQS/2DPucE= + object-assign@^2.0.0: version "2.1.1" resolved "https://registry.yarnpkg.com/object-assign/-/object-assign-2.1.1.tgz#43c36e5d569ff8e4816c4efa8be02d26967c18aa" @@ -9366,6 +9957,84 @@ pascalcase@^0.1.1: resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= +passport-google-auth@^1.0.2: + version "1.0.2" + resolved "https://registry.yarnpkg.com/passport-google-auth/-/passport-google-auth-1.0.2.tgz#8b300b5aa442ef433de1d832ed3112877d0b2938" + integrity sha1-izALWqRC70M94dgy7TESh30LKTg= + dependencies: + googleapis "^16.0.0" + passport-strategy "1.x" + +passport-google-oauth1@1.x.x: + version "1.0.0" + resolved "https://registry.yarnpkg.com/passport-google-oauth1/-/passport-google-oauth1-1.0.0.tgz#af74a803df51ec646f66a44d82282be6f108e0cc" + integrity sha1-r3SoA99R7GRvZqRNgigr5vEI4Mw= + dependencies: + passport-oauth1 "1.x.x" + +passport-google-oauth20@2.x.x: + version "2.0.0" + resolved "https://registry.yarnpkg.com/passport-google-oauth20/-/passport-google-oauth20-2.0.0.tgz#0d241b2d21ebd3dc7f2b60669ec4d587e3a674ef" + integrity sha512-KSk6IJ15RoxuGq7D1UKK/8qKhNfzbLeLrG3gkLZ7p4A6DBCcv7xpyQwuXtWdpyR0+E0mwkpjY1VfPOhxQrKzdQ== + dependencies: + passport-oauth2 "1.x.x" + +passport-google-oauth@^2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/passport-google-oauth/-/passport-google-oauth-2.0.0.tgz#f6eb4bc96dd6c16ec0ecfdf4e05ec48ca54d4dae" + integrity sha512-JKxZpBx6wBQXX1/a1s7VmdBgwOugohH+IxCy84aPTZNq/iIPX6u7Mqov1zY7MKRz3niFPol0KJz8zPLBoHKtYA== + dependencies: + passport-google-oauth1 "1.x.x" + passport-google-oauth20 "2.x.x" + +passport-jwt@^4.0.0: + version "4.0.0" + resolved "https://registry.yarnpkg.com/passport-jwt/-/passport-jwt-4.0.0.tgz#7f0be7ba942e28b9f5d22c2ebbb8ce96ef7cf065" + integrity sha512-BwC0n2GP/1hMVjR4QpnvqA61TxenUMlmfNjYNgK0ZAs0HK4SOQkHcSv4L328blNTLtHq7DbmvyNJiH+bn6C5Mg== + dependencies: + jsonwebtoken "^8.2.0" + passport-strategy "^1.0.0" + +passport-local@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/passport-local/-/passport-local-1.0.0.tgz#1fe63268c92e75606626437e3b906662c15ba6ee" + integrity sha1-H+YyaMkudWBmJkN+O5BmYsFbpu4= + dependencies: + passport-strategy "1.x.x" + +passport-oauth1@1.x.x: + version "1.2.0" + resolved "https://registry.yarnpkg.com/passport-oauth1/-/passport-oauth1-1.2.0.tgz#5229d431781bf5b265bec86ce9a9cce58a756cf9" + integrity sha512-Sv2YWodC6jN12M/OXwmR4BIXeeIHjjbwYTQw4kS6tHK4zYzSEpxBgSJJnknBjICA5cj0ju3FSnG1XmHgIhYnLg== + dependencies: + oauth "0.9.x" + passport-strategy "1.x.x" + utils-merge "1.x.x" + +passport-oauth2@1.x.x: + version "1.6.1" + resolved "https://registry.yarnpkg.com/passport-oauth2/-/passport-oauth2-1.6.1.tgz#c5aee8f849ce8bd436c7f81d904a3cd1666f181b" + integrity sha512-ZbV43Hq9d/SBSYQ22GOiglFsjsD1YY/qdiptA+8ej+9C1dL1TVB+mBE5kDH/D4AJo50+2i8f4bx0vg4/yDDZCQ== + dependencies: + base64url "3.x.x" + oauth "0.9.x" + passport-strategy "1.x.x" + uid2 "0.0.x" + utils-merge "1.x.x" + +passport-strategy@1.x, passport-strategy@1.x.x, passport-strategy@^1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/passport-strategy/-/passport-strategy-1.0.0.tgz#b5539aa8fc225a3d1ad179476ddf236b440f52e4" + integrity sha1-tVOaqPwiWj0a0XlHbd8ja0QPUuQ= + +passport@^0.4.0: + version "0.4.1" + resolved "https://registry.yarnpkg.com/passport/-/passport-0.4.1.tgz#941446a21cb92fc688d97a0861c38ce9f738f270" + integrity sha512-IxXgZZs8d7uFSt3eqNjM9NQ3g3uQCW5avD8mRNoXV99Yig50vjuaez6dQK2qC0kVWPRTujxY0dWgGfT09adjYg== + dependencies: + passport-strategy "1.x.x" + pause "0.0.1" + path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" @@ -9420,6 +10089,11 @@ path-type@^4.0.0: resolved "https://registry.yarnpkg.com/path-type/-/path-type-4.0.0.tgz#84ed01c0a7ba380afe09d90a8c180dcd9d03043b" integrity sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw== +pause@0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/pause/-/pause-0.0.1.tgz#1d408b3fdb76923b9543d96fb4c9dfd535d9cb5d" + integrity sha1-HUCLP9t2kjuVQ9lvtMnf1TXZy10= + pend@~1.2.0: version "1.2.0" resolved "https://registry.yarnpkg.com/pend/-/pend-1.2.0.tgz#7a57eb550a6783f9115331fcf4663d5c8e007a50" @@ -9496,6 +10170,11 @@ picomatch@^2.0.4, picomatch@^2.2.1, picomatch@^2.2.3: resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.0.tgz#f1f061de8f6a4bf022892e2d128234fb98302972" integrity sha512-lY1Q/PiJGC2zOv/z391WOTD+Z02bCgsFfvxoXXf6h7kv9o+WmsmzYqrAwY63sNgOxE4xEdq0WyUnXfKeBrSvYw== +picomatch@^2.2.2: + version "2.3.1" + resolved "https://registry.yarnpkg.com/picomatch/-/picomatch-2.3.1.tgz#3ba3833733646d9d3e4995946c1365a67fb07a42" + integrity sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA== + pify@^2.3.0: version "2.3.0" resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" @@ -10143,7 +10822,7 @@ readable-stream@1.1.14, readable-stream@^1.0.27-1: isarray "0.0.1" string_decoder "~0.10.x" -"readable-stream@2 || 3", readable-stream@^3.0.0, readable-stream@^3.0.1, readable-stream@^3.4.0, readable-stream@^3.6.0: +"readable-stream@2 || 3", readable-stream@^3.0.0, readable-stream@^3.0.1, readable-stream@^3.1.1, readable-stream@^3.4.0, readable-stream@^3.6.0: version "3.6.0" resolved "https://registry.yarnpkg.com/readable-stream/-/readable-stream-3.6.0.tgz#337bbda3adc0706bd3e024426a286d4b4b2c9198" integrity sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA== @@ -10284,6 +10963,16 @@ regex-not@^1.0.0, regex-not@^1.0.2: extend-shallow "^3.0.2" safe-regex "^1.1.0" +regexparam@2.0.0: + version "2.0.0" + resolved "https://registry.yarnpkg.com/regexparam/-/regexparam-2.0.0.tgz#059476767d5f5f87f735fc7922d133fd1a118c8c" + integrity sha512-gJKwd2MVPWHAIFLsaYDZfyKzHNS4o7E/v8YmNf44vmeV2e4YfVoDToTOKTvE7ab68cRJ++kLuEXJBaEeJVt5ow== + +regexparam@^1.3.0: + version "1.3.0" + resolved "https://registry.yarnpkg.com/regexparam/-/regexparam-1.3.0.tgz#2fe42c93e32a40eff6235d635e0ffa344b92965f" + integrity sha512-6IQpFBv6e5vz1QAqI+V4k8P2e/3gRrqfCJ9FI+O1FLQTO+Uz6RXZEZOPmTJ6hlGj7gkERzY5BRCv09whKP96/g== + regexpp@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/regexpp/-/regexpp-2.0.1.tgz#8d19d31cf632482b589049f8281f93dbcba4d07f" @@ -10327,6 +11016,21 @@ regjsparser@^0.7.0: dependencies: jsesc "~0.5.0" +relative@^3.0.2: + version "3.0.2" + resolved "https://registry.yarnpkg.com/relative/-/relative-3.0.2.tgz#0dcd8ec54a5d35a3c15e104503d65375b5a5367f" + integrity sha1-Dc2OxUpdNaPBXhBFA9ZTdbWlNn8= + dependencies: + isobject "^2.0.0" + +remarkable@^1.6.2: + version "1.7.4" + resolved "https://registry.yarnpkg.com/remarkable/-/remarkable-1.7.4.tgz#19073cb960398c87a7d6546eaa5e50d2022fcd00" + integrity sha512-e6NKUXgX95whv7IgddywbeN/ItCkWbISmc2DiqHJb0wTrqZIexqdco5b8Z3XZoo/48IdNVKM9ZCvTPJ4F5uvhg== + dependencies: + argparse "^1.0.10" + autolinker "~0.28.0" + remove-trailing-separator@^1.0.1: version "1.1.0" resolved "https://registry.yarnpkg.com/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz#c24bce2a283adad5bc3f58e0d48249b92379d8ef" @@ -10363,7 +11067,7 @@ request-promise-native@^1.0.5: stealthy-require "^1.1.1" tough-cookie "^2.3.3" -request@^2.87.0: +request@^2.72.0, request@^2.74.0, request@^2.87.0, request@^2.88.0: version "2.88.2" resolved "https://registry.yarnpkg.com/request/-/request-2.88.2.tgz#d73c918731cb5a87da047e207234146f664d12b3" integrity sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw== @@ -10504,6 +11208,13 @@ rimraf@^3.0.0, rimraf@^3.0.2: dependencies: glob "^7.1.3" +rollup-plugin-polyfill-node@^0.8.0: + version "0.8.0" + resolved "https://registry.yarnpkg.com/rollup-plugin-polyfill-node/-/rollup-plugin-polyfill-node-0.8.0.tgz#859c070822f5e38d221e5b4238cb34aa894c2b19" + integrity sha512-C4UeKedOmOBkB3FgR+z/v9kzRwV1Q/H8xWs1u1+CNe4XOV6hINfOrcO+TredKxYvopCmr+WKUSNsFUnD1RLHgQ== + dependencies: + "@rollup/plugin-inject" "^4.0.0" + rsvp@^4.8.4: version "4.8.5" resolved "https://registry.yarnpkg.com/rsvp/-/rsvp-4.8.5.tgz#c8f155311d167f68f21e168df71ec5b083113734" @@ -10575,6 +11286,11 @@ sane@^4.0.3: minimist "^1.1.1" walker "~1.0.5" +sanitize-s3-objectkey@^0.0.1: + version "0.0.1" + resolved "https://registry.yarnpkg.com/sanitize-s3-objectkey/-/sanitize-s3-objectkey-0.0.1.tgz#efa9887cd45275b40234fb4bb12fc5754fe64e7e" + integrity sha512-ZTk7aqLxy4sD40GWcYWoLfbe05XLmkKvh6vGKe13ADlei24xlezcvjgKy1qRArlaIbIMYaqK7PCalvZtulZlaQ== + saslprep@^1.0.0: version "1.0.3" resolved "https://registry.yarnpkg.com/saslprep/-/saslprep-1.0.3.tgz#4c02f946b56cf54297e347ba1093e7acac4cf226" @@ -10587,7 +11303,7 @@ sax@1.2.1: resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.1.tgz#7b8e656190b228e81a66aea748480d828cd2d37a" integrity sha1-e45lYZCyKOgaZq6nSEgNgozS03o= -sax@>=0.6.0, sax@^1.2.4: +sax@>=0.1.1, sax@>=0.6.0, sax@^1.2.4: version "1.2.4" resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9" integrity sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw== @@ -10620,6 +11336,11 @@ seek-bzip@^1.0.5: dependencies: commander "^2.8.1" +self-closing-tags@^1.0.1: + version "1.0.1" + resolved "https://registry.yarnpkg.com/self-closing-tags/-/self-closing-tags-1.0.1.tgz#6c5fa497994bb826b484216916371accee490a5d" + integrity sha512-7t6hNbYMxM+VHXTgJmxwgZgLGktuXtVVD5AivWzNTdJBM4DBjnDKDzkf2SrNjihaArpeJYNjxkELBu1evI4lQA== + semver-diff@^3.1.1: version "3.1.1" resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-3.1.1.tgz#05f77ce59f325e00e2706afd67bb506ddb1ca32b" @@ -10627,7 +11348,7 @@ semver-diff@^3.1.1: dependencies: semver "^6.3.0" -"semver@2 || 3 || 4 || 5", semver@^5.1.0, semver@^5.5.0, semver@^5.6.0, semver@^5.7.1: +"semver@2 || 3 || 4 || 5", semver@^5.1.0, semver@^5.4.1, semver@^5.5.0, semver@^5.6.0, semver@^5.7.1: version "5.7.1" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.1.tgz#a954f931aeba508d307bbf069eff0c01c96116f7" integrity sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ== @@ -10738,6 +11459,18 @@ shell-path@^2.1.0: dependencies: shell-env "^0.3.0" +shimmer@^1.2.0: + version "1.2.1" + resolved "https://registry.yarnpkg.com/shimmer/-/shimmer-1.2.1.tgz#610859f7de327b587efebf501fb43117f9aff337" + integrity sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw== + +shortid@^2.2.15: + version "2.2.16" + resolved "https://registry.yarnpkg.com/shortid/-/shortid-2.2.16.tgz#b742b8f0cb96406fd391c76bfc18a67a57fe5608" + integrity sha512-Ugt+GIZqvGXCIItnsL+lvFJOiN7RYqlGy7QE41O3YC1xbNSeDGIRO7xg2JJXIAj1cAGnOeC1r7/T9pgrtQbv4g== + dependencies: + nanoid "^2.1.0" + side-channel@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/side-channel/-/side-channel-1.0.4.tgz#efce5c8fdc104ee751b25c58d4290011fa5ea2cf" @@ -10913,6 +11646,11 @@ source-map@^0.7.3, source-map@~0.7.2: resolved "https://registry.yarnpkg.com/source-map/-/source-map-0.7.3.tgz#5302f8169031735226544092e64981f751750383" integrity sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ== +sourcemap-codec@^1.4.4: + version "1.4.8" + resolved "https://registry.yarnpkg.com/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz#ea804bd94857402e6992d05a38ef1ae35a9ab4c4" + integrity sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA== + spark-md5@3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/spark-md5/-/spark-md5-3.0.0.tgz#3722227c54e2faf24b1dc6d933cc144e6f71bfef" @@ -11012,6 +11750,11 @@ sshpk@^1.7.0: safer-buffer "^2.0.2" tweetnacl "~0.14.0" +stack-chain@^1.3.7: + version "1.3.7" + resolved "https://registry.yarnpkg.com/stack-chain/-/stack-chain-1.3.7.tgz#d192c9ff4ea6a22c94c4dd459171e3f00cea1285" + integrity sha1-0ZLJ/06moiyUxN1FkXHj8AzqEoU= + stack-trace@0.0.x: version "0.0.10" resolved "https://registry.yarnpkg.com/stack-trace/-/stack-trace-0.0.10.tgz#547c70b347e8d32b4e108ea1a2a159e5fdde19c0" @@ -11059,6 +11802,11 @@ stealthy-require@^1.1.1: resolved "https://registry.yarnpkg.com/stealthy-require/-/stealthy-require-1.1.1.tgz#35b09875b4ff49f26a777e509b3090a3226bf24b" integrity sha1-NbCYdbT/SfJqd35QmzCQoyJr8ks= +step@0.0.x: + version "0.0.6" + resolved "https://registry.yarnpkg.com/step/-/step-0.0.6.tgz#143e7849a5d7d3f4a088fe29af94915216eeede2" + integrity sha1-FD54SaXX0/SgiP4pr5SRUhbu7eI= + strict-uri-encode@^1.0.0: version "1.1.0" resolved "https://registry.yarnpkg.com/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz#279b225df1d582b1f54e65addd4352e18faa0713" @@ -11077,6 +11825,11 @@ string-length@^4.0.1: char-regex "^1.0.2" strip-ansi "^6.0.0" +string-template@~1.0.0: + version "1.0.0" + resolved "https://registry.yarnpkg.com/string-template/-/string-template-1.0.0.tgz#9e9f2233dc00f218718ec379a28a5673ecca8b96" + integrity sha1-np8iM9wA8hhxjsN5oopWc+zKi5Y= + string-width@^3.0.0, string-width@^3.1.0: version "3.1.0" resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961" @@ -11210,6 +11963,11 @@ strip-outer@^1.0.0: dependencies: escape-string-regexp "^1.0.2" +striptags@^3.1.1: + version "3.2.0" + resolved "https://registry.yarnpkg.com/striptags/-/striptags-3.2.0.tgz#cc74a137db2de8b0b9a370006334161f7dd67052" + integrity sha512-g45ZOGzHDMe2bdYMdIvdAfCQkCTDMGBazSw1ypMowwGIee7ZQ5dU0rBJ8Jqgl+jAKIv4dbeE1jscZq9wid1Tkw== + style-loader@^3.3.1: version "3.3.1" resolved "https://registry.yarnpkg.com/style-loader/-/style-loader-3.3.1.tgz#057dfa6b3d4d7c7064462830f9113ed417d38575" @@ -11304,6 +12062,13 @@ svelte-portal@^1.0.0: resolved "https://registry.yarnpkg.com/svelte-portal/-/svelte-portal-1.0.0.tgz#36a47c5578b1a4d9b4dc60fa32a904640ec4cdd3" integrity sha512-nHf+DS/jZ6jjnZSleBMSaZua9JlG5rZv9lOGKgJuaZStfevtjIlUJrkLc3vbV8QdBvPPVmvcjTlazAzfKu0v3Q== +svelte-spa-router@^3.0.5: + version "3.2.0" + resolved "https://registry.yarnpkg.com/svelte-spa-router/-/svelte-spa-router-3.2.0.tgz#fae3311d292451236cb57131262406cf312b15ee" + integrity sha512-igemo5Vs82TGBBw+DjWt6qKameXYzNs6aDXcTxou5XbEvOjiRcAM6MLkdVRCatn6u8r42dE99bt/br7T4qe/AQ== + dependencies: + regexparam "2.0.0" + svelte@^3.38.2: version "3.44.1" resolved "https://registry.yarnpkg.com/svelte/-/svelte-3.44.1.tgz#5cc772a8340f4519a4ecd1ac1a842325466b1a63" @@ -11391,6 +12156,16 @@ tapable@^2.1.1, tapable@^2.2.0: resolved "https://registry.yarnpkg.com/tapable/-/tapable-2.2.1.tgz#1967a73ef4060a82f12ab96af86d52fdb76eeca0" integrity sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ== +tar-fs@^2.1.1: + version "2.1.1" + resolved "https://registry.yarnpkg.com/tar-fs/-/tar-fs-2.1.1.tgz#489a15ab85f1f0befabb370b7de4f9eb5cbe8784" + integrity sha512-V0r2Y9scmbDRLCNex/+hYzvp/zyYjvFbHPNgVTKfQvVrb6guiE/fxP+XblDNR011utopbkex2nM4dHNV6GDsng== + dependencies: + chownr "^1.1.1" + mkdirp-classic "^0.5.2" + pump "^3.0.0" + tar-stream "^2.1.4" + tar-stream@^1.5.2: version "1.6.2" resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-1.6.2.tgz#8ea55dab37972253d9a9af90fdcd559ae435c555" @@ -11404,6 +12179,17 @@ tar-stream@^1.5.2: to-buffer "^1.1.1" xtend "^4.0.0" +tar-stream@^2.1.4: + version "2.2.0" + resolved "https://registry.yarnpkg.com/tar-stream/-/tar-stream-2.2.0.tgz#acad84c284136b060dc3faa64474aa9aebd77287" + integrity sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ== + dependencies: + bl "^4.0.3" + end-of-stream "^1.4.1" + fs-constants "^1.0.0" + inherits "^2.0.3" + readable-stream "^3.1.1" + tarn@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/tarn/-/tarn-1.1.5.tgz#7be88622e951738b9fa3fb77477309242cdddc2d" @@ -11595,6 +12381,11 @@ to-fast-properties@^2.0.0: resolved "https://registry.yarnpkg.com/to-fast-properties/-/to-fast-properties-2.0.0.tgz#dc5e698cbd079265bc73e0377681a4e4e83f616e" integrity sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4= +to-gfm-code-block@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/to-gfm-code-block/-/to-gfm-code-block-0.1.1.tgz#25d045a5fae553189e9637b590900da732d8aa82" + integrity sha1-JdBFpfrlUxielje1kJANpzLYqoI= + to-json-schema@0.2.5: version "0.2.5" resolved "https://registry.yarnpkg.com/to-json-schema/-/to-json-schema-0.2.5.tgz#ef3c3f11ad64460dcfbdbafd0fd525d69d62a98f" @@ -11831,11 +12622,23 @@ typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" +typeof-article@^0.1.1: + version "0.1.1" + resolved "https://registry.yarnpkg.com/typeof-article/-/typeof-article-0.1.1.tgz#9f07e733c3fbb646ffa9e61c08debacd460e06af" + integrity sha1-nwfnM8P7tkb/qeYcCN66zUYOBq8= + dependencies: + kind-of "^3.1.0" + typescript@^4.3.5: version "4.3.5" resolved "https://registry.yarnpkg.com/typescript/-/typescript-4.3.5.tgz#4d1c37cc16e893973c45a06886b7113234f119f4" integrity sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA== +typo-js@*: + version "1.2.1" + resolved "https://registry.yarnpkg.com/typo-js/-/typo-js-1.2.1.tgz#334a0d8c3f6c56f2f1e15fdf6c31677793cbbe9b" + integrity sha512-bTGLjbD3WqZDR3CgEFkyi9Q/SS2oM29ipXrWfDb4M74ea69QwKAECVceYpaBu0GfdnASMg9Qfl67ttB23nePHg== + uc.micro@^1.0.1, uc.micro@^1.0.5: version "1.0.6" resolved "https://registry.yarnpkg.com/uc.micro/-/uc.micro-1.0.6.tgz#9c411a802a409a91fc6cf74081baba34b24499ac" @@ -11846,6 +12649,11 @@ uglify-js@^3.1.4: resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.14.3.tgz#c0f25dfea1e8e5323eccf59610be08b6043c15cf" integrity sha512-mic3aOdiq01DuSVx0TseaEzMIVqebMZ0Z3vaeDhFEh9bsc24hV1TFvN74reA2vs08D0ZWfNjAcJ3UbVLaBss+g== +uid2@0.0.x: + version "0.0.4" + resolved "https://registry.yarnpkg.com/uid2/-/uid2-0.0.4.tgz#033f3b1d5d32505f5ce5f888b9f3b667123c0a44" + integrity sha512-IevTus0SbGwQzYh3+fRsAMTVVPOoIVufzacXcHPmdlle1jUpq7BRL+mw3dgeLanvGZdwwbWhRV6XrcFNdBmjWA== + unbox-primitive@^1.0.1: version "1.0.1" resolved "https://registry.yarnpkg.com/unbox-primitive/-/unbox-primitive-1.0.1.tgz#085e215625ec3162574dc8859abee78a59b14471" @@ -12049,6 +12857,11 @@ util.promisify@^1.0.0, util.promisify@^1.0.1: has-symbols "^1.0.1" object.getownpropertydescriptors "^2.1.1" +utils-merge@1.x.x: + version "1.0.1" + resolved "https://registry.yarnpkg.com/utils-merge/-/utils-merge-1.0.1.tgz#9f95710f50a267947b2ccc124741c1028427e713" + integrity sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM= + uuid@3.3.2, uuid@^3.1.0, uuid@^3.3.2: version "3.3.2" resolved "https://registry.yarnpkg.com/uuid/-/uuid-3.3.2.tgz#1b4af4955eb3077c501c23872fc6513811587131" @@ -12113,7 +12926,7 @@ verror@1.3.6: dependencies: extsprintf "1.0.2" -vm2@^3.9.3: +vm2@^3.9.3, vm2@^3.9.4: version "3.9.5" resolved "https://registry.yarnpkg.com/vm2/-/vm2-3.9.5.tgz#5288044860b4bbace443101fcd3bddb2a0aa2496" integrity sha512-LuCAHZN75H9tdrAiLFf030oW7nJV5xwNMuk1ymOZwopmuK3d2H4L1Kv4+GFHgarKiLfXXLFU+7LDABHnwOkWng== @@ -12152,6 +12965,14 @@ watchpack@^2.2.0: glob-to-regexp "^0.4.1" graceful-fs "^4.1.2" +webfinger@^0.4.2: + version "0.4.2" + resolved "https://registry.yarnpkg.com/webfinger/-/webfinger-0.4.2.tgz#3477a6d97799461896039fcffc650b73468ee76d" + integrity sha1-NHem2XeZRhiWA5/P/GULc0aO520= + dependencies: + step "0.0.x" + xml2js "0.1.x" + webidl-conversions@^3.0.0: version "3.0.1" resolved "https://registry.yarnpkg.com/webidl-conversions/-/webidl-conversions-3.0.1.tgz#24534275e2a7bc6be7bc86611cc16ae0a5654871" @@ -12468,6 +13289,13 @@ xml-parse-from-string@^1.0.0: resolved "https://registry.yarnpkg.com/xml-parse-from-string/-/xml-parse-from-string-1.0.1.tgz#a9029e929d3dbcded169f3c6e28238d95a5d5a28" integrity sha1-qQKekp09vN7RafPG4oI42VpdWig= +xml2js@0.1.x: + version "0.1.14" + resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.1.14.tgz#5274e67f5a64c5f92974cd85139e0332adc6b90c" + integrity sha1-UnTmf1pkxfkpdM2FE54DMq3GuQw= + dependencies: + sax ">=0.1.1" + xml2js@0.4.19: version "0.4.19" resolved "https://registry.yarnpkg.com/xml2js/-/xml2js-0.4.19.tgz#686c20f213209e94abf0d1bcf1efaa291c7827a7" @@ -12609,6 +13437,11 @@ yauzl@^2.4.2: buffer-crc32 "~0.2.3" fd-slicer "~1.1.0" +year@^0.2.1: + version "0.2.1" + resolved "https://registry.yarnpkg.com/year/-/year-0.2.1.tgz#4083ae520a318b23ec86037f3000cb892bdf9bb0" + integrity sha1-QIOuUgoxiyPshgN/MADLiSvfm7A= + ylru@^1.2.0: version "1.2.1" resolved "https://registry.yarnpkg.com/ylru/-/ylru-1.2.1.tgz#f576b63341547989c1de7ba288760923b27fe84f" @@ -12630,7 +13463,7 @@ z-schema@^5.0.1: optionalDependencies: commander "^2.7.1" -zlib@1.0.5: +zlib@1.0.5, zlib@^1.0.5: version "1.0.5" resolved "https://registry.yarnpkg.com/zlib/-/zlib-1.0.5.tgz#6e7c972fc371c645a6afb03ab14769def114fcc0" integrity sha1-bnyXL8NxxkWmr7A6sUdp3vEU/MA= From 7dbb77fcffb8607a85fc2928a89d1bf956e4bbd4 Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Tue, 8 Feb 2022 16:06:53 +0000 Subject: [PATCH 089/176] v1.0.51 --- lerna.json | 2 +- packages/backend-core/package.json | 2 +- packages/bbui/package.json | 2 +- packages/builder/package.json | 8 ++++---- packages/cli/package.json | 2 +- packages/client/package.json | 6 +++--- packages/server/package.json | 8 ++++---- packages/string-templates/package.json | 2 +- packages/worker/package.json | 6 +++--- 9 files changed, 19 insertions(+), 19 deletions(-) diff --git a/lerna.json b/lerna.json index 72606c5445..d6d3327aed 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.0.50", + "version": "1.0.51", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index f9ddfee8c6..0cd9411b91 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.0.50", + "version": "1.0.51", "description": "Budibase backend core libraries used in server and worker", "main": "src/index.js", "author": "Budibase", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index 8c7a5cd21f..c0460535e6 100644 --- a/packages/bbui/package.json +++ b/packages/bbui/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/bbui", "description": "A UI solution used in the different Budibase projects.", - "version": "1.0.50", + "version": "1.0.51", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", diff --git a/packages/builder/package.json b/packages/builder/package.json index b8f9d6cf42..d980261589 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.0.50", + "version": "1.0.51", "license": "GPL-3.0", "private": true, "scripts": { @@ -66,10 +66,10 @@ } }, "dependencies": { - "@budibase/bbui": "^1.0.50", - "@budibase/client": "^1.0.50", + "@budibase/bbui": "^1.0.51", + "@budibase/client": "^1.0.51", "@budibase/colorpicker": "1.1.2", - "@budibase/string-templates": "^1.0.50", + "@budibase/string-templates": "^1.0.51", "@sentry/browser": "5.19.1", "@spectrum-css/page": "^3.0.1", "@spectrum-css/vars": "^3.0.1", diff --git a/packages/cli/package.json b/packages/cli/package.json index 1612eed578..fbc48ee482 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.0.50", + "version": "1.0.51", "description": "Budibase CLI, for developers, self hosting and migrations.", "main": "src/index.js", "bin": { diff --git a/packages/client/package.json b/packages/client/package.json index 98da2bc86b..79ba106fdc 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.0.50", + "version": "1.0.51", "license": "MPL-2.0", "module": "dist/budibase-client.js", "main": "dist/budibase-client.js", @@ -19,9 +19,9 @@ "dev:builder": "rollup -cw" }, "dependencies": { - "@budibase/bbui": "^1.0.50", + "@budibase/bbui": "^1.0.51", "@budibase/standard-components": "^0.9.139", - "@budibase/string-templates": "^1.0.50", + "@budibase/string-templates": "^1.0.51", "regexparam": "^1.3.0", "rollup-plugin-polyfill-node": "^0.8.0", "shortid": "^2.2.15", diff --git a/packages/server/package.json b/packages/server/package.json index 4f954e686e..1d0773929b 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.0.50", + "version": "1.0.51", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -70,9 +70,9 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "^10.0.3", - "@budibase/backend-core": "^1.0.50", - "@budibase/client": "^1.0.50", - "@budibase/string-templates": "^1.0.50", + "@budibase/backend-core": "^1.0.51", + "@budibase/client": "^1.0.51", + "@budibase/string-templates": "^1.0.51", "@bull-board/api": "^3.7.0", "@bull-board/koa": "^3.7.0", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index 78e94da187..a4fd1ef00a 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.0.50", + "version": "1.0.51", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/worker/package.json b/packages/worker/package.json index 8e97e873bf..788d8ecadb 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.0.50", + "version": "1.0.51", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -34,8 +34,8 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "^1.0.50", - "@budibase/string-templates": "^1.0.50", + "@budibase/backend-core": "^1.0.51", + "@budibase/string-templates": "^1.0.51", "@koa/router": "^8.0.0", "@sentry/node": "^6.0.0", "@techpass/passport-openidconnect": "^0.3.0", From d13985af3feb7213d76fe486b8f3e158bf8c8335 Mon Sep 17 00:00:00 2001 From: mike12345567 Date: Tue, 8 Feb 2022 16:15:08 +0000 Subject: [PATCH 090/176] Fix for #3758 - updating the datetime cell renderer and form component to be capable of display time only formats, as well as adding an option to only select the time component for a date time form field. --- packages/bbui/src/Form/Core/DatePicker.svelte | 129 ++++++++++-------- packages/bbui/src/Form/DatePicker.svelte | 2 + .../bbui/src/Table/DateTimeRenderer.svelte | 11 +- packages/client/manifest.json | 6 + .../components/app/forms/DateTimeField.svelte | 2 + .../scripts/integrations/mssql/data/setup.sql | 8 +- .../scripts/integrations/mysql/init.sql | 6 + 7 files changed, 100 insertions(+), 64 deletions(-) diff --git a/packages/bbui/src/Form/Core/DatePicker.svelte b/packages/bbui/src/Form/Core/DatePicker.svelte index 8edb68a38e..69bfdda72a 100644 --- a/packages/bbui/src/Form/Core/DatePicker.svelte +++ b/packages/bbui/src/Form/Core/DatePicker.svelte @@ -14,16 +14,20 @@ export let value = null export let placeholder = null export let appendTo = undefined + export let timeOnly = false const dispatch = createEventDispatcher() const flatpickrId = `${generateID()}-wrapper` let open = false - let flatpickr + let flatpickr, flatpickrOptions, isTimeOnly + + $: isTimeOnly = !timeOnly && value ? !isNaN(new Date(`0-${value}`)) : timeOnly $: flatpickrOptions = { element: `#${flatpickrId}`, - enableTime: enableTime || false, + enableTime: isTimeOnly || enableTime || false, + noCalendar: isTimeOnly || false, altInput: true, - altFormat: enableTime ? "F j Y, H:i" : "F j, Y", + altFormat: isTimeOnly ? "H:i" : enableTime ? "F j Y, H:i" : "F j, Y", wrap: true, appendTo, disableMobile: "true", @@ -35,6 +39,11 @@ if (newValue) { newValue = newValue.toISOString() } + // if time only set date component to today + if (timeOnly) { + const todayDate = new Date().toISOString().split("T")[0] + newValue = `${todayDate}T${newValue.split("T")[1]}` + } dispatch("change", newValue) } @@ -67,7 +76,11 @@ return null } let date - if (val instanceof Date) { + let time = new Date(`0-${val}`) + // it is a string like 00:00:00, just time + if (timeOnly || (typeof val === "string" && !isNaN(time))) { + date = time + } else if (val instanceof Date) { // Use real date obj if already parsed date = val } else if (isNaN(val)) { @@ -77,7 +90,7 @@ // Treat as numerical timestamp date = new Date(parseInt(val)) } - const time = date.getTime() + time = date.getTime() if (isNaN(time)) { return null } @@ -88,69 +101,71 @@ } - -
    - {#if !!error} +
    + {#if !!error} + + {/if} + +
    +
    - -
    -
    + +{/key} {#if open}
    {/if} diff --git a/packages/bbui/src/Form/DatePicker.svelte b/packages/bbui/src/Form/DatePicker.svelte index 7d5656a22d..9298c49177 100644 --- a/packages/bbui/src/Form/DatePicker.svelte +++ b/packages/bbui/src/Form/DatePicker.svelte @@ -9,6 +9,7 @@ export let disabled = false export let error = null export let enableTime = true + export let timeOnly = false export let placeholder = null export let appendTo = undefined @@ -27,6 +28,7 @@ {value} {placeholder} {enableTime} + {timeOnly} {appendTo} on:change={onChange} /> diff --git a/packages/bbui/src/Table/DateTimeRenderer.svelte b/packages/bbui/src/Table/DateTimeRenderer.svelte index 8a06082d58..ff750cecd8 100644 --- a/packages/bbui/src/Table/DateTimeRenderer.svelte +++ b/packages/bbui/src/Table/DateTimeRenderer.svelte @@ -2,9 +2,18 @@ import dayjs from "dayjs" export let value + + // adding the 0- will turn a string like 00:00:00 into a valid ISO + // date, but will make actual ISO dates invalid + $: time = new Date(`0-${value}`) + $: isTime = !isNaN(time) -
    {dayjs(value).format("MMMM D YYYY, HH:mm")}
    +
    + {dayjs(isTime ? time : value).format( + isTime ? "HH:mm:ss" : "MMMM D YYYY, HH:mm" + )} +
    diff --git a/packages/builder/src/pages/builder/app/[application]/data/datasource/[selectedDatasource]/rest/[query]/index.svelte b/packages/builder/src/pages/builder/app/[application]/data/datasource/[selectedDatasource]/rest/[query]/index.svelte index a509574358..6025758e71 100644 --- a/packages/builder/src/pages/builder/app/[application]/data/datasource/[selectedDatasource]/rest/[query]/index.svelte +++ b/packages/builder/src/pages/builder/app/[application]/data/datasource/[selectedDatasource]/rest/[query]/index.svelte @@ -59,7 +59,9 @@ $: schemaReadOnly = !responseSuccess $: variablesReadOnly = !responseSuccess $: showVariablesTab = shouldShowVariables(dynamicVariables, variablesReadOnly) - $: hasSchema = !!query?.schema + $: hasSchema = + Object.keys(schema || {}).length !== 0 || + Object.keys(query?.schema || {}).length !== 0 function getSelectedQuery() { return cloneDeep( @@ -318,10 +320,8 @@ Date: Tue, 8 Feb 2022 17:19:05 +0000 Subject: [PATCH 092/176] v1.0.52 --- lerna.json | 2 +- packages/backend-core/package.json | 2 +- packages/bbui/package.json | 2 +- packages/builder/package.json | 8 ++++---- packages/cli/package.json | 2 +- packages/client/package.json | 6 +++--- packages/server/package.json | 8 ++++---- packages/string-templates/package.json | 2 +- packages/worker/package.json | 6 +++--- 9 files changed, 19 insertions(+), 19 deletions(-) diff --git a/lerna.json b/lerna.json index d6d3327aed..e1ff51aa67 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.0.51", + "version": "1.0.52", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index 0cd9411b91..7193c01b4e 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.0.51", + "version": "1.0.52", "description": "Budibase backend core libraries used in server and worker", "main": "src/index.js", "author": "Budibase", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index c0460535e6..402c667052 100644 --- a/packages/bbui/package.json +++ b/packages/bbui/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/bbui", "description": "A UI solution used in the different Budibase projects.", - "version": "1.0.51", + "version": "1.0.52", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", diff --git a/packages/builder/package.json b/packages/builder/package.json index d980261589..561a302dab 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.0.51", + "version": "1.0.52", "license": "GPL-3.0", "private": true, "scripts": { @@ -66,10 +66,10 @@ } }, "dependencies": { - "@budibase/bbui": "^1.0.51", - "@budibase/client": "^1.0.51", + "@budibase/bbui": "^1.0.52", + "@budibase/client": "^1.0.52", "@budibase/colorpicker": "1.1.2", - "@budibase/string-templates": "^1.0.51", + "@budibase/string-templates": "^1.0.52", "@sentry/browser": "5.19.1", "@spectrum-css/page": "^3.0.1", "@spectrum-css/vars": "^3.0.1", diff --git a/packages/cli/package.json b/packages/cli/package.json index fbc48ee482..49dcb3abd8 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.0.51", + "version": "1.0.52", "description": "Budibase CLI, for developers, self hosting and migrations.", "main": "src/index.js", "bin": { diff --git a/packages/client/package.json b/packages/client/package.json index 79ba106fdc..412bf723b6 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.0.51", + "version": "1.0.52", "license": "MPL-2.0", "module": "dist/budibase-client.js", "main": "dist/budibase-client.js", @@ -19,9 +19,9 @@ "dev:builder": "rollup -cw" }, "dependencies": { - "@budibase/bbui": "^1.0.51", + "@budibase/bbui": "^1.0.52", "@budibase/standard-components": "^0.9.139", - "@budibase/string-templates": "^1.0.51", + "@budibase/string-templates": "^1.0.52", "regexparam": "^1.3.0", "rollup-plugin-polyfill-node": "^0.8.0", "shortid": "^2.2.15", diff --git a/packages/server/package.json b/packages/server/package.json index 1d0773929b..e94c65eea6 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.0.51", + "version": "1.0.52", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -70,9 +70,9 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "^10.0.3", - "@budibase/backend-core": "^1.0.51", - "@budibase/client": "^1.0.51", - "@budibase/string-templates": "^1.0.51", + "@budibase/backend-core": "^1.0.52", + "@budibase/client": "^1.0.52", + "@budibase/string-templates": "^1.0.52", "@bull-board/api": "^3.7.0", "@bull-board/koa": "^3.7.0", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index 1b7618cdb5..4f88f8a5c2 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.0.51", + "version": "1.0.52", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/worker/package.json b/packages/worker/package.json index 788d8ecadb..a2f576c6f4 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.0.51", + "version": "1.0.52", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -34,8 +34,8 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "^1.0.51", - "@budibase/string-templates": "^1.0.51", + "@budibase/backend-core": "^1.0.52", + "@budibase/string-templates": "^1.0.52", "@koa/router": "^8.0.0", "@sentry/node": "^6.0.0", "@techpass/passport-openidconnect": "^0.3.0", From 07a285843e4d594a7b3bf2a586b39f4d0414b5cc Mon Sep 17 00:00:00 2001 From: mike12345567 Date: Tue, 8 Feb 2022 17:22:44 +0000 Subject: [PATCH 093/176] Fixing issue with isValid function found by testcase. --- packages/string-templates/src/index.js | 4 +++- packages/string-templates/src/processors/index.js | 6 +++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/packages/string-templates/src/index.js b/packages/string-templates/src/index.js index 093da977ea..7996bb9f1f 100644 --- a/packages/string-templates/src/index.js +++ b/packages/string-templates/src/index.js @@ -177,7 +177,9 @@ module.exports.isValid = (string, opts) => { const context = {} try { const instance = opts.noHelpers ? hbsInstanceNoHelpers : hbsInstance - instance.compile(processors.preprocess(string, false))(context) + instance.compile(processors.preprocess(string, { noFinalise: true }))( + context + ) return true } catch (err) { const msg = err && err.message ? err.message : err diff --git a/packages/string-templates/src/processors/index.js b/packages/string-templates/src/processors/index.js index 257dca7aec..aae18aed8b 100644 --- a/packages/string-templates/src/processors/index.js +++ b/packages/string-templates/src/processors/index.js @@ -23,9 +23,13 @@ function process(output, processors, opts) { module.exports.preprocess = (string, opts) => { let processors = preprocessor.processors + if (opts.noFinalise) { + processors = processors.filter( + processor => processor.name !== preprocessor.PreprocessorNames.FINALISE + ) + } return process(string, processors, opts) } - module.exports.postprocess = string => { let processors = postprocessor.processors return process(string, processors) From 2e8aa2d80d1521250bdde5bba2a6e3ef283d5c2b Mon Sep 17 00:00:00 2001 From: mike12345567 Date: Tue, 8 Feb 2022 17:41:54 +0000 Subject: [PATCH 094/176] Fixing test case. --- packages/string-templates/test/helpers.spec.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/string-templates/test/helpers.spec.js b/packages/string-templates/test/helpers.spec.js index b4179475fb..0d39660d59 100644 --- a/packages/string-templates/test/helpers.spec.js +++ b/packages/string-templates/test/helpers.spec.js @@ -20,7 +20,7 @@ describe("test that it can run without helpers", () => { ) const valid = await processString("{{ avg 1 1 1 }}", {}) expect(valid).toBe("1") - expect(output).toBe("{{ avg 1 1 1 }}") + expect(output).toBe("") }) }) From 951a1ba3d20a3e9f96fed2c1b8e02dd43ab48b88 Mon Sep 17 00:00:00 2001 From: Martin McKeaveney Date: Wed, 9 Feb 2022 15:20:09 +0100 Subject: [PATCH 095/176] Update deploy-preprod.yml Temporary fix in deliverybot helm action --- .github/workflows/deploy-preprod.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/deploy-preprod.yml b/.github/workflows/deploy-preprod.yml index 5b3282313c..10fadc36c5 100644 --- a/.github/workflows/deploy-preprod.yml +++ b/.github/workflows/deploy-preprod.yml @@ -38,7 +38,7 @@ jobs: wc -l values.preprod.yaml - name: Deploy to Preprod Environment - uses: deliverybot/helm@v1 + uses: glopezep/helm@v1.7.1 with: release: budibase-preprod namespace: budibase From c941ecad1e222ca7ed1bacba96863ad6a99d07ac Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Wed, 9 Feb 2022 14:27:35 +0000 Subject: [PATCH 096/176] v1.0.53 --- lerna.json | 2 +- packages/backend-core/package.json | 2 +- packages/bbui/package.json | 2 +- packages/builder/package.json | 8 ++++---- packages/cli/package.json | 2 +- packages/client/package.json | 6 +++--- packages/server/package.json | 8 ++++---- packages/string-templates/package.json | 2 +- packages/worker/package.json | 6 +++--- 9 files changed, 19 insertions(+), 19 deletions(-) diff --git a/lerna.json b/lerna.json index e1ff51aa67..c4a8ecfdfb 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.0.52", + "version": "1.0.53", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index 7193c01b4e..d336cb6f77 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.0.52", + "version": "1.0.53", "description": "Budibase backend core libraries used in server and worker", "main": "src/index.js", "author": "Budibase", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index 402c667052..da503b2f2a 100644 --- a/packages/bbui/package.json +++ b/packages/bbui/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/bbui", "description": "A UI solution used in the different Budibase projects.", - "version": "1.0.52", + "version": "1.0.53", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", diff --git a/packages/builder/package.json b/packages/builder/package.json index 561a302dab..18b4eb1fe0 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.0.52", + "version": "1.0.53", "license": "GPL-3.0", "private": true, "scripts": { @@ -66,10 +66,10 @@ } }, "dependencies": { - "@budibase/bbui": "^1.0.52", - "@budibase/client": "^1.0.52", + "@budibase/bbui": "^1.0.53", + "@budibase/client": "^1.0.53", "@budibase/colorpicker": "1.1.2", - "@budibase/string-templates": "^1.0.52", + "@budibase/string-templates": "^1.0.53", "@sentry/browser": "5.19.1", "@spectrum-css/page": "^3.0.1", "@spectrum-css/vars": "^3.0.1", diff --git a/packages/cli/package.json b/packages/cli/package.json index 49dcb3abd8..933429b58b 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.0.52", + "version": "1.0.53", "description": "Budibase CLI, for developers, self hosting and migrations.", "main": "src/index.js", "bin": { diff --git a/packages/client/package.json b/packages/client/package.json index 412bf723b6..f29e14696d 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.0.52", + "version": "1.0.53", "license": "MPL-2.0", "module": "dist/budibase-client.js", "main": "dist/budibase-client.js", @@ -19,9 +19,9 @@ "dev:builder": "rollup -cw" }, "dependencies": { - "@budibase/bbui": "^1.0.52", + "@budibase/bbui": "^1.0.53", "@budibase/standard-components": "^0.9.139", - "@budibase/string-templates": "^1.0.52", + "@budibase/string-templates": "^1.0.53", "regexparam": "^1.3.0", "rollup-plugin-polyfill-node": "^0.8.0", "shortid": "^2.2.15", diff --git a/packages/server/package.json b/packages/server/package.json index e94c65eea6..1d9cdae997 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.0.52", + "version": "1.0.53", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -70,9 +70,9 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "^10.0.3", - "@budibase/backend-core": "^1.0.52", - "@budibase/client": "^1.0.52", - "@budibase/string-templates": "^1.0.52", + "@budibase/backend-core": "^1.0.53", + "@budibase/client": "^1.0.53", + "@budibase/string-templates": "^1.0.53", "@bull-board/api": "^3.7.0", "@bull-board/koa": "^3.7.0", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index 4f88f8a5c2..475eba9ad5 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.0.52", + "version": "1.0.53", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/worker/package.json b/packages/worker/package.json index a2f576c6f4..fd9070dc6f 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.0.52", + "version": "1.0.53", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -34,8 +34,8 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "^1.0.52", - "@budibase/string-templates": "^1.0.52", + "@budibase/backend-core": "^1.0.53", + "@budibase/string-templates": "^1.0.53", "@koa/router": "^8.0.0", "@sentry/node": "^6.0.0", "@techpass/passport-openidconnect": "^0.3.0", From fcddaf1f7304b40036b0f303c0f14487fb6fe78c Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Wed, 9 Feb 2022 14:38:55 +0000 Subject: [PATCH 097/176] v1.0.50-alpha.5 --- lerna.json | 2 +- packages/backend-core/package.json | 2 +- packages/bbui/package.json | 2 +- packages/builder/package.json | 8 ++++---- packages/cli/package.json | 2 +- packages/client/package.json | 6 +++--- packages/server/package.json | 8 ++++---- packages/string-templates/package.json | 2 +- packages/worker/package.json | 6 +++--- 9 files changed, 19 insertions(+), 19 deletions(-) diff --git a/lerna.json b/lerna.json index a9e7e849df..ef5aa714e6 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.0.50-alpha.4", + "version": "1.0.50-alpha.5", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index b89fdbe593..ffb8277464 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.0.50-alpha.4", + "version": "1.0.50-alpha.5", "description": "Budibase backend core libraries used in server and worker", "main": "src/index.js", "author": "Budibase", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index 5de946fbcf..f9be4f22de 100644 --- a/packages/bbui/package.json +++ b/packages/bbui/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/bbui", "description": "A UI solution used in the different Budibase projects.", - "version": "1.0.50-alpha.4", + "version": "1.0.50-alpha.5", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", diff --git a/packages/builder/package.json b/packages/builder/package.json index b23b854587..bc4db6629c 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.0.50-alpha.4", + "version": "1.0.50-alpha.5", "license": "GPL-3.0", "private": true, "scripts": { @@ -66,10 +66,10 @@ } }, "dependencies": { - "@budibase/bbui": "^1.0.50-alpha.4", - "@budibase/client": "^1.0.50-alpha.4", + "@budibase/bbui": "^1.0.50-alpha.5", + "@budibase/client": "^1.0.50-alpha.5", "@budibase/colorpicker": "1.1.2", - "@budibase/string-templates": "^1.0.50-alpha.4", + "@budibase/string-templates": "^1.0.50-alpha.5", "@sentry/browser": "5.19.1", "@spectrum-css/page": "^3.0.1", "@spectrum-css/vars": "^3.0.1", diff --git a/packages/cli/package.json b/packages/cli/package.json index b14d4d311f..8a1ce573ff 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.0.50-alpha.4", + "version": "1.0.50-alpha.5", "description": "Budibase CLI, for developers, self hosting and migrations.", "main": "src/index.js", "bin": { diff --git a/packages/client/package.json b/packages/client/package.json index 56e33b4009..5e3bc9b373 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.0.50-alpha.4", + "version": "1.0.50-alpha.5", "license": "MPL-2.0", "module": "dist/budibase-client.js", "main": "dist/budibase-client.js", @@ -19,9 +19,9 @@ "dev:builder": "rollup -cw" }, "dependencies": { - "@budibase/bbui": "^1.0.50-alpha.4", + "@budibase/bbui": "^1.0.50-alpha.5", "@budibase/standard-components": "^0.9.139", - "@budibase/string-templates": "^1.0.50-alpha.4", + "@budibase/string-templates": "^1.0.50-alpha.5", "regexparam": "^1.3.0", "rollup-plugin-polyfill-node": "^0.8.0", "shortid": "^2.2.15", diff --git a/packages/server/package.json b/packages/server/package.json index ea07aed010..171f1b74bf 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.0.50-alpha.4", + "version": "1.0.50-alpha.5", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -70,9 +70,9 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "^10.0.3", - "@budibase/backend-core": "^1.0.50-alpha.4", - "@budibase/client": "^1.0.50-alpha.4", - "@budibase/string-templates": "^1.0.50-alpha.4", + "@budibase/backend-core": "^1.0.50-alpha.5", + "@budibase/client": "^1.0.50-alpha.5", + "@budibase/string-templates": "^1.0.50-alpha.5", "@bull-board/api": "^3.7.0", "@bull-board/koa": "^3.7.0", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index 4e25849374..725214d8e4 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.0.50-alpha.4", + "version": "1.0.50-alpha.5", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/worker/package.json b/packages/worker/package.json index 35f78c2c5b..4c0f682f28 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.0.50-alpha.4", + "version": "1.0.50-alpha.5", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -34,8 +34,8 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "^1.0.50-alpha.4", - "@budibase/string-templates": "^1.0.50-alpha.4", + "@budibase/backend-core": "^1.0.50-alpha.5", + "@budibase/string-templates": "^1.0.50-alpha.5", "@koa/router": "^8.0.0", "@sentry/node": "^6.0.0", "@techpass/passport-openidconnect": "^0.3.0", From 375deb5ee9c3898ebb7fa80cc0dec0a7cbe7dc9a Mon Sep 17 00:00:00 2001 From: Martin McKeaveney Date: Wed, 9 Feb 2022 15:41:20 +0100 Subject: [PATCH 098/176] fixing bug with gsheets --- .../backend/DatasourceNavigator/_components/GoogleButton.svelte | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/builder/src/components/backend/DatasourceNavigator/_components/GoogleButton.svelte b/packages/builder/src/components/backend/DatasourceNavigator/_components/GoogleButton.svelte index 091e332832..642aa548f2 100644 --- a/packages/builder/src/components/backend/DatasourceNavigator/_components/GoogleButton.svelte +++ b/packages/builder/src/components/backend/DatasourceNavigator/_components/GoogleButton.svelte @@ -17,7 +17,7 @@ ds = await preAuthStep() } window.open( - `/api/global/auth/${tenantId}/datasource/google?datasourceId=${datasource._id}&appId=${$store.appId}`, + `/api/global/auth/${tenantId}/datasource/google?datasourceId=${ds._id}&appId=${$store.appId}`, "_blank" ) }} From 3e146ee75a9afbaffb9a4b1f41c07cd6f994c0da Mon Sep 17 00:00:00 2001 From: mike12345567 Date: Wed, 9 Feb 2022 14:45:03 +0000 Subject: [PATCH 099/176] Increment core version. --- packages/frontend-core/package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json index 90c397d4c7..4f2770c71f 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/frontend-core", - "version": "1.0.50-alpha.4", + "version": "1.0.50-alpha.5", "description": "Budibase frontend core libraries used in builder and client", "author": "Budibase", "license": "MPL-2.0", From 18ea87e5e3a07b6b7a7ee319300656d732ced244 Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Wed, 9 Feb 2022 14:57:41 +0000 Subject: [PATCH 100/176] v1.0.54 --- lerna.json | 2 +- packages/backend-core/package.json | 2 +- packages/bbui/package.json | 2 +- packages/builder/package.json | 8 ++++---- packages/cli/package.json | 2 +- packages/client/package.json | 6 +++--- packages/server/package.json | 8 ++++---- packages/string-templates/package.json | 2 +- packages/worker/package.json | 6 +++--- 9 files changed, 19 insertions(+), 19 deletions(-) diff --git a/lerna.json b/lerna.json index c4a8ecfdfb..a6e21b178d 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.0.53", + "version": "1.0.54", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index d336cb6f77..9af8967ee3 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.0.53", + "version": "1.0.54", "description": "Budibase backend core libraries used in server and worker", "main": "src/index.js", "author": "Budibase", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index da503b2f2a..4c4e6cce41 100644 --- a/packages/bbui/package.json +++ b/packages/bbui/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/bbui", "description": "A UI solution used in the different Budibase projects.", - "version": "1.0.53", + "version": "1.0.54", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", diff --git a/packages/builder/package.json b/packages/builder/package.json index 18b4eb1fe0..a125f6635a 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.0.53", + "version": "1.0.54", "license": "GPL-3.0", "private": true, "scripts": { @@ -66,10 +66,10 @@ } }, "dependencies": { - "@budibase/bbui": "^1.0.53", - "@budibase/client": "^1.0.53", + "@budibase/bbui": "^1.0.54", + "@budibase/client": "^1.0.54", "@budibase/colorpicker": "1.1.2", - "@budibase/string-templates": "^1.0.53", + "@budibase/string-templates": "^1.0.54", "@sentry/browser": "5.19.1", "@spectrum-css/page": "^3.0.1", "@spectrum-css/vars": "^3.0.1", diff --git a/packages/cli/package.json b/packages/cli/package.json index 933429b58b..e827fcea12 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.0.53", + "version": "1.0.54", "description": "Budibase CLI, for developers, self hosting and migrations.", "main": "src/index.js", "bin": { diff --git a/packages/client/package.json b/packages/client/package.json index f29e14696d..74fe360d3a 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.0.53", + "version": "1.0.54", "license": "MPL-2.0", "module": "dist/budibase-client.js", "main": "dist/budibase-client.js", @@ -19,9 +19,9 @@ "dev:builder": "rollup -cw" }, "dependencies": { - "@budibase/bbui": "^1.0.53", + "@budibase/bbui": "^1.0.54", "@budibase/standard-components": "^0.9.139", - "@budibase/string-templates": "^1.0.53", + "@budibase/string-templates": "^1.0.54", "regexparam": "^1.3.0", "rollup-plugin-polyfill-node": "^0.8.0", "shortid": "^2.2.15", diff --git a/packages/server/package.json b/packages/server/package.json index 1d9cdae997..b17f421415 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.0.53", + "version": "1.0.54", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -70,9 +70,9 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "^10.0.3", - "@budibase/backend-core": "^1.0.53", - "@budibase/client": "^1.0.53", - "@budibase/string-templates": "^1.0.53", + "@budibase/backend-core": "^1.0.54", + "@budibase/client": "^1.0.54", + "@budibase/string-templates": "^1.0.54", "@bull-board/api": "^3.7.0", "@bull-board/koa": "^3.7.0", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index 475eba9ad5..443d6d448d 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.0.53", + "version": "1.0.54", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/worker/package.json b/packages/worker/package.json index fd9070dc6f..bd029153e4 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.0.53", + "version": "1.0.54", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -34,8 +34,8 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "^1.0.53", - "@budibase/string-templates": "^1.0.53", + "@budibase/backend-core": "^1.0.54", + "@budibase/string-templates": "^1.0.54", "@koa/router": "^8.0.0", "@sentry/node": "^6.0.0", "@techpass/passport-openidconnect": "^0.3.0", From 7ed0cb274a2d6d737340f2513a55db5cb15e31bf Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Wed, 9 Feb 2022 15:12:28 +0000 Subject: [PATCH 101/176] v1.0.50-alpha.6 --- lerna.json | 2 +- packages/backend-core/package.json | 2 +- packages/bbui/package.json | 2 +- packages/builder/package.json | 10 +++++----- packages/cli/package.json | 2 +- packages/client/package.json | 8 ++++---- packages/frontend-core/package.json | 4 ++-- packages/server/package.json | 8 ++++---- packages/string-templates/package.json | 2 +- packages/worker/package.json | 6 +++--- 10 files changed, 23 insertions(+), 23 deletions(-) diff --git a/lerna.json b/lerna.json index ef5aa714e6..b0db0bf381 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.0.50-alpha.5", + "version": "1.0.50-alpha.6", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index ffb8277464..55ca8c39c5 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.0.50-alpha.5", + "version": "1.0.50-alpha.6", "description": "Budibase backend core libraries used in server and worker", "main": "src/index.js", "author": "Budibase", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index f9be4f22de..9fb080e8c7 100644 --- a/packages/bbui/package.json +++ b/packages/bbui/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/bbui", "description": "A UI solution used in the different Budibase projects.", - "version": "1.0.50-alpha.5", + "version": "1.0.50-alpha.6", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", diff --git a/packages/builder/package.json b/packages/builder/package.json index 91e568da64..89f363231b 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.0.50-alpha.5", + "version": "1.0.50-alpha.6", "license": "GPL-3.0", "private": true, "scripts": { @@ -64,10 +64,10 @@ } }, "dependencies": { - "@budibase/bbui": "^1.0.50-alpha.5", - "@budibase/client": "^1.0.50-alpha.5", - "@budibase/frontend-core": "^1.0.50-alpha.5", - "@budibase/string-templates": "^1.0.50-alpha.5", + "@budibase/bbui": "^1.0.50-alpha.6", + "@budibase/client": "^1.0.50-alpha.6", + "@budibase/frontend-core": "^1.0.50-alpha.6", + "@budibase/string-templates": "^1.0.50-alpha.6", "@sentry/browser": "5.19.1", "@spectrum-css/page": "^3.0.1", "@spectrum-css/vars": "^3.0.1", diff --git a/packages/cli/package.json b/packages/cli/package.json index 8a1ce573ff..f2c3de30d6 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.0.50-alpha.5", + "version": "1.0.50-alpha.6", "description": "Budibase CLI, for developers, self hosting and migrations.", "main": "src/index.js", "bin": { diff --git a/packages/client/package.json b/packages/client/package.json index c1cd6aec73..ab5ce248ad 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.0.50-alpha.5", + "version": "1.0.50-alpha.6", "license": "MPL-2.0", "module": "dist/budibase-client.js", "main": "dist/budibase-client.js", @@ -19,9 +19,9 @@ "dev:builder": "rollup -cw" }, "dependencies": { - "@budibase/bbui": "^1.0.50-alpha.5", - "@budibase/frontend-core": "^1.0.50-alpha.5", - "@budibase/string-templates": "^1.0.50-alpha.5", + "@budibase/bbui": "^1.0.50-alpha.6", + "@budibase/frontend-core": "^1.0.50-alpha.6", + "@budibase/string-templates": "^1.0.50-alpha.6", "regexparam": "^1.3.0", "rollup-plugin-polyfill-node": "^0.8.0", "shortid": "^2.2.15", diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json index 4f2770c71f..62eeb4b8b1 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -1,12 +1,12 @@ { "name": "@budibase/frontend-core", - "version": "1.0.50-alpha.5", + "version": "1.0.50-alpha.6", "description": "Budibase frontend core libraries used in builder and client", "author": "Budibase", "license": "MPL-2.0", "svelte": "src/index.js", "dependencies": { - "@budibase/bbui": "^1.0.50-alpha.4", + "@budibase/bbui": "^1.0.50-alpha.6", "lodash": "^4.17.21", "svelte": "^3.46.2" } diff --git a/packages/server/package.json b/packages/server/package.json index 171f1b74bf..9fb110ca28 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.0.50-alpha.5", + "version": "1.0.50-alpha.6", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -70,9 +70,9 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "^10.0.3", - "@budibase/backend-core": "^1.0.50-alpha.5", - "@budibase/client": "^1.0.50-alpha.5", - "@budibase/string-templates": "^1.0.50-alpha.5", + "@budibase/backend-core": "^1.0.50-alpha.6", + "@budibase/client": "^1.0.50-alpha.6", + "@budibase/string-templates": "^1.0.50-alpha.6", "@bull-board/api": "^3.7.0", "@bull-board/koa": "^3.7.0", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index 725214d8e4..a5714c0f89 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.0.50-alpha.5", + "version": "1.0.50-alpha.6", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/worker/package.json b/packages/worker/package.json index 4c0f682f28..699b4abdf6 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.0.50-alpha.5", + "version": "1.0.50-alpha.6", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -34,8 +34,8 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "^1.0.50-alpha.5", - "@budibase/string-templates": "^1.0.50-alpha.5", + "@budibase/backend-core": "^1.0.50-alpha.6", + "@budibase/string-templates": "^1.0.50-alpha.6", "@koa/router": "^8.0.0", "@sentry/node": "^6.0.0", "@techpass/passport-openidconnect": "^0.3.0", From 08a3ae0e7c93b60dc1ad1d6eb43a60e0d467126b Mon Sep 17 00:00:00 2001 From: Martin McKeaveney Date: Wed, 9 Feb 2022 18:33:29 +0100 Subject: [PATCH 102/176] use env platform URL for datasource auth to prevent tenant overrides --- .../src/middleware/passport/datasource/google.js | 12 +++--------- packages/worker/src/api/routes/global/auth.js | 5 +++++ 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/packages/backend-core/src/middleware/passport/datasource/google.js b/packages/backend-core/src/middleware/passport/datasource/google.js index bfc2e4a61e..dfa3c647a0 100644 --- a/packages/backend-core/src/middleware/passport/datasource/google.js +++ b/packages/backend-core/src/middleware/passport/datasource/google.js @@ -4,6 +4,7 @@ const google = require("../google") const { Configs, Cookies } = require("../../../constants") const { clearCookie, getCookie } = require("../../../utils") const { getDB } = require("../../../db") +const environment = require("../../../environment") async function preAuth(passport, ctx, next) { const db = getGlobalDB() @@ -12,10 +13,7 @@ async function preAuth(passport, ctx, next) { type: Configs.GOOGLE, workspace: ctx.query.workspace, }) - const publicConfig = await getScopedConfig(db, { - type: Configs.SETTINGS, - }) - let callbackUrl = `${publicConfig.platformUrl}/api/global/auth/datasource/google/callback` + let callbackUrl = `${environment.PLATFORM_URL}/api/global/auth/datasource/google/callback` const strategy = await google.strategyFactory(config, callbackUrl) if (!ctx.query.appId || !ctx.query.datasourceId) { @@ -37,11 +35,7 @@ async function postAuth(passport, ctx, next) { workspace: ctx.query.workspace, }) - const publicConfig = await getScopedConfig(db, { - type: Configs.SETTINGS, - }) - - let callbackUrl = `${publicConfig.platformUrl}/api/global/auth/datasource/google/callback` + let callbackUrl = `${environment.PLATFORM_URL}/api/global/auth/datasource/google/callback` const strategy = await google.strategyFactory( config, callbackUrl, diff --git a/packages/worker/src/api/routes/global/auth.js b/packages/worker/src/api/routes/global/auth.js index 373bf5736a..cc00b4f82f 100644 --- a/packages/worker/src/api/routes/global/auth.js +++ b/packages/worker/src/api/routes/global/auth.js @@ -80,6 +80,11 @@ router updateTenant, authController.googleAuth ) + .get( + "/api/global/auth/:tenantId/datasource/:provider/callback", + updateTenant, + authController.datasourceAuth + ) .get( "/api/global/auth/:tenantId/oidc/configs/:configId", updateTenant, From a15268d6829f134eb9d2c4612efeacab30991bad Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Wed, 9 Feb 2022 17:41:16 +0000 Subject: [PATCH 103/176] v1.0.55 --- lerna.json | 2 +- packages/backend-core/package.json | 2 +- packages/bbui/package.json | 2 +- packages/builder/package.json | 8 ++++---- packages/cli/package.json | 2 +- packages/client/package.json | 6 +++--- packages/server/package.json | 8 ++++---- packages/string-templates/package.json | 2 +- packages/worker/package.json | 6 +++--- 9 files changed, 19 insertions(+), 19 deletions(-) diff --git a/lerna.json b/lerna.json index a6e21b178d..823a2a605e 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.0.54", + "version": "1.0.55", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index 9af8967ee3..ff96e93b20 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.0.54", + "version": "1.0.55", "description": "Budibase backend core libraries used in server and worker", "main": "src/index.js", "author": "Budibase", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index 4c4e6cce41..02968f1598 100644 --- a/packages/bbui/package.json +++ b/packages/bbui/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/bbui", "description": "A UI solution used in the different Budibase projects.", - "version": "1.0.54", + "version": "1.0.55", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", diff --git a/packages/builder/package.json b/packages/builder/package.json index a125f6635a..741c982e78 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.0.54", + "version": "1.0.55", "license": "GPL-3.0", "private": true, "scripts": { @@ -66,10 +66,10 @@ } }, "dependencies": { - "@budibase/bbui": "^1.0.54", - "@budibase/client": "^1.0.54", + "@budibase/bbui": "^1.0.55", + "@budibase/client": "^1.0.55", "@budibase/colorpicker": "1.1.2", - "@budibase/string-templates": "^1.0.54", + "@budibase/string-templates": "^1.0.55", "@sentry/browser": "5.19.1", "@spectrum-css/page": "^3.0.1", "@spectrum-css/vars": "^3.0.1", diff --git a/packages/cli/package.json b/packages/cli/package.json index e827fcea12..b6c51d6879 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.0.54", + "version": "1.0.55", "description": "Budibase CLI, for developers, self hosting and migrations.", "main": "src/index.js", "bin": { diff --git a/packages/client/package.json b/packages/client/package.json index 74fe360d3a..2294c82641 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.0.54", + "version": "1.0.55", "license": "MPL-2.0", "module": "dist/budibase-client.js", "main": "dist/budibase-client.js", @@ -19,9 +19,9 @@ "dev:builder": "rollup -cw" }, "dependencies": { - "@budibase/bbui": "^1.0.54", + "@budibase/bbui": "^1.0.55", "@budibase/standard-components": "^0.9.139", - "@budibase/string-templates": "^1.0.54", + "@budibase/string-templates": "^1.0.55", "regexparam": "^1.3.0", "rollup-plugin-polyfill-node": "^0.8.0", "shortid": "^2.2.15", diff --git a/packages/server/package.json b/packages/server/package.json index b17f421415..ba21e5d749 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.0.54", + "version": "1.0.55", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -70,9 +70,9 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "^10.0.3", - "@budibase/backend-core": "^1.0.54", - "@budibase/client": "^1.0.54", - "@budibase/string-templates": "^1.0.54", + "@budibase/backend-core": "^1.0.55", + "@budibase/client": "^1.0.55", + "@budibase/string-templates": "^1.0.55", "@bull-board/api": "^3.7.0", "@bull-board/koa": "^3.7.0", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index 443d6d448d..e8987c2cd3 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.0.54", + "version": "1.0.55", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/worker/package.json b/packages/worker/package.json index bd029153e4..621aae8dce 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.0.54", + "version": "1.0.55", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -34,8 +34,8 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "^1.0.54", - "@budibase/string-templates": "^1.0.54", + "@budibase/backend-core": "^1.0.55", + "@budibase/string-templates": "^1.0.55", "@koa/router": "^8.0.0", "@sentry/node": "^6.0.0", "@techpass/passport-openidconnect": "^0.3.0", From 611ca62c439fdae9c0bba0339faec3f2d09087c6 Mon Sep 17 00:00:00 2001 From: Maurits Lourens Date: Thu, 10 Feb 2022 09:25:13 +0100 Subject: [PATCH 104/176] Fix validation for query preview endpoint --- packages/server/src/api/controllers/query/validation.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/server/src/api/controllers/query/validation.js b/packages/server/src/api/controllers/query/validation.js index 4958433849..4486ff2307 100644 --- a/packages/server/src/api/controllers/query/validation.js +++ b/packages/server/src/api/controllers/query/validation.js @@ -33,6 +33,9 @@ exports.generateQueryPreviewValidation = () => { return joiValidator.body(Joi.object({ fields: Joi.object().required(), queryVerb: Joi.string().allow().required(), + name: Joi.string().required(), + flags: Joi.object().optional(), + schema: Joi.object().optional(), extra: Joi.object().optional(), datasourceId: Joi.string().required(), transformer: Joi.string().optional(), From 59197bcaec378eaf52441c759253a887d1470079 Mon Sep 17 00:00:00 2001 From: Maurits Lourens Date: Thu, 10 Feb 2022 10:22:57 +0100 Subject: [PATCH 105/176] add properties which are present when previewing an existing query --- packages/server/src/api/controllers/query/validation.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/server/src/api/controllers/query/validation.js b/packages/server/src/api/controllers/query/validation.js index 4486ff2307..515c7b591e 100644 --- a/packages/server/src/api/controllers/query/validation.js +++ b/packages/server/src/api/controllers/query/validation.js @@ -31,6 +31,9 @@ exports.generateQueryValidation = () => { exports.generateQueryPreviewValidation = () => { // prettier-ignore return joiValidator.body(Joi.object({ + _id: Joi.string().optional(), + _rev: Joi.string().optional(), + readable: Joi.boolean().optional(), fields: Joi.object().required(), queryVerb: Joi.string().allow().required(), name: Joi.string().required(), From 096672098214e389d467a4aae6cfb2c8a56fe0d4 Mon Sep 17 00:00:00 2001 From: Martin McKeaveney Date: Thu, 10 Feb 2022 10:28:46 +0100 Subject: [PATCH 106/176] use google env variable for client secret and ID, update helm chart to pass variables to worker --- charts/budibase/Chart.yaml | 4 +-- .../templates/worker-service-deployment.yaml | 4 +++ packages/backend-core/src/environment.js | 2 ++ .../middleware/passport/datasource/google.js | 26 ++++++++----------- 4 files changed, 19 insertions(+), 17 deletions(-) diff --git a/charts/budibase/Chart.yaml b/charts/budibase/Chart.yaml index 8c9d44f201..830c1b9f1d 100644 --- a/charts/budibase/Chart.yaml +++ b/charts/budibase/Chart.yaml @@ -11,8 +11,8 @@ sources: - https://github.com/Budibase/budibase - https://budibase.com type: application -version: 0.2.5 -appVersion: 1.0.25 +version: 0.2.6 +appVersion: 1.0.47 dependencies: - name: couchdb version: 3.3.4 diff --git a/charts/budibase/templates/worker-service-deployment.yaml b/charts/budibase/templates/worker-service-deployment.yaml index 8b6f5564ad..b6c757cb9f 100644 --- a/charts/budibase/templates/worker-service-deployment.yaml +++ b/charts/budibase/templates/worker-service-deployment.yaml @@ -111,6 +111,10 @@ spec: value: {{ .Values.globals.smtp.from | quote }} - name: APPS_URL value: http://app-service:{{ .Values.services.apps.port }} + - name: GOOGLE_CLIENT_ID + value: {{ .Values.globals.google.clientId | quote }} + - name: GOOGLE_CLIENT_SECRET + value: {{ .Values.globals.google.secret | quote }} image: budibase/worker:{{ .Values.globals.appVersion }} imagePullPolicy: Always name: bbworker diff --git a/packages/backend-core/src/environment.js b/packages/backend-core/src/environment.js index c26ad1c199..d112ad8599 100644 --- a/packages/backend-core/src/environment.js +++ b/packages/backend-core/src/environment.js @@ -11,6 +11,8 @@ module.exports = { COUCH_DB_URL: process.env.COUCH_DB_URL, COUCH_DB_USERNAME: process.env.COUCH_DB_USER, COUCH_DB_PASSWORD: process.env.COUCH_DB_PASSWORD, + GOOGLE_CLIENT_ID: process.env.GOOGLE_CLIENT_ID, + GOOGLE_CLIENT_SECRET: process.env.GOOGLE_CLIENT_SECRET, SALT_ROUNDS: process.env.SALT_ROUNDS, REDIS_URL: process.env.REDIS_URL, REDIS_PASSWORD: process.env.REDIS_PASSWORD, diff --git a/packages/backend-core/src/middleware/passport/datasource/google.js b/packages/backend-core/src/middleware/passport/datasource/google.js index dfa3c647a0..c7553cee50 100644 --- a/packages/backend-core/src/middleware/passport/datasource/google.js +++ b/packages/backend-core/src/middleware/passport/datasource/google.js @@ -1,20 +1,17 @@ -const { getScopedConfig } = require("../../../db/utils") -const { getGlobalDB } = require("../../../tenancy") const google = require("../google") -const { Configs, Cookies } = require("../../../constants") +const { Cookies } = require("../../../constants") const { clearCookie, getCookie } = require("../../../utils") const { getDB } = require("../../../db") const environment = require("../../../environment") async function preAuth(passport, ctx, next) { - const db = getGlobalDB() // get the relevant config - const config = await getScopedConfig(db, { - type: Configs.GOOGLE, - workspace: ctx.query.workspace, - }) + const googleConfig = { + clientID: environment.GOOGLE_CLIENT_ID, + clientSecret: environment.GOOGLE_CLIENT_SECRET, + } let callbackUrl = `${environment.PLATFORM_URL}/api/global/auth/datasource/google/callback` - const strategy = await google.strategyFactory(config, callbackUrl) + const strategy = await google.strategyFactory(googleConfig, callbackUrl) if (!ctx.query.appId || !ctx.query.datasourceId) { ctx.throw(400, "appId and datasourceId query params not present.") @@ -28,12 +25,11 @@ async function preAuth(passport, ctx, next) { } async function postAuth(passport, ctx, next) { - const db = getGlobalDB() - - const config = await getScopedConfig(db, { - type: Configs.GOOGLE, - workspace: ctx.query.workspace, - }) + // get the relevant config + const config = { + clientID: environment.GOOGLE_CLIENT_ID, + clientSecret: environment.GOOGLE_CLIENT_SECRET, + } let callbackUrl = `${environment.PLATFORM_URL}/api/global/auth/datasource/google/callback` const strategy = await google.strategyFactory( From 87db7db45653e5077042905e25143f6cad2bcf1d Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Thu, 10 Feb 2022 09:35:51 +0000 Subject: [PATCH 107/176] v1.0.56 --- lerna.json | 2 +- packages/backend-core/package.json | 2 +- packages/bbui/package.json | 2 +- packages/builder/package.json | 8 ++++---- packages/cli/package.json | 2 +- packages/client/package.json | 6 +++--- packages/server/package.json | 8 ++++---- packages/string-templates/package.json | 2 +- packages/worker/package.json | 6 +++--- 9 files changed, 19 insertions(+), 19 deletions(-) diff --git a/lerna.json b/lerna.json index 823a2a605e..b7afcd4472 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.0.55", + "version": "1.0.56", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index ff96e93b20..4b67e776f6 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.0.55", + "version": "1.0.56", "description": "Budibase backend core libraries used in server and worker", "main": "src/index.js", "author": "Budibase", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index 02968f1598..14d159c494 100644 --- a/packages/bbui/package.json +++ b/packages/bbui/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/bbui", "description": "A UI solution used in the different Budibase projects.", - "version": "1.0.55", + "version": "1.0.56", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", diff --git a/packages/builder/package.json b/packages/builder/package.json index 741c982e78..e1894b27b4 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.0.55", + "version": "1.0.56", "license": "GPL-3.0", "private": true, "scripts": { @@ -66,10 +66,10 @@ } }, "dependencies": { - "@budibase/bbui": "^1.0.55", - "@budibase/client": "^1.0.55", + "@budibase/bbui": "^1.0.56", + "@budibase/client": "^1.0.56", "@budibase/colorpicker": "1.1.2", - "@budibase/string-templates": "^1.0.55", + "@budibase/string-templates": "^1.0.56", "@sentry/browser": "5.19.1", "@spectrum-css/page": "^3.0.1", "@spectrum-css/vars": "^3.0.1", diff --git a/packages/cli/package.json b/packages/cli/package.json index b6c51d6879..e2059f3cf6 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.0.55", + "version": "1.0.56", "description": "Budibase CLI, for developers, self hosting and migrations.", "main": "src/index.js", "bin": { diff --git a/packages/client/package.json b/packages/client/package.json index 2294c82641..93ef06d078 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.0.55", + "version": "1.0.56", "license": "MPL-2.0", "module": "dist/budibase-client.js", "main": "dist/budibase-client.js", @@ -19,9 +19,9 @@ "dev:builder": "rollup -cw" }, "dependencies": { - "@budibase/bbui": "^1.0.55", + "@budibase/bbui": "^1.0.56", "@budibase/standard-components": "^0.9.139", - "@budibase/string-templates": "^1.0.55", + "@budibase/string-templates": "^1.0.56", "regexparam": "^1.3.0", "rollup-plugin-polyfill-node": "^0.8.0", "shortid": "^2.2.15", diff --git a/packages/server/package.json b/packages/server/package.json index ba21e5d749..ca47700608 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.0.55", + "version": "1.0.56", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -70,9 +70,9 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "^10.0.3", - "@budibase/backend-core": "^1.0.55", - "@budibase/client": "^1.0.55", - "@budibase/string-templates": "^1.0.55", + "@budibase/backend-core": "^1.0.56", + "@budibase/client": "^1.0.56", + "@budibase/string-templates": "^1.0.56", "@bull-board/api": "^3.7.0", "@bull-board/koa": "^3.7.0", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index e8987c2cd3..ee0077ee94 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.0.55", + "version": "1.0.56", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/worker/package.json b/packages/worker/package.json index 621aae8dce..3ebc4ec04d 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.0.55", + "version": "1.0.56", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -34,8 +34,8 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "^1.0.55", - "@budibase/string-templates": "^1.0.55", + "@budibase/backend-core": "^1.0.56", + "@budibase/string-templates": "^1.0.56", "@koa/router": "^8.0.0", "@sentry/node": "^6.0.0", "@techpass/passport-openidconnect": "^0.3.0", From d3c515eb8b068364c1df3a6aa80f8a00733b2dc2 Mon Sep 17 00:00:00 2001 From: Martin McKeaveney Date: Thu, 10 Feb 2022 11:34:50 +0100 Subject: [PATCH 108/176] only show gsheets in self host --- packages/server/src/api/controllers/integration.js | 1 - packages/server/src/integrations/index.ts | 8 ++++++-- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/packages/server/src/api/controllers/integration.js b/packages/server/src/api/controllers/integration.js index f1aafe7e45..75fd9ce80e 100644 --- a/packages/server/src/api/controllers/integration.js +++ b/packages/server/src/api/controllers/integration.js @@ -1,7 +1,6 @@ const { definitions } = require("../../integrations") exports.fetch = async function (ctx) { - // TODO: fetch these from a github repo etc ctx.status = 200 ctx.body = definitions } diff --git a/packages/server/src/integrations/index.ts b/packages/server/src/integrations/index.ts index 4679e658b6..00b00c25fb 100644 --- a/packages/server/src/integrations/index.ts +++ b/packages/server/src/integrations/index.ts @@ -11,6 +11,7 @@ const arangodb = require("./arangodb") const rest = require("./rest") const googlesheets = require("./googlesheets") const { SourceNames } = require("../definitions/datasource") +const environment = require("../environment") const DEFINITIONS = { [SourceNames.POSTGRES]: postgres.schema, @@ -24,7 +25,6 @@ const DEFINITIONS = { [SourceNames.MYSQL]: mysql.schema, [SourceNames.ARANGODB]: arangodb.schema, [SourceNames.REST]: rest.schema, - [SourceNames.GOOGLE_SHEETS]: googlesheets.schema, } const INTEGRATIONS = { @@ -39,7 +39,6 @@ const INTEGRATIONS = { [SourceNames.MYSQL]: mysql.integration, [SourceNames.ARANGODB]: arangodb.integration, [SourceNames.REST]: rest.integration, - [SourceNames.GOOGLE_SHEETS]: googlesheets.integration, } // optionally add oracle integration if the oracle binary can be installed @@ -49,6 +48,11 @@ if (!(process.arch === "arm64" && process.platform === "darwin")) { INTEGRATIONS[SourceNames.ORACLE] = oracle.integration } +if (environment.SELF_HOSTED) { + DEFINITIONS[SourceNames.GOOGLE_SHEETS] = googlesheets.schema + INTEGRATIONS[SourceNames.GOOGLE_SHEETS] = googlesheets.integration +} + module.exports = { definitions: DEFINITIONS, integrations: INTEGRATIONS, From 9852015cfa752005238a64a7315f2e4a3b016579 Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Thu, 10 Feb 2022 10:41:52 +0000 Subject: [PATCH 109/176] v1.0.57 --- lerna.json | 2 +- packages/backend-core/package.json | 2 +- packages/bbui/package.json | 2 +- packages/builder/package.json | 8 ++++---- packages/cli/package.json | 2 +- packages/client/package.json | 6 +++--- packages/server/package.json | 8 ++++---- packages/string-templates/package.json | 2 +- packages/worker/package.json | 6 +++--- 9 files changed, 19 insertions(+), 19 deletions(-) diff --git a/lerna.json b/lerna.json index b7afcd4472..832eb90564 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.0.56", + "version": "1.0.57", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index 4b67e776f6..a53a132f31 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.0.56", + "version": "1.0.57", "description": "Budibase backend core libraries used in server and worker", "main": "src/index.js", "author": "Budibase", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index 14d159c494..fe4ee39617 100644 --- a/packages/bbui/package.json +++ b/packages/bbui/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/bbui", "description": "A UI solution used in the different Budibase projects.", - "version": "1.0.56", + "version": "1.0.57", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", diff --git a/packages/builder/package.json b/packages/builder/package.json index e1894b27b4..8d391811c6 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.0.56", + "version": "1.0.57", "license": "GPL-3.0", "private": true, "scripts": { @@ -66,10 +66,10 @@ } }, "dependencies": { - "@budibase/bbui": "^1.0.56", - "@budibase/client": "^1.0.56", + "@budibase/bbui": "^1.0.57", + "@budibase/client": "^1.0.57", "@budibase/colorpicker": "1.1.2", - "@budibase/string-templates": "^1.0.56", + "@budibase/string-templates": "^1.0.57", "@sentry/browser": "5.19.1", "@spectrum-css/page": "^3.0.1", "@spectrum-css/vars": "^3.0.1", diff --git a/packages/cli/package.json b/packages/cli/package.json index e2059f3cf6..17360baeb1 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.0.56", + "version": "1.0.57", "description": "Budibase CLI, for developers, self hosting and migrations.", "main": "src/index.js", "bin": { diff --git a/packages/client/package.json b/packages/client/package.json index 93ef06d078..d3095ea74c 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.0.56", + "version": "1.0.57", "license": "MPL-2.0", "module": "dist/budibase-client.js", "main": "dist/budibase-client.js", @@ -19,9 +19,9 @@ "dev:builder": "rollup -cw" }, "dependencies": { - "@budibase/bbui": "^1.0.56", + "@budibase/bbui": "^1.0.57", "@budibase/standard-components": "^0.9.139", - "@budibase/string-templates": "^1.0.56", + "@budibase/string-templates": "^1.0.57", "regexparam": "^1.3.0", "rollup-plugin-polyfill-node": "^0.8.0", "shortid": "^2.2.15", diff --git a/packages/server/package.json b/packages/server/package.json index ca47700608..c939b23291 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.0.56", + "version": "1.0.57", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -70,9 +70,9 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "^10.0.3", - "@budibase/backend-core": "^1.0.56", - "@budibase/client": "^1.0.56", - "@budibase/string-templates": "^1.0.56", + "@budibase/backend-core": "^1.0.57", + "@budibase/client": "^1.0.57", + "@budibase/string-templates": "^1.0.57", "@bull-board/api": "^3.7.0", "@bull-board/koa": "^3.7.0", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index ee0077ee94..bbf5ec7690 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.0.56", + "version": "1.0.57", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/worker/package.json b/packages/worker/package.json index 3ebc4ec04d..29bff0d02d 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.0.56", + "version": "1.0.57", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -34,8 +34,8 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "^1.0.56", - "@budibase/string-templates": "^1.0.56", + "@budibase/backend-core": "^1.0.57", + "@budibase/string-templates": "^1.0.57", "@koa/router": "^8.0.0", "@sentry/node": "^6.0.0", "@techpass/passport-openidconnect": "^0.3.0", From 39a27d1daea31ac3ba33e0bd769898eee7b87473 Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Thu, 10 Feb 2022 11:03:45 +0000 Subject: [PATCH 110/176] v1.0.50-alpha.7 --- lerna.json | 2 +- packages/backend-core/package.json | 2 +- packages/bbui/package.json | 2 +- packages/builder/package.json | 10 +++++----- packages/cli/package.json | 2 +- packages/client/package.json | 8 ++++---- packages/frontend-core/package.json | 4 ++-- packages/server/package.json | 8 ++++---- packages/string-templates/package.json | 2 +- packages/worker/package.json | 6 +++--- 10 files changed, 23 insertions(+), 23 deletions(-) diff --git a/lerna.json b/lerna.json index b0db0bf381..a2955c907f 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.0.50-alpha.6", + "version": "1.0.50-alpha.7", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index 55ca8c39c5..943a02bb2f 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.0.50-alpha.6", + "version": "1.0.50-alpha.7", "description": "Budibase backend core libraries used in server and worker", "main": "src/index.js", "author": "Budibase", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index 9fb080e8c7..41e6eaeb17 100644 --- a/packages/bbui/package.json +++ b/packages/bbui/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/bbui", "description": "A UI solution used in the different Budibase projects.", - "version": "1.0.50-alpha.6", + "version": "1.0.50-alpha.7", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", diff --git a/packages/builder/package.json b/packages/builder/package.json index 89f363231b..416f6113d4 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.0.50-alpha.6", + "version": "1.0.50-alpha.7", "license": "GPL-3.0", "private": true, "scripts": { @@ -64,10 +64,10 @@ } }, "dependencies": { - "@budibase/bbui": "^1.0.50-alpha.6", - "@budibase/client": "^1.0.50-alpha.6", - "@budibase/frontend-core": "^1.0.50-alpha.6", - "@budibase/string-templates": "^1.0.50-alpha.6", + "@budibase/bbui": "^1.0.50-alpha.7", + "@budibase/client": "^1.0.50-alpha.7", + "@budibase/frontend-core": "^1.0.50-alpha.7", + "@budibase/string-templates": "^1.0.50-alpha.7", "@sentry/browser": "5.19.1", "@spectrum-css/page": "^3.0.1", "@spectrum-css/vars": "^3.0.1", diff --git a/packages/cli/package.json b/packages/cli/package.json index f2c3de30d6..62e1654c82 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.0.50-alpha.6", + "version": "1.0.50-alpha.7", "description": "Budibase CLI, for developers, self hosting and migrations.", "main": "src/index.js", "bin": { diff --git a/packages/client/package.json b/packages/client/package.json index ab5ce248ad..bc0d8812f7 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.0.50-alpha.6", + "version": "1.0.50-alpha.7", "license": "MPL-2.0", "module": "dist/budibase-client.js", "main": "dist/budibase-client.js", @@ -19,9 +19,9 @@ "dev:builder": "rollup -cw" }, "dependencies": { - "@budibase/bbui": "^1.0.50-alpha.6", - "@budibase/frontend-core": "^1.0.50-alpha.6", - "@budibase/string-templates": "^1.0.50-alpha.6", + "@budibase/bbui": "^1.0.50-alpha.7", + "@budibase/frontend-core": "^1.0.50-alpha.7", + "@budibase/string-templates": "^1.0.50-alpha.7", "regexparam": "^1.3.0", "rollup-plugin-polyfill-node": "^0.8.0", "shortid": "^2.2.15", diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json index 62eeb4b8b1..915130cc8b 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -1,12 +1,12 @@ { "name": "@budibase/frontend-core", - "version": "1.0.50-alpha.6", + "version": "1.0.50-alpha.7", "description": "Budibase frontend core libraries used in builder and client", "author": "Budibase", "license": "MPL-2.0", "svelte": "src/index.js", "dependencies": { - "@budibase/bbui": "^1.0.50-alpha.6", + "@budibase/bbui": "^1.0.50-alpha.7", "lodash": "^4.17.21", "svelte": "^3.46.2" } diff --git a/packages/server/package.json b/packages/server/package.json index 9fb110ca28..a21e01027b 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.0.50-alpha.6", + "version": "1.0.50-alpha.7", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -70,9 +70,9 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "^10.0.3", - "@budibase/backend-core": "^1.0.50-alpha.6", - "@budibase/client": "^1.0.50-alpha.6", - "@budibase/string-templates": "^1.0.50-alpha.6", + "@budibase/backend-core": "^1.0.50-alpha.7", + "@budibase/client": "^1.0.50-alpha.7", + "@budibase/string-templates": "^1.0.50-alpha.7", "@bull-board/api": "^3.7.0", "@bull-board/koa": "^3.7.0", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index a5714c0f89..ef099a7050 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.0.50-alpha.6", + "version": "1.0.50-alpha.7", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/worker/package.json b/packages/worker/package.json index 699b4abdf6..e3bf0022d0 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.0.50-alpha.6", + "version": "1.0.50-alpha.7", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -34,8 +34,8 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "^1.0.50-alpha.6", - "@budibase/string-templates": "^1.0.50-alpha.6", + "@budibase/backend-core": "^1.0.50-alpha.7", + "@budibase/string-templates": "^1.0.50-alpha.7", "@koa/router": "^8.0.0", "@sentry/node": "^6.0.0", "@techpass/passport-openidconnect": "^0.3.0", From a0c703288c24cc2af7478f455cd4161a74b859a0 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Thu, 10 Feb 2022 11:46:57 +0000 Subject: [PATCH 111/176] Fix button layout in drawers --- packages/bbui/src/Drawer/Drawer.svelte | 8 ++++++++ .../PropertyControls/ColumnEditor/ColumnDrawer.svelte | 0 .../PropertyControls/ColumnEditor/ColumnEditor.svelte | 0 3 files changed, 8 insertions(+) create mode 100644 packages/builder/src/components/design/PropertiesPanel/PropertyControls/ColumnEditor/ColumnDrawer.svelte create mode 100644 packages/builder/src/components/design/PropertiesPanel/PropertyControls/ColumnEditor/ColumnEditor.svelte diff --git a/packages/bbui/src/Drawer/Drawer.svelte b/packages/bbui/src/Drawer/Drawer.svelte index 4bc8a69445..b4a73544c5 100644 --- a/packages/bbui/src/Drawer/Drawer.svelte +++ b/packages/bbui/src/Drawer/Drawer.svelte @@ -74,4 +74,12 @@ align-items: flex-start; gap: var(--spacing-xs); } + + .buttons { + display: flex; + flex-direction: row; + justify-content: flex-start; + align-items: center; + gap: var(--spacing-m); + } diff --git a/packages/builder/src/components/design/PropertiesPanel/PropertyControls/ColumnEditor/ColumnDrawer.svelte b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/ColumnEditor/ColumnDrawer.svelte new file mode 100644 index 0000000000..e69de29bb2 diff --git a/packages/builder/src/components/design/PropertiesPanel/PropertyControls/ColumnEditor/ColumnEditor.svelte b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/ColumnEditor/ColumnEditor.svelte new file mode 100644 index 0000000000..e69de29bb2 From b94ed3d23b3d156bc853ec5b8625a55f7666c5ba Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Thu, 10 Feb 2022 16:41:43 +0000 Subject: [PATCH 112/176] Add new setting component for configuring table column order and display names --- .../ColumnEditor/ColumnDrawer.svelte | 145 ++++++++++++++++++ .../ColumnEditor/ColumnEditor.svelte | 64 ++++++++ .../NavigationEditor/NavigationEditor.svelte | 2 +- .../PropertyControls/componentSettings.js | 2 + 4 files changed, 212 insertions(+), 1 deletion(-) diff --git a/packages/builder/src/components/design/PropertiesPanel/PropertyControls/ColumnEditor/ColumnDrawer.svelte b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/ColumnEditor/ColumnDrawer.svelte index e69de29bb2..00927d522d 100644 --- a/packages/builder/src/components/design/PropertiesPanel/PropertyControls/ColumnEditor/ColumnDrawer.svelte +++ b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/ColumnEditor/ColumnDrawer.svelte @@ -0,0 +1,145 @@ + + + +
    + + {#if columns?.length} +
    + {#each columns as column (column.id)} +
    +
    (dragDisabled = false)} + > + +
    + + removeColumn(column.id)} + /> +
    + {/each} +
    + {/if} +
    + +
    +
    +
    +
    + + diff --git a/packages/builder/src/components/design/PropertiesPanel/PropertyControls/ColumnEditor/ColumnEditor.svelte b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/ColumnEditor/ColumnEditor.svelte index e69de29bb2..8cebf5a657 100644 --- a/packages/builder/src/components/design/PropertiesPanel/PropertyControls/ColumnEditor/ColumnEditor.svelte +++ b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/ColumnEditor/ColumnEditor.svelte @@ -0,0 +1,64 @@ + + +Configure columns + + + Configure the columns in your table. + + + + diff --git a/packages/builder/src/components/design/PropertiesPanel/PropertyControls/NavigationEditor/NavigationEditor.svelte b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/NavigationEditor/NavigationEditor.svelte index 40357f50be..33a82d1886 100644 --- a/packages/builder/src/components/design/PropertiesPanel/PropertyControls/NavigationEditor/NavigationEditor.svelte +++ b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/NavigationEditor/NavigationEditor.svelte @@ -15,7 +15,7 @@ } -Configure Links +Configure links Configure the links in your navigation bar. diff --git a/packages/builder/src/components/design/PropertiesPanel/PropertyControls/componentSettings.js b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/componentSettings.js index 15aa670fa9..23a0a312bc 100644 --- a/packages/builder/src/components/design/PropertiesPanel/PropertyControls/componentSettings.js +++ b/packages/builder/src/components/design/PropertiesPanel/PropertyControls/componentSettings.js @@ -18,6 +18,7 @@ import OptionsEditor from "./OptionsEditor/OptionsEditor.svelte" import FormFieldSelect from "./FormFieldSelect.svelte" import ValidationEditor from "./ValidationEditor/ValidationEditor.svelte" import DrawerBindableCombobox from "components/common/bindings/DrawerBindableCombobox.svelte" +import ColumnEditor from "./ColumnEditor/ColumnEditor.svelte" const componentMap = { text: DrawerBindableCombobox, @@ -40,6 +41,7 @@ const componentMap = { navigation: NavigationEditor, filter: FilterEditor, url: URLSelect, + columns: ColumnEditor, "field/string": FormFieldSelect, "field/number": FormFieldSelect, "field/options": FormFieldSelect, From 5f72066dde3adda8da6029ad81f769fddf284422 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Thu, 10 Feb 2022 16:42:15 +0000 Subject: [PATCH 113/176] Update table component to use new settings component and support new column config setting structure --- packages/client/manifest.json | 5 ++--- .../client/src/components/app/table/Table.svelte | 16 ++++++++++++---- 2 files changed, 14 insertions(+), 7 deletions(-) diff --git a/packages/client/manifest.json b/packages/client/manifest.json index 06dbaad660..5d73d3b95c 100644 --- a/packages/client/manifest.json +++ b/packages/client/manifest.json @@ -2680,11 +2680,10 @@ "defaultValue": 8 }, { - "type": "multifield", + "type": "columns", "label": "Columns", "key": "columns", - "dependsOn": "dataProvider", - "placeholder": "All columns" + "dependsOn": "dataProvider" }, { "type": "select", diff --git a/packages/client/src/components/app/table/Table.svelte b/packages/client/src/components/app/table/Table.svelte index f462b93551..1662f5fa09 100644 --- a/packages/client/src/components/app/table/Table.svelte +++ b/packages/client/src/components/app/table/Table.svelte @@ -40,7 +40,8 @@ // Check for an invalid column selection let invalid = false customColumns?.forEach(column => { - if (schema[column] == null) { + const columnName = typeof column === "string" ? column : column.name + if (schema[columnName] == null) { invalid = true } }) @@ -75,9 +76,16 @@ } fields.forEach(field => { - newSchema[field] = schema[field] - if (schema[field] && UnsortableTypes.indexOf(schema[field].type) !== -1) { - newSchema[field].sortable = false + const columnName = typeof field === "string" ? field : field.name + if (!schema[columnName]) { + return + } + newSchema[columnName] = schema[columnName] + if (UnsortableTypes.includes(schema[columnName].type)) { + newSchema[columnName].sortable = false + } + if (field?.displayName) { + newSchema[columnName].displayName = field?.displayName } }) return newSchema From 7f7bd8f447b3a8e180e5e39afaa9a3aa439b2120 Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Thu, 10 Feb 2022 18:04:34 +0000 Subject: [PATCH 114/176] v1.0.58-alpha.0 --- lerna.json | 2 +- packages/backend-core/package.json | 2 +- packages/bbui/package.json | 2 +- packages/builder/package.json | 10 +++++----- packages/cli/package.json | 2 +- packages/client/package.json | 8 ++++---- packages/frontend-core/package.json | 4 ++-- packages/server/package.json | 8 ++++---- packages/string-templates/package.json | 2 +- packages/worker/package.json | 6 +++--- 10 files changed, 23 insertions(+), 23 deletions(-) diff --git a/lerna.json b/lerna.json index 832eb90564..6602c97ea5 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.0.57", + "version": "1.0.58-alpha.0", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index a53a132f31..e20988bfa3 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.0.57", + "version": "1.0.58-alpha.0", "description": "Budibase backend core libraries used in server and worker", "main": "src/index.js", "author": "Budibase", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index fe4ee39617..1f529e5115 100644 --- a/packages/bbui/package.json +++ b/packages/bbui/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/bbui", "description": "A UI solution used in the different Budibase projects.", - "version": "1.0.57", + "version": "1.0.58-alpha.0", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", diff --git a/packages/builder/package.json b/packages/builder/package.json index e1b8b9f114..b373c60687 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.0.57", + "version": "1.0.58-alpha.0", "license": "GPL-3.0", "private": true, "scripts": { @@ -64,10 +64,10 @@ } }, "dependencies": { - "@budibase/bbui": "^1.0.57", - "@budibase/client": "^1.0.57", - "@budibase/frontend-core": "^1.0.50-alpha.7", - "@budibase/string-templates": "^1.0.57", + "@budibase/bbui": "^1.0.58-alpha.0", + "@budibase/client": "^1.0.58-alpha.0", + "@budibase/frontend-core": "^1.0.58-alpha.0", + "@budibase/string-templates": "^1.0.58-alpha.0", "@sentry/browser": "5.19.1", "@spectrum-css/page": "^3.0.1", "@spectrum-css/vars": "^3.0.1", diff --git a/packages/cli/package.json b/packages/cli/package.json index 17360baeb1..2ff8dfeae6 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.0.57", + "version": "1.0.58-alpha.0", "description": "Budibase CLI, for developers, self hosting and migrations.", "main": "src/index.js", "bin": { diff --git a/packages/client/package.json b/packages/client/package.json index 8d2a1ca768..a584a82833 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.0.57", + "version": "1.0.58-alpha.0", "license": "MPL-2.0", "module": "dist/budibase-client.js", "main": "dist/budibase-client.js", @@ -19,9 +19,9 @@ "dev:builder": "rollup -cw" }, "dependencies": { - "@budibase/bbui": "^1.0.57", - "@budibase/frontend-core": "^1.0.50-alpha.7", - "@budibase/string-templates": "^1.0.57", + "@budibase/bbui": "^1.0.58-alpha.0", + "@budibase/frontend-core": "^1.0.58-alpha.0", + "@budibase/string-templates": "^1.0.58-alpha.0", "regexparam": "^1.3.0", "rollup-plugin-polyfill-node": "^0.8.0", "shortid": "^2.2.15", diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json index 915130cc8b..ee91dd93e5 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -1,12 +1,12 @@ { "name": "@budibase/frontend-core", - "version": "1.0.50-alpha.7", + "version": "1.0.58-alpha.0", "description": "Budibase frontend core libraries used in builder and client", "author": "Budibase", "license": "MPL-2.0", "svelte": "src/index.js", "dependencies": { - "@budibase/bbui": "^1.0.50-alpha.7", + "@budibase/bbui": "^1.0.58-alpha.0", "lodash": "^4.17.21", "svelte": "^3.46.2" } diff --git a/packages/server/package.json b/packages/server/package.json index c939b23291..fb271e360d 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.0.57", + "version": "1.0.58-alpha.0", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -70,9 +70,9 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "^10.0.3", - "@budibase/backend-core": "^1.0.57", - "@budibase/client": "^1.0.57", - "@budibase/string-templates": "^1.0.57", + "@budibase/backend-core": "^1.0.58-alpha.0", + "@budibase/client": "^1.0.58-alpha.0", + "@budibase/string-templates": "^1.0.58-alpha.0", "@bull-board/api": "^3.7.0", "@bull-board/koa": "^3.7.0", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index bbf5ec7690..0e71f85e84 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.0.57", + "version": "1.0.58-alpha.0", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/worker/package.json b/packages/worker/package.json index 29bff0d02d..d58cdbc3a3 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.0.57", + "version": "1.0.58-alpha.0", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -34,8 +34,8 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "^1.0.57", - "@budibase/string-templates": "^1.0.57", + "@budibase/backend-core": "^1.0.58-alpha.0", + "@budibase/string-templates": "^1.0.58-alpha.0", "@koa/router": "^8.0.0", "@sentry/node": "^6.0.0", "@techpass/passport-openidconnect": "^0.3.0", From 16106548acf5b2841d1a6021d1a94e1b94091ae1 Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Thu, 10 Feb 2022 18:13:24 +0000 Subject: [PATCH 115/176] v1.0.58 --- lerna.json | 2 +- packages/backend-core/package.json | 2 +- packages/bbui/package.json | 2 +- packages/builder/package.json | 10 +++++----- packages/cli/package.json | 2 +- packages/client/package.json | 8 ++++---- packages/frontend-core/package.json | 4 ++-- packages/server/package.json | 8 ++++---- packages/string-templates/package.json | 2 +- packages/worker/package.json | 6 +++--- 10 files changed, 23 insertions(+), 23 deletions(-) diff --git a/lerna.json b/lerna.json index 6602c97ea5..60a6d08176 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.0.58-alpha.0", + "version": "1.0.58", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index e20988bfa3..84d239e18c 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.0.58-alpha.0", + "version": "1.0.58", "description": "Budibase backend core libraries used in server and worker", "main": "src/index.js", "author": "Budibase", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index 1f529e5115..228b93ee22 100644 --- a/packages/bbui/package.json +++ b/packages/bbui/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/bbui", "description": "A UI solution used in the different Budibase projects.", - "version": "1.0.58-alpha.0", + "version": "1.0.58", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", diff --git a/packages/builder/package.json b/packages/builder/package.json index b373c60687..f1b5f1ef81 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.0.58-alpha.0", + "version": "1.0.58", "license": "GPL-3.0", "private": true, "scripts": { @@ -64,10 +64,10 @@ } }, "dependencies": { - "@budibase/bbui": "^1.0.58-alpha.0", - "@budibase/client": "^1.0.58-alpha.0", - "@budibase/frontend-core": "^1.0.58-alpha.0", - "@budibase/string-templates": "^1.0.58-alpha.0", + "@budibase/bbui": "^1.0.58", + "@budibase/client": "^1.0.58", + "@budibase/frontend-core": "^1.0.58", + "@budibase/string-templates": "^1.0.58", "@sentry/browser": "5.19.1", "@spectrum-css/page": "^3.0.1", "@spectrum-css/vars": "^3.0.1", diff --git a/packages/cli/package.json b/packages/cli/package.json index 2ff8dfeae6..47f20bd0ae 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.0.58-alpha.0", + "version": "1.0.58", "description": "Budibase CLI, for developers, self hosting and migrations.", "main": "src/index.js", "bin": { diff --git a/packages/client/package.json b/packages/client/package.json index a584a82833..ed8ced31af 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.0.58-alpha.0", + "version": "1.0.58", "license": "MPL-2.0", "module": "dist/budibase-client.js", "main": "dist/budibase-client.js", @@ -19,9 +19,9 @@ "dev:builder": "rollup -cw" }, "dependencies": { - "@budibase/bbui": "^1.0.58-alpha.0", - "@budibase/frontend-core": "^1.0.58-alpha.0", - "@budibase/string-templates": "^1.0.58-alpha.0", + "@budibase/bbui": "^1.0.58", + "@budibase/frontend-core": "^1.0.58", + "@budibase/string-templates": "^1.0.58", "regexparam": "^1.3.0", "rollup-plugin-polyfill-node": "^0.8.0", "shortid": "^2.2.15", diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json index ee91dd93e5..ca2742550a 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -1,12 +1,12 @@ { "name": "@budibase/frontend-core", - "version": "1.0.58-alpha.0", + "version": "1.0.58", "description": "Budibase frontend core libraries used in builder and client", "author": "Budibase", "license": "MPL-2.0", "svelte": "src/index.js", "dependencies": { - "@budibase/bbui": "^1.0.58-alpha.0", + "@budibase/bbui": "^1.0.58", "lodash": "^4.17.21", "svelte": "^3.46.2" } diff --git a/packages/server/package.json b/packages/server/package.json index fb271e360d..b06a939f59 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.0.58-alpha.0", + "version": "1.0.58", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -70,9 +70,9 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "^10.0.3", - "@budibase/backend-core": "^1.0.58-alpha.0", - "@budibase/client": "^1.0.58-alpha.0", - "@budibase/string-templates": "^1.0.58-alpha.0", + "@budibase/backend-core": "^1.0.58", + "@budibase/client": "^1.0.58", + "@budibase/string-templates": "^1.0.58", "@bull-board/api": "^3.7.0", "@bull-board/koa": "^3.7.0", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index 0e71f85e84..9fb3669b19 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.0.58-alpha.0", + "version": "1.0.58", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/worker/package.json b/packages/worker/package.json index d58cdbc3a3..044ddc2a53 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.0.58-alpha.0", + "version": "1.0.58", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -34,8 +34,8 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "^1.0.58-alpha.0", - "@budibase/string-templates": "^1.0.58-alpha.0", + "@budibase/backend-core": "^1.0.58", + "@budibase/string-templates": "^1.0.58", "@koa/router": "^8.0.0", "@sentry/node": "^6.0.0", "@techpass/passport-openidconnect": "^0.3.0", From 580bb89fda65bf48a4f660652ecc2c2e798e900d Mon Sep 17 00:00:00 2001 From: Martin McKeaveney Date: Fri, 11 Feb 2022 10:59:06 +0100 Subject: [PATCH 116/176] Create envoy.yaml --- hosting/envoy.yaml | 152 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 152 insertions(+) create mode 100644 hosting/envoy.yaml diff --git a/hosting/envoy.yaml b/hosting/envoy.yaml new file mode 100644 index 0000000000..d9f8384688 --- /dev/null +++ b/hosting/envoy.yaml @@ -0,0 +1,152 @@ +static_resources: + listeners: + - name: main_listener + address: + socket_address: { address: 0.0.0.0, port_value: 10000 } + filter_chains: + - filters: + - name: envoy.filters.network.http_connection_manager + typed_config: + "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager + stat_prefix: ingress + codec_type: auto + route_config: + name: local_route + virtual_hosts: + - name: local_services + domains: ["*"] + routes: + - match: { prefix: "/app/" } + route: + cluster: app-service + prefix_rewrite: "/" + + - match: { path: "/v1/update" } + route: + cluster: watchtower-service + + - match: { prefix: "/builder/" } + route: + cluster: app-service + + - match: { prefix: "/builder" } + route: + cluster: app-service + + - match: { prefix: "/app_" } + route: + cluster: app-service + + # special cases for worker admin (deprecated), global and system API + - match: { prefix: "/api/global/" } + route: + cluster: worker-service + + - match: { prefix: "/api/admin/" } + route: + cluster: worker-service + + - match: { prefix: "/api/system/" } + route: + cluster: worker-service + + - match: { path: "/" } + route: + cluster: app-service + + # special case for when API requests are made, can just forward, not to minio + - match: { prefix: "/api/" } + route: + cluster: app-service + timeout: 120s + + - match: { prefix: "/worker/" } + route: + cluster: worker-service + prefix_rewrite: "/" + + - match: { prefix: "/db/" } + route: + cluster: couchdb-service + prefix_rewrite: "/" + + # minio is on the default route because this works + # best, minio + AWS SDK doesn't handle path proxy + - match: { prefix: "/" } + route: + cluster: minio-service + + http_filters: + - name: envoy.filters.http.router + + clusters: + - name: app-service + connect_timeout: 0.25s + type: strict_dns + lb_policy: round_robin + load_assignment: + cluster_name: app-service + endpoints: + - lb_endpoints: + - endpoint: + address: + socket_address: + address: app-service + port_value: 4002 + + - name: minio-service + connect_timeout: 0.25s + type: strict_dns + lb_policy: round_robin + load_assignment: + cluster_name: minio-service + endpoints: + - lb_endpoints: + - endpoint: + address: + socket_address: + address: minio-service + port_value: 9000 + + - name: worker-service + connect_timeout: 0.25s + type: strict_dns + lb_policy: round_robin + load_assignment: + cluster_name: worker-service + endpoints: + - lb_endpoints: + - endpoint: + address: + socket_address: + address: worker-service + port_value: 4003 + + - name: couchdb-service + connect_timeout: 0.25s + type: strict_dns + lb_policy: round_robin + load_assignment: + cluster_name: couchdb-service + endpoints: + - lb_endpoints: + - endpoint: + address: + socket_address: + address: couchdb-service + port_value: 5984 + + - name: watchtower-service + connect_timeout: 0.25s + type: strict_dns + lb_policy: round_robin + load_assignment: + cluster_name: watchtower-service + endpoints: + - lb_endpoints: + - endpoint: + address: + socket_address: + address: watchtower-service + port_value: 8080 + From 130021681232bbc08c86085a7aef869cc69ec8c4 Mon Sep 17 00:00:00 2001 From: Martin McKeaveney Date: Fri, 11 Feb 2022 13:21:03 +0100 Subject: [PATCH 117/176] fix path in /app for k8s --- hosting/kubernetes/nginx/nginx.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosting/kubernetes/nginx/nginx.conf b/hosting/kubernetes/nginx/nginx.conf index 2bf512964b..7a84c0ee2e 100644 --- a/hosting/kubernetes/nginx/nginx.conf +++ b/hosting/kubernetes/nginx/nginx.conf @@ -45,7 +45,7 @@ http { add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://cdn.budi.live https://js.intercomcdn.com https://widget.intercom.io; style-src 'self' 'unsafe-inline' https://cdn.jsdelivr.net https://fonts.googleapis.com https://rsms.me; object-src 'none'; base-uri 'self'; connect-src 'self' https://api-iam.intercom.io https://app.posthog.com wss://nexus-websocket-a.intercom.io; font-src 'self' https://cdn.jsdelivr.net https://fonts.gstatic.com https://rsms.me; frame-src 'self'; img-src https: data:; manifest-src 'self'; media-src 'self'; worker-src 'none';" always; location /app { - proxy_pass http://app-service:4002; + proxy_pass http://app-service.budibase.svc.cluster.local:4002; rewrite ^/app/(.*)$ /$1 break; } From b2c4b60aff26aa615fff359c46f3138d169b79d2 Mon Sep 17 00:00:00 2001 From: Martin McKeaveney Date: Fri, 11 Feb 2022 13:22:14 +0100 Subject: [PATCH 118/176] fix for csp for images --- hosting/kubernetes/nginx/nginx.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosting/kubernetes/nginx/nginx.conf b/hosting/kubernetes/nginx/nginx.conf index 7a84c0ee2e..688b72a4df 100644 --- a/hosting/kubernetes/nginx/nginx.conf +++ b/hosting/kubernetes/nginx/nginx.conf @@ -42,7 +42,7 @@ http { add_header X-Frame-Options SAMEORIGIN always; add_header X-Content-Type-Options nosniff always; add_header X-XSS-Protection "1; mode=block" always; - add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://cdn.budi.live https://js.intercomcdn.com https://widget.intercom.io; style-src 'self' 'unsafe-inline' https://cdn.jsdelivr.net https://fonts.googleapis.com https://rsms.me; object-src 'none'; base-uri 'self'; connect-src 'self' https://api-iam.intercom.io https://app.posthog.com wss://nexus-websocket-a.intercom.io; font-src 'self' https://cdn.jsdelivr.net https://fonts.gstatic.com https://rsms.me; frame-src 'self'; img-src https: data:; manifest-src 'self'; media-src 'self'; worker-src 'none';" always; + add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://cdn.budi.live https://js.intercomcdn.com https://widget.intercom.io; style-src 'self' 'unsafe-inline' https://cdn.jsdelivr.net https://fonts.googleapis.com https://rsms.me; object-src 'none'; base-uri 'self'; connect-src 'self' https://api-iam.intercom.io https://app.posthog.com wss://nexus-websocket-a.intercom.io; font-src 'self' https://cdn.jsdelivr.net https://fonts.gstatic.com https://rsms.me; frame-src 'self'; img-src http: https: data:; manifest-src 'self'; media-src 'self'; worker-src 'none';" always; location /app { proxy_pass http://app-service.budibase.svc.cluster.local:4002; From 8f668eac856d573ca32600e2d27f1792df4858a1 Mon Sep 17 00:00:00 2001 From: Martin McKeaveney Date: Fri, 11 Feb 2022 13:23:53 +0100 Subject: [PATCH 119/176] add csp update for nginx in self host --- hosting/proxy/nginx.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosting/proxy/nginx.conf b/hosting/proxy/nginx.conf index 7a8a44e2d8..06283d579b 100644 --- a/hosting/proxy/nginx.conf +++ b/hosting/proxy/nginx.conf @@ -46,7 +46,7 @@ http { add_header X-Frame-Options SAMEORIGIN always; add_header X-Content-Type-Options nosniff always; add_header X-XSS-Protection "1; mode=block" always; - add_header Content-Security-Policy "default-src 'self'; script-src 'unsafe-inline' 'unsafe-eval' 'self' https://cdn.budi.live https://js.intercomcdn.com https://widget.intercom.io; style-src 'self' 'unsafe-inline' https://cdn.jsdelivr.net https://fonts.googleapis.com https://rsms.me; object-src 'none'; base-uri 'self'; connect-src 'self' https://api-iam.intercom.io https://app.posthog.com wss://nexus-websocket-a.intercom.io; font-src 'self' https://cdn.jsdelivr.net https://fonts.gstatic.com https://rsms.me; frame-src 'self'; img-src https: data:; manifest-src 'self'; media-src 'self'; worker-src 'none';" always; + add_header Content-Security-Policy "default-src 'self'; script-src 'unsafe-inline' 'unsafe-eval' 'self' https://cdn.budi.live https://js.intercomcdn.com https://widget.intercom.io; style-src 'self' 'unsafe-inline' https://cdn.jsdelivr.net https://fonts.googleapis.com https://rsms.me; object-src 'none'; base-uri 'self'; connect-src 'self' https://api-iam.intercom.io https://app.posthog.com wss://nexus-websocket-a.intercom.io; font-src 'self' https://cdn.jsdelivr.net https://fonts.gstatic.com https://rsms.me; frame-src 'self'; img-src http: https: data:; manifest-src 'self'; media-src 'self'; worker-src 'none';" always; location /app { proxy_pass http://app-service:4002; From 0716df50981729d8820395bf9517150a4b862410 Mon Sep 17 00:00:00 2001 From: mike12345567 Date: Fri, 11 Feb 2022 12:32:57 +0000 Subject: [PATCH 120/176] Fixing issue with CLI not updating proxy images. --- packages/cli/src/hosting/index.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/cli/src/hosting/index.js b/packages/cli/src/hosting/index.js index ecf3b710b2..2b147810b4 100644 --- a/packages/cli/src/hosting/index.js +++ b/packages/cli/src/hosting/index.js @@ -15,7 +15,7 @@ const makeEnv = require("./makeEnv") const axios = require("axios") const AnalyticsClient = require("../analytics/Client") -const BUDIBASE_SERVICES = ["app-service", "worker-service"] +const BUDIBASE_SERVICES = ["app-service", "worker-service", "proxy-service"] const ERROR_FILE = "docker-error.log" const FILE_URLS = [ "https://raw.githubusercontent.com/Budibase/budibase/master/hosting/docker-compose.yaml", From a78dd38a586926f68b649b0f1c94a9370ffb76e9 Mon Sep 17 00:00:00 2001 From: mike12345567 Date: Fri, 11 Feb 2022 13:23:15 +0000 Subject: [PATCH 121/176] Fixing img-src for self host. --- hosting/proxy/nginx.conf | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/hosting/proxy/nginx.conf b/hosting/proxy/nginx.conf index 06283d579b..4212a9e515 100644 --- a/hosting/proxy/nginx.conf +++ b/hosting/proxy/nginx.conf @@ -46,7 +46,7 @@ http { add_header X-Frame-Options SAMEORIGIN always; add_header X-Content-Type-Options nosniff always; add_header X-XSS-Protection "1; mode=block" always; - add_header Content-Security-Policy "default-src 'self'; script-src 'unsafe-inline' 'unsafe-eval' 'self' https://cdn.budi.live https://js.intercomcdn.com https://widget.intercom.io; style-src 'self' 'unsafe-inline' https://cdn.jsdelivr.net https://fonts.googleapis.com https://rsms.me; object-src 'none'; base-uri 'self'; connect-src 'self' https://api-iam.intercom.io https://app.posthog.com wss://nexus-websocket-a.intercom.io; font-src 'self' https://cdn.jsdelivr.net https://fonts.gstatic.com https://rsms.me; frame-src 'self'; img-src http: https: data:; manifest-src 'self'; media-src 'self'; worker-src 'none';" always; + add_header Content-Security-Policy "default-src 'self'; script-src 'unsafe-inline' 'unsafe-eval' 'self' https://cdn.budi.live https://js.intercomcdn.com https://widget.intercom.io; style-src 'self' 'unsafe-inline' https://cdn.jsdelivr.net https://fonts.googleapis.com https://rsms.me; object-src 'none'; base-uri 'self'; connect-src 'self' https://api-iam.intercom.io https://app.posthog.com wss://nexus-websocket-a.intercom.io; font-src 'self' https://cdn.jsdelivr.net https://fonts.gstatic.com https://rsms.me; frame-src 'self'; manifest-src 'self'; media-src 'self'; worker-src 'none';" always; location /app { proxy_pass http://app-service:4002; From f77b596a075fd2b3c6c484b6d8f63c982fe54807 Mon Sep 17 00:00:00 2001 From: mike12345567 Date: Fri, 11 Feb 2022 14:04:23 +0000 Subject: [PATCH 122/176] Fix for #4431 - converting SQL joins back to left joins, syntax specifying join type as string is old which doesn't work in latest versions of knex. --- .../api/controllers/row/ExternalRequest.ts | 2 +- packages/server/src/integrations/base/sql.ts | 68 ++++++++----------- 2 files changed, 29 insertions(+), 41 deletions(-) diff --git a/packages/server/src/api/controllers/row/ExternalRequest.ts b/packages/server/src/api/controllers/row/ExternalRequest.ts index 6aa51fb36b..c1181dd6d5 100644 --- a/packages/server/src/api/controllers/row/ExternalRequest.ts +++ b/packages/server/src/api/controllers/row/ExternalRequest.ts @@ -541,7 +541,7 @@ module External { if (!linkTable || !linkPrimary) { return } - const rows = related[key].rows || [] + const rows = related[key]?.rows || [] const found = rows.find( (row: { [key: string]: any }) => row[linkPrimary] === relationship.id || diff --git a/packages/server/src/integrations/base/sql.ts b/packages/server/src/integrations/base/sql.ts index a4220565cf..ce06624107 100644 --- a/packages/server/src/integrations/base/sql.ts +++ b/packages/server/src/integrations/base/sql.ts @@ -210,49 +210,37 @@ class InternalBuilder { const { toTable, throughTable } = JSON.parse(key) if (!throughTable) { // @ts-ignore - query = query.join( - toTable, - function () { - for (let relationship of relationships) { - const from = relationship.from, - to = relationship.to - // @ts-ignore - this.orOn(`${fromTable}.${from}`, "=", `${toTable}.${to}`) - } - }, - "left" - ) + query = query.leftJoin(toTable, function () { + for (let relationship of relationships) { + const from = relationship.from, + to = relationship.to + // @ts-ignore + this.orOn(`${fromTable}.${from}`, "=", `${toTable}.${to}`) + } + }) } else { query = query // @ts-ignore - .join( - throughTable, - function () { - for (let relationship of relationships) { - const fromPrimary = relationship.fromPrimary - const from = relationship.from - // @ts-ignore - this.orOn( - `${fromTable}.${fromPrimary}`, - "=", - `${throughTable}.${from}` - ) - } - }, - "left" - ) - .join( - toTable, - function () { - for (let relationship of relationships) { - const toPrimary = relationship.toPrimary - const to = relationship.to - // @ts-ignore - this.orOn(`${toTable}.${toPrimary}`, `${throughTable}.${to}`) - } - }, - "left" - ) + .leftJoin(throughTable, function () { + for (let relationship of relationships) { + const fromPrimary = relationship.fromPrimary + const from = relationship.from + // @ts-ignore + this.orOn( + `${fromTable}.${fromPrimary}`, + "=", + `${throughTable}.${from}` + ) + } + }) + .leftJoin(toTable, function () { + for (let relationship of relationships) { + const toPrimary = relationship.toPrimary + const to = relationship.to + // @ts-ignore + this.orOn(`${toTable}.${toPrimary}`, `${throughTable}.${to}`) + } + }) } } return query.limit(BASE_LIMIT) From 082be8ef67edc933152a0f476c419832d4f571f9 Mon Sep 17 00:00:00 2001 From: Martin McKeaveney Date: Fri, 11 Feb 2022 15:13:31 +0100 Subject: [PATCH 123/176] fix port redirection issue --- hosting/kubernetes/nginx/nginx.conf | 8 ++++++++ hosting/proxy/nginx.conf | 2 ++ 2 files changed, 10 insertions(+) diff --git a/hosting/kubernetes/nginx/nginx.conf b/hosting/kubernetes/nginx/nginx.conf index 688b72a4df..1598bf9909 100644 --- a/hosting/kubernetes/nginx/nginx.conf +++ b/hosting/kubernetes/nginx/nginx.conf @@ -25,6 +25,7 @@ http { client_max_body_size 1k; ignore_invalid_headers off; proxy_buffering off; + port_in_redirect off; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' @@ -36,6 +37,7 @@ http { server { listen 10000 default_server; + listen [::]:10000 default_server; server_name _; # Security Headers @@ -50,6 +52,12 @@ http { } location = / { + proxy_http_version 1.1; + proxy_set_header Connection $connection_upgrade; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://app-service.budibase.svc.cluster.local:4002; } diff --git a/hosting/proxy/nginx.conf b/hosting/proxy/nginx.conf index 06283d579b..b7ea9011c9 100644 --- a/hosting/proxy/nginx.conf +++ b/hosting/proxy/nginx.conf @@ -25,6 +25,7 @@ http { client_max_body_size 1k; ignore_invalid_headers off; proxy_buffering off; + port_in_redirect off; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' @@ -37,6 +38,7 @@ http { server { listen 10000 default_server; + listen [::]:10000 default_server; server_name _; client_max_body_size 1000m; ignore_invalid_headers off; From e1f78a326b9816ed610f8438475a61e49f14b295 Mon Sep 17 00:00:00 2001 From: Martin McKeaveney Date: Fri, 11 Feb 2022 15:39:18 +0100 Subject: [PATCH 124/176] set correct port for worker --- hosting/kubernetes/nginx/nginx.conf | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/hosting/kubernetes/nginx/nginx.conf b/hosting/kubernetes/nginx/nginx.conf index 1598bf9909..d88831e1c8 100644 --- a/hosting/kubernetes/nginx/nginx.conf +++ b/hosting/kubernetes/nginx/nginx.conf @@ -76,11 +76,11 @@ http { } location ~ ^/api/(system|admin|global)/ { - proxy_pass http://worker-service.budibase.svc.cluster.local:4003; + proxy_pass http://worker-service.budibase.svc.cluster.local:4001; } location /worker/ { - proxy_pass http://worker-service.budibase.svc.cluster.local:4003; + proxy_pass http://worker-service.budibase.svc.cluster.local:4001; rewrite ^/worker/(.*)$ /$1 break; } From 27c0eafaf9e647393b2af5f3b7033dc2c0540735 Mon Sep 17 00:00:00 2001 From: Martin McKeaveney Date: Fri, 11 Feb 2022 16:05:35 +0100 Subject: [PATCH 125/176] CSP fixes --- hosting/kubernetes/nginx/nginx.conf | 4 ++-- hosting/proxy/nginx.conf | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/hosting/kubernetes/nginx/nginx.conf b/hosting/kubernetes/nginx/nginx.conf index d88831e1c8..14593b6648 100644 --- a/hosting/kubernetes/nginx/nginx.conf +++ b/hosting/kubernetes/nginx/nginx.conf @@ -22,7 +22,7 @@ http { # buffering client_body_buffer_size 1K; client_header_buffer_size 1k; - client_max_body_size 1k; + client_max_body_size 10M; ignore_invalid_headers off; proxy_buffering off; port_in_redirect off; @@ -44,7 +44,7 @@ http { add_header X-Frame-Options SAMEORIGIN always; add_header X-Content-Type-Options nosniff always; add_header X-XSS-Protection "1; mode=block" always; - add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://cdn.budi.live https://js.intercomcdn.com https://widget.intercom.io; style-src 'self' 'unsafe-inline' https://cdn.jsdelivr.net https://fonts.googleapis.com https://rsms.me; object-src 'none'; base-uri 'self'; connect-src 'self' https://api-iam.intercom.io https://app.posthog.com wss://nexus-websocket-a.intercom.io; font-src 'self' https://cdn.jsdelivr.net https://fonts.gstatic.com https://rsms.me; frame-src 'self'; img-src http: https: data:; manifest-src 'self'; media-src 'self'; worker-src 'none';" always; + add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://cdn.budi.live https://js.intercomcdn.com https://widget.intercom.io; style-src 'self' 'unsafe-inline' https://cdn.jsdelivr.net https://fonts.googleapis.com https://rsms.me; object-src 'none'; base-uri 'self'; connect-src 'self' https://api-iam.intercom.io https://app.posthog.com wss://nexus-websocket-a.intercom.io; font-src 'self' data: https://cdn.jsdelivr.net https://fonts.gstatic.com https://rsms.me; frame-src 'self'; img-src http: https: data:; manifest-src 'self'; media-src 'self'; worker-src 'none';" always; location /app { proxy_pass http://app-service.budibase.svc.cluster.local:4002; diff --git a/hosting/proxy/nginx.conf b/hosting/proxy/nginx.conf index db5b907395..d07e5b0d44 100644 --- a/hosting/proxy/nginx.conf +++ b/hosting/proxy/nginx.conf @@ -48,7 +48,7 @@ http { add_header X-Frame-Options SAMEORIGIN always; add_header X-Content-Type-Options nosniff always; add_header X-XSS-Protection "1; mode=block" always; - add_header Content-Security-Policy "default-src 'self'; script-src 'unsafe-inline' 'unsafe-eval' 'self' https://cdn.budi.live https://js.intercomcdn.com https://widget.intercom.io; style-src 'self' 'unsafe-inline' https://cdn.jsdelivr.net https://fonts.googleapis.com https://rsms.me; object-src 'none'; base-uri 'self'; connect-src 'self' https://api-iam.intercom.io https://app.posthog.com wss://nexus-websocket-a.intercom.io; font-src 'self' https://cdn.jsdelivr.net https://fonts.gstatic.com https://rsms.me; frame-src 'self'; manifest-src 'self'; media-src 'self'; worker-src 'none';" always; + add_header Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval' https://cdn.budi.live https://js.intercomcdn.com https://widget.intercom.io; style-src 'self' 'unsafe-inline' https://cdn.jsdelivr.net https://fonts.googleapis.com https://rsms.me; object-src 'none'; base-uri 'self'; connect-src 'self' https://api-iam.intercom.io https://app.posthog.com wss://nexus-websocket-a.intercom.io; font-src 'self' data: https://cdn.jsdelivr.net https://fonts.gstatic.com https://rsms.me; frame-src 'self'; img-src http: https: data:; manifest-src 'self'; media-src 'self'; worker-src 'none';" always; location /app { proxy_pass http://app-service:4002; From a3626986a191dc704a7ec560d547cce9a396f554 Mon Sep 17 00:00:00 2001 From: Maurits Lourens Date: Fri, 11 Feb 2022 17:28:19 +0100 Subject: [PATCH 126/176] fix tests --- .../server/src/api/routes/tests/query.spec.js | 17 +++++++++++++---- .../src/tests/utilities/TestConfiguration.js | 1 + 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/packages/server/src/api/routes/tests/query.spec.js b/packages/server/src/api/routes/tests/query.spec.js index dac576836e..48e3181d10 100644 --- a/packages/server/src/api/routes/tests/query.spec.js +++ b/packages/server/src/api/routes/tests/query.spec.js @@ -169,6 +169,7 @@ describe("/queries", () => { parameters: {}, fields: {}, queryVerb: "read", + name: datasource.name, }) .set(config.defaultHeaders()) .expect("Content-Type", /json/) @@ -261,9 +262,13 @@ describe("/queries", () => { }) it("check that it automatically retries on fail with cached dynamics", async () => { - const { datasource, query: base } = await config.dynamicVariableDatasource() + const { datasource, query: base } = + await config.dynamicVariableDatasource() // preview once to cache - await preview(datasource, { path: "www.google.com", queryString: "test={{ variable3 }}" }) + await preview(datasource, { + path: "www.google.com", + queryString: "test={{ variable3 }}", + }) // check its in cache const contents = await checkCacheForDynamicVariable(base._id, "variable3") expect(contents.rows.length).toEqual(1) @@ -276,9 +281,13 @@ describe("/queries", () => { }) it("deletes variables when linked query is deleted", async () => { - const { datasource, query: base } = await config.dynamicVariableDatasource() + const { datasource, query: base } = + await config.dynamicVariableDatasource() // preview once to cache - await preview(datasource, { path: "www.google.com", queryString: "test={{ variable3 }}" }) + await preview(datasource, { + path: "www.google.com", + queryString: "test={{ variable3 }}", + }) // check its in cache let contents = await checkCacheForDynamicVariable(base._id, "variable3") expect(contents.rows.length).toEqual(1) diff --git a/packages/server/src/tests/utilities/TestConfiguration.js b/packages/server/src/tests/utilities/TestConfiguration.js index 6c2b7d4f98..1b3a91ceab 100644 --- a/packages/server/src/tests/utilities/TestConfiguration.js +++ b/packages/server/src/tests/utilities/TestConfiguration.js @@ -393,6 +393,7 @@ class TestConfiguration { parameters: {}, fields, queryVerb: "read", + name: datasource.name, }) .set(config.defaultHeaders()) .expect("Content-Type", /json/) From 7109b34ea3b88bdd3a18d6ed3e3e4a4cca156230 Mon Sep 17 00:00:00 2001 From: mike12345567 Date: Fri, 11 Feb 2022 14:04:23 +0000 Subject: [PATCH 127/176] Fix for #4431 - converting SQL joins back to left joins, syntax specifying join type as string is old which doesn't work in latest versions of knex. --- .../api/controllers/row/ExternalRequest.ts | 2 +- packages/server/src/integrations/base/sql.ts | 68 ++++++++----------- 2 files changed, 29 insertions(+), 41 deletions(-) diff --git a/packages/server/src/api/controllers/row/ExternalRequest.ts b/packages/server/src/api/controllers/row/ExternalRequest.ts index 6aa51fb36b..c1181dd6d5 100644 --- a/packages/server/src/api/controllers/row/ExternalRequest.ts +++ b/packages/server/src/api/controllers/row/ExternalRequest.ts @@ -541,7 +541,7 @@ module External { if (!linkTable || !linkPrimary) { return } - const rows = related[key].rows || [] + const rows = related[key]?.rows || [] const found = rows.find( (row: { [key: string]: any }) => row[linkPrimary] === relationship.id || diff --git a/packages/server/src/integrations/base/sql.ts b/packages/server/src/integrations/base/sql.ts index a4220565cf..ce06624107 100644 --- a/packages/server/src/integrations/base/sql.ts +++ b/packages/server/src/integrations/base/sql.ts @@ -210,49 +210,37 @@ class InternalBuilder { const { toTable, throughTable } = JSON.parse(key) if (!throughTable) { // @ts-ignore - query = query.join( - toTable, - function () { - for (let relationship of relationships) { - const from = relationship.from, - to = relationship.to - // @ts-ignore - this.orOn(`${fromTable}.${from}`, "=", `${toTable}.${to}`) - } - }, - "left" - ) + query = query.leftJoin(toTable, function () { + for (let relationship of relationships) { + const from = relationship.from, + to = relationship.to + // @ts-ignore + this.orOn(`${fromTable}.${from}`, "=", `${toTable}.${to}`) + } + }) } else { query = query // @ts-ignore - .join( - throughTable, - function () { - for (let relationship of relationships) { - const fromPrimary = relationship.fromPrimary - const from = relationship.from - // @ts-ignore - this.orOn( - `${fromTable}.${fromPrimary}`, - "=", - `${throughTable}.${from}` - ) - } - }, - "left" - ) - .join( - toTable, - function () { - for (let relationship of relationships) { - const toPrimary = relationship.toPrimary - const to = relationship.to - // @ts-ignore - this.orOn(`${toTable}.${toPrimary}`, `${throughTable}.${to}`) - } - }, - "left" - ) + .leftJoin(throughTable, function () { + for (let relationship of relationships) { + const fromPrimary = relationship.fromPrimary + const from = relationship.from + // @ts-ignore + this.orOn( + `${fromTable}.${fromPrimary}`, + "=", + `${throughTable}.${from}` + ) + } + }) + .leftJoin(toTable, function () { + for (let relationship of relationships) { + const toPrimary = relationship.toPrimary + const to = relationship.to + // @ts-ignore + this.orOn(`${toTable}.${toPrimary}`, `${throughTable}.${to}`) + } + }) } } return query.limit(BASE_LIMIT) From 57e554a98bc4f2eb31b921edc8e96afb38f378a1 Mon Sep 17 00:00:00 2001 From: Martin McKeaveney Date: Fri, 11 Feb 2022 19:04:27 +0100 Subject: [PATCH 128/176] fixes for k8s --- hosting/kubernetes/nginx/nginx.conf | 16 +++++++++++----- hosting/proxy/nginx.conf | 14 +++++++++++--- 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/hosting/kubernetes/nginx/nginx.conf b/hosting/kubernetes/nginx/nginx.conf index 14593b6648..9d03aaab18 100644 --- a/hosting/kubernetes/nginx/nginx.conf +++ b/hosting/kubernetes/nginx/nginx.conf @@ -25,7 +25,6 @@ http { client_max_body_size 10M; ignore_invalid_headers off; proxy_buffering off; - port_in_redirect off; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' @@ -39,6 +38,7 @@ http { listen 10000 default_server; listen [::]:10000 default_server; server_name _; + port_in_redirect off; # Security Headers add_header X-Frame-Options SAMEORIGIN always; @@ -71,7 +71,13 @@ http { proxy_pass http://app-service.budibase.svc.cluster.local:4002; } - location ^/(builder|app_) { + location ~ ^/(builder|app_) { + proxy_http_version 1.1; + proxy_set_header Connection $connection_upgrade; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://app-service.budibase.svc.cluster.local:4002; } @@ -113,11 +119,11 @@ http { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $http_host; + proxy_set_header Connection ""; + proxy_http_version 1.1; + chunked_transfer_encoding off; proxy_connect_timeout 300; - proxy_http_version 1.1; - proxy_set_header Connection ""; - chunked_transfer_encoding off; proxy_pass http://minio-service.budibase.svc.cluster.local:9000; } diff --git a/hosting/proxy/nginx.conf b/hosting/proxy/nginx.conf index d07e5b0d44..ff12e2f49e 100644 --- a/hosting/proxy/nginx.conf +++ b/hosting/proxy/nginx.conf @@ -24,8 +24,6 @@ http { client_header_buffer_size 1k; client_max_body_size 1k; ignore_invalid_headers off; - proxy_buffering off; - port_in_redirect off; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' @@ -43,6 +41,7 @@ http { client_max_body_size 1000m; ignore_invalid_headers off; proxy_buffering off; + port_in_redirect off; # Security Headers add_header X-Frame-Options SAMEORIGIN always; @@ -56,6 +55,7 @@ http { } location = / { + port_in_redirect off; proxy_pass http://app-service:4002; } @@ -64,6 +64,7 @@ http { } location /builder/ { + port_in_redirect off; proxy_http_version 1.1; proxy_set_header Connection $connection_upgrade; proxy_set_header Upgrade $http_upgrade; @@ -73,7 +74,14 @@ http { proxy_pass http://app-service:4002; } - location ^/(builder|app_) { + location ~ ^/(builder|app_) { + port_in_redirect off; + proxy_http_version 1.1; + proxy_set_header Connection $connection_upgrade; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://app-service:4002; } From 93336bf798021589215320026c2e9aa682dcb21b Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Fri, 11 Feb 2022 18:25:35 +0000 Subject: [PATCH 129/176] v1.0.59 --- lerna.json | 2 +- packages/backend-core/package.json | 2 +- packages/bbui/package.json | 2 +- packages/builder/package.json | 10 +++++----- packages/cli/package.json | 2 +- packages/client/package.json | 8 ++++---- packages/frontend-core/package.json | 4 ++-- packages/server/package.json | 8 ++++---- packages/string-templates/package.json | 2 +- packages/worker/package.json | 6 +++--- 10 files changed, 23 insertions(+), 23 deletions(-) diff --git a/lerna.json b/lerna.json index 60a6d08176..74caf62230 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.0.58", + "version": "1.0.59", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index 84d239e18c..934ca1466a 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.0.58", + "version": "1.0.59", "description": "Budibase backend core libraries used in server and worker", "main": "src/index.js", "author": "Budibase", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index 228b93ee22..7ee39039b6 100644 --- a/packages/bbui/package.json +++ b/packages/bbui/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/bbui", "description": "A UI solution used in the different Budibase projects.", - "version": "1.0.58", + "version": "1.0.59", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", diff --git a/packages/builder/package.json b/packages/builder/package.json index f1b5f1ef81..7fbb49267f 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.0.58", + "version": "1.0.59", "license": "GPL-3.0", "private": true, "scripts": { @@ -64,10 +64,10 @@ } }, "dependencies": { - "@budibase/bbui": "^1.0.58", - "@budibase/client": "^1.0.58", - "@budibase/frontend-core": "^1.0.58", - "@budibase/string-templates": "^1.0.58", + "@budibase/bbui": "^1.0.59", + "@budibase/client": "^1.0.59", + "@budibase/frontend-core": "^1.0.59", + "@budibase/string-templates": "^1.0.59", "@sentry/browser": "5.19.1", "@spectrum-css/page": "^3.0.1", "@spectrum-css/vars": "^3.0.1", diff --git a/packages/cli/package.json b/packages/cli/package.json index 47f20bd0ae..5321235569 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.0.58", + "version": "1.0.59", "description": "Budibase CLI, for developers, self hosting and migrations.", "main": "src/index.js", "bin": { diff --git a/packages/client/package.json b/packages/client/package.json index ed8ced31af..a5e03eef6e 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.0.58", + "version": "1.0.59", "license": "MPL-2.0", "module": "dist/budibase-client.js", "main": "dist/budibase-client.js", @@ -19,9 +19,9 @@ "dev:builder": "rollup -cw" }, "dependencies": { - "@budibase/bbui": "^1.0.58", - "@budibase/frontend-core": "^1.0.58", - "@budibase/string-templates": "^1.0.58", + "@budibase/bbui": "^1.0.59", + "@budibase/frontend-core": "^1.0.59", + "@budibase/string-templates": "^1.0.59", "regexparam": "^1.3.0", "rollup-plugin-polyfill-node": "^0.8.0", "shortid": "^2.2.15", diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json index ca2742550a..9b231d0c66 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -1,12 +1,12 @@ { "name": "@budibase/frontend-core", - "version": "1.0.58", + "version": "1.0.59", "description": "Budibase frontend core libraries used in builder and client", "author": "Budibase", "license": "MPL-2.0", "svelte": "src/index.js", "dependencies": { - "@budibase/bbui": "^1.0.58", + "@budibase/bbui": "^1.0.59", "lodash": "^4.17.21", "svelte": "^3.46.2" } diff --git a/packages/server/package.json b/packages/server/package.json index b06a939f59..a9dd5ed280 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.0.58", + "version": "1.0.59", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -70,9 +70,9 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "^10.0.3", - "@budibase/backend-core": "^1.0.58", - "@budibase/client": "^1.0.58", - "@budibase/string-templates": "^1.0.58", + "@budibase/backend-core": "^1.0.59", + "@budibase/client": "^1.0.59", + "@budibase/string-templates": "^1.0.59", "@bull-board/api": "^3.7.0", "@bull-board/koa": "^3.7.0", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index 9fb3669b19..2c1d8fff13 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.0.58", + "version": "1.0.59", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/worker/package.json b/packages/worker/package.json index 044ddc2a53..d060c04460 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.0.58", + "version": "1.0.59", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -34,8 +34,8 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "^1.0.58", - "@budibase/string-templates": "^1.0.58", + "@budibase/backend-core": "^1.0.59", + "@budibase/string-templates": "^1.0.59", "@koa/router": "^8.0.0", "@sentry/node": "^6.0.0", "@techpass/passport-openidconnect": "^0.3.0", From e4d5aa652111269901ce1bbd0422b17ff8f52d6f Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Fri, 11 Feb 2022 18:29:37 +0000 Subject: [PATCH 130/176] v1.0.58-alpha.1 --- lerna.json | 2 +- packages/backend-core/package.json | 2 +- packages/bbui/package.json | 2 +- packages/builder/package.json | 10 +++++----- packages/cli/package.json | 2 +- packages/client/package.json | 8 ++++---- packages/frontend-core/package.json | 4 ++-- packages/server/package.json | 8 ++++---- packages/string-templates/package.json | 2 +- packages/worker/package.json | 6 +++--- 10 files changed, 23 insertions(+), 23 deletions(-) diff --git a/lerna.json b/lerna.json index 6602c97ea5..e1a715d093 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.0.58-alpha.0", + "version": "1.0.58-alpha.1", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index e20988bfa3..e2896b67b2 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.0.58-alpha.0", + "version": "1.0.58-alpha.1", "description": "Budibase backend core libraries used in server and worker", "main": "src/index.js", "author": "Budibase", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index 1f529e5115..98b1ca73fa 100644 --- a/packages/bbui/package.json +++ b/packages/bbui/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/bbui", "description": "A UI solution used in the different Budibase projects.", - "version": "1.0.58-alpha.0", + "version": "1.0.58-alpha.1", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", diff --git a/packages/builder/package.json b/packages/builder/package.json index b373c60687..01d7d4c038 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.0.58-alpha.0", + "version": "1.0.58-alpha.1", "license": "GPL-3.0", "private": true, "scripts": { @@ -64,10 +64,10 @@ } }, "dependencies": { - "@budibase/bbui": "^1.0.58-alpha.0", - "@budibase/client": "^1.0.58-alpha.0", - "@budibase/frontend-core": "^1.0.58-alpha.0", - "@budibase/string-templates": "^1.0.58-alpha.0", + "@budibase/bbui": "^1.0.58-alpha.1", + "@budibase/client": "^1.0.58-alpha.1", + "@budibase/frontend-core": "^1.0.58-alpha.1", + "@budibase/string-templates": "^1.0.58-alpha.1", "@sentry/browser": "5.19.1", "@spectrum-css/page": "^3.0.1", "@spectrum-css/vars": "^3.0.1", diff --git a/packages/cli/package.json b/packages/cli/package.json index 2ff8dfeae6..ee5f0ae6fd 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.0.58-alpha.0", + "version": "1.0.58-alpha.1", "description": "Budibase CLI, for developers, self hosting and migrations.", "main": "src/index.js", "bin": { diff --git a/packages/client/package.json b/packages/client/package.json index a584a82833..c8defe8576 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.0.58-alpha.0", + "version": "1.0.58-alpha.1", "license": "MPL-2.0", "module": "dist/budibase-client.js", "main": "dist/budibase-client.js", @@ -19,9 +19,9 @@ "dev:builder": "rollup -cw" }, "dependencies": { - "@budibase/bbui": "^1.0.58-alpha.0", - "@budibase/frontend-core": "^1.0.58-alpha.0", - "@budibase/string-templates": "^1.0.58-alpha.0", + "@budibase/bbui": "^1.0.58-alpha.1", + "@budibase/frontend-core": "^1.0.58-alpha.1", + "@budibase/string-templates": "^1.0.58-alpha.1", "regexparam": "^1.3.0", "rollup-plugin-polyfill-node": "^0.8.0", "shortid": "^2.2.15", diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json index ee91dd93e5..f7067e0617 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -1,12 +1,12 @@ { "name": "@budibase/frontend-core", - "version": "1.0.58-alpha.0", + "version": "1.0.58-alpha.1", "description": "Budibase frontend core libraries used in builder and client", "author": "Budibase", "license": "MPL-2.0", "svelte": "src/index.js", "dependencies": { - "@budibase/bbui": "^1.0.58-alpha.0", + "@budibase/bbui": "^1.0.58-alpha.1", "lodash": "^4.17.21", "svelte": "^3.46.2" } diff --git a/packages/server/package.json b/packages/server/package.json index fb271e360d..2fe460d3ec 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.0.58-alpha.0", + "version": "1.0.58-alpha.1", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -70,9 +70,9 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "^10.0.3", - "@budibase/backend-core": "^1.0.58-alpha.0", - "@budibase/client": "^1.0.58-alpha.0", - "@budibase/string-templates": "^1.0.58-alpha.0", + "@budibase/backend-core": "^1.0.58-alpha.1", + "@budibase/client": "^1.0.58-alpha.1", + "@budibase/string-templates": "^1.0.58-alpha.1", "@bull-board/api": "^3.7.0", "@bull-board/koa": "^3.7.0", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index 0e71f85e84..66ed54c187 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.0.58-alpha.0", + "version": "1.0.58-alpha.1", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/worker/package.json b/packages/worker/package.json index d58cdbc3a3..2e190bdd3e 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.0.58-alpha.0", + "version": "1.0.58-alpha.1", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -34,8 +34,8 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "^1.0.58-alpha.0", - "@budibase/string-templates": "^1.0.58-alpha.0", + "@budibase/backend-core": "^1.0.58-alpha.1", + "@budibase/string-templates": "^1.0.58-alpha.1", "@koa/router": "^8.0.0", "@sentry/node": "^6.0.0", "@techpass/passport-openidconnect": "^0.3.0", From 1cc7109551bba0fe1a88337617a380716b03f666 Mon Sep 17 00:00:00 2001 From: Martin McKeaveney Date: Fri, 11 Feb 2022 19:40:28 +0100 Subject: [PATCH 131/176] Update release-selfhost.yml --- .github/workflows/release-selfhost.yml | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/.github/workflows/release-selfhost.yml b/.github/workflows/release-selfhost.yml index e842da9d7c..f76ae530c2 100644 --- a/.github/workflows/release-selfhost.yml +++ b/.github/workflows/release-selfhost.yml @@ -29,10 +29,12 @@ jobs: # Tag apps and worker images docker tag budibase/apps:$release_tag budibase/apps:$SELFHOST_TAG docker tag budibase/worker:$release_tag budibase/worker:$SELFHOST_TAG + docker tag budibase/proxy:$release_tag budibase/proxy:$SELFHOST_TAG # Push images docker push budibase/apps:$SELFHOST_TAG docker push budibase/worker:$SELFHOST_TAG + docker push budibase/proxy:$SELFHOST_TAG env: DOCKER_USER: ${{ secrets.DOCKER_USERNAME }} DOCKER_PASSWORD: ${{ secrets.DOCKER_API_KEY }} @@ -73,4 +75,4 @@ jobs: files: | packages/cli/build/cli-win.exe packages/cli/build/cli-linux - packages/cli/build/cli-macos \ No newline at end of file + packages/cli/build/cli-macos From c27a552d8805eea76640619c73bb9d87741b2aec Mon Sep 17 00:00:00 2001 From: Budibase Release Bot <> Date: Fri, 11 Feb 2022 18:47:34 +0000 Subject: [PATCH 132/176] v1.0.60 --- lerna.json | 2 +- packages/backend-core/package.json | 2 +- packages/bbui/package.json | 2 +- packages/builder/package.json | 10 +++++----- packages/cli/package.json | 2 +- packages/client/package.json | 8 ++++---- packages/frontend-core/package.json | 4 ++-- packages/server/package.json | 8 ++++---- packages/string-templates/package.json | 2 +- packages/worker/package.json | 6 +++--- 10 files changed, 23 insertions(+), 23 deletions(-) diff --git a/lerna.json b/lerna.json index 74caf62230..3e18ded921 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.0.59", + "version": "1.0.60", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index 934ca1466a..c8322eb6f7 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.0.59", + "version": "1.0.60", "description": "Budibase backend core libraries used in server and worker", "main": "src/index.js", "author": "Budibase", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index 7ee39039b6..2e29022247 100644 --- a/packages/bbui/package.json +++ b/packages/bbui/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/bbui", "description": "A UI solution used in the different Budibase projects.", - "version": "1.0.59", + "version": "1.0.60", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", diff --git a/packages/builder/package.json b/packages/builder/package.json index 7fbb49267f..5e04ac75dd 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.0.59", + "version": "1.0.60", "license": "GPL-3.0", "private": true, "scripts": { @@ -64,10 +64,10 @@ } }, "dependencies": { - "@budibase/bbui": "^1.0.59", - "@budibase/client": "^1.0.59", - "@budibase/frontend-core": "^1.0.59", - "@budibase/string-templates": "^1.0.59", + "@budibase/bbui": "^1.0.60", + "@budibase/client": "^1.0.60", + "@budibase/frontend-core": "^1.0.60", + "@budibase/string-templates": "^1.0.60", "@sentry/browser": "5.19.1", "@spectrum-css/page": "^3.0.1", "@spectrum-css/vars": "^3.0.1", diff --git a/packages/cli/package.json b/packages/cli/package.json index 5321235569..7da657a4d2 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.0.59", + "version": "1.0.60", "description": "Budibase CLI, for developers, self hosting and migrations.", "main": "src/index.js", "bin": { diff --git a/packages/client/package.json b/packages/client/package.json index a5e03eef6e..dc15ef081a 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.0.59", + "version": "1.0.60", "license": "MPL-2.0", "module": "dist/budibase-client.js", "main": "dist/budibase-client.js", @@ -19,9 +19,9 @@ "dev:builder": "rollup -cw" }, "dependencies": { - "@budibase/bbui": "^1.0.59", - "@budibase/frontend-core": "^1.0.59", - "@budibase/string-templates": "^1.0.59", + "@budibase/bbui": "^1.0.60", + "@budibase/frontend-core": "^1.0.60", + "@budibase/string-templates": "^1.0.60", "regexparam": "^1.3.0", "rollup-plugin-polyfill-node": "^0.8.0", "shortid": "^2.2.15", diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json index 9b231d0c66..014679f2e8 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -1,12 +1,12 @@ { "name": "@budibase/frontend-core", - "version": "1.0.59", + "version": "1.0.60", "description": "Budibase frontend core libraries used in builder and client", "author": "Budibase", "license": "MPL-2.0", "svelte": "src/index.js", "dependencies": { - "@budibase/bbui": "^1.0.59", + "@budibase/bbui": "^1.0.60", "lodash": "^4.17.21", "svelte": "^3.46.2" } diff --git a/packages/server/package.json b/packages/server/package.json index a9dd5ed280..8861a9920f 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.0.59", + "version": "1.0.60", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -70,9 +70,9 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "^10.0.3", - "@budibase/backend-core": "^1.0.59", - "@budibase/client": "^1.0.59", - "@budibase/string-templates": "^1.0.59", + "@budibase/backend-core": "^1.0.60", + "@budibase/client": "^1.0.60", + "@budibase/string-templates": "^1.0.60", "@bull-board/api": "^3.7.0", "@bull-board/koa": "^3.7.0", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index 2c1d8fff13..6d354b9b6f 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.0.59", + "version": "1.0.60", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/worker/package.json b/packages/worker/package.json index d060c04460..bccbd992b1 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.0.59", + "version": "1.0.60", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -34,8 +34,8 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "^1.0.59", - "@budibase/string-templates": "^1.0.59", + "@budibase/backend-core": "^1.0.60", + "@budibase/string-templates": "^1.0.60", "@koa/router": "^8.0.0", "@sentry/node": "^6.0.0", "@techpass/passport-openidconnect": "^0.3.0", From f86222a98d06ba76ebd3a45d11a5d7c6148da14c Mon Sep 17 00:00:00 2001 From: Maurits Lourens Date: Thu, 10 Feb 2022 09:25:13 +0100 Subject: [PATCH 133/176] Fix validation for query preview endpoint --- packages/server/src/api/controllers/query/validation.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/server/src/api/controllers/query/validation.js b/packages/server/src/api/controllers/query/validation.js index 4958433849..4486ff2307 100644 --- a/packages/server/src/api/controllers/query/validation.js +++ b/packages/server/src/api/controllers/query/validation.js @@ -33,6 +33,9 @@ exports.generateQueryPreviewValidation = () => { return joiValidator.body(Joi.object({ fields: Joi.object().required(), queryVerb: Joi.string().allow().required(), + name: Joi.string().required(), + flags: Joi.object().optional(), + schema: Joi.object().optional(), extra: Joi.object().optional(), datasourceId: Joi.string().required(), transformer: Joi.string().optional(), From 88383eabf144b23541edaf4a7498b58c20cdc87a Mon Sep 17 00:00:00 2001 From: Maurits Lourens Date: Thu, 10 Feb 2022 10:22:57 +0100 Subject: [PATCH 134/176] add properties which are present when previewing an existing query --- packages/server/src/api/controllers/query/validation.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/packages/server/src/api/controllers/query/validation.js b/packages/server/src/api/controllers/query/validation.js index 4486ff2307..515c7b591e 100644 --- a/packages/server/src/api/controllers/query/validation.js +++ b/packages/server/src/api/controllers/query/validation.js @@ -31,6 +31,9 @@ exports.generateQueryValidation = () => { exports.generateQueryPreviewValidation = () => { // prettier-ignore return joiValidator.body(Joi.object({ + _id: Joi.string().optional(), + _rev: Joi.string().optional(), + readable: Joi.boolean().optional(), fields: Joi.object().required(), queryVerb: Joi.string().allow().required(), name: Joi.string().required(), From 8ca38cf1358a8996a2986e3300f5ed2ade64130e Mon Sep 17 00:00:00 2001 From: Maurits Lourens Date: Fri, 11 Feb 2022 17:28:19 +0100 Subject: [PATCH 135/176] fix tests --- .../server/src/api/routes/tests/query.spec.js | 17 +++++++++++++---- .../src/tests/utilities/TestConfiguration.js | 1 + 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/packages/server/src/api/routes/tests/query.spec.js b/packages/server/src/api/routes/tests/query.spec.js index dac576836e..48e3181d10 100644 --- a/packages/server/src/api/routes/tests/query.spec.js +++ b/packages/server/src/api/routes/tests/query.spec.js @@ -169,6 +169,7 @@ describe("/queries", () => { parameters: {}, fields: {}, queryVerb: "read", + name: datasource.name, }) .set(config.defaultHeaders()) .expect("Content-Type", /json/) @@ -261,9 +262,13 @@ describe("/queries", () => { }) it("check that it automatically retries on fail with cached dynamics", async () => { - const { datasource, query: base } = await config.dynamicVariableDatasource() + const { datasource, query: base } = + await config.dynamicVariableDatasource() // preview once to cache - await preview(datasource, { path: "www.google.com", queryString: "test={{ variable3 }}" }) + await preview(datasource, { + path: "www.google.com", + queryString: "test={{ variable3 }}", + }) // check its in cache const contents = await checkCacheForDynamicVariable(base._id, "variable3") expect(contents.rows.length).toEqual(1) @@ -276,9 +281,13 @@ describe("/queries", () => { }) it("deletes variables when linked query is deleted", async () => { - const { datasource, query: base } = await config.dynamicVariableDatasource() + const { datasource, query: base } = + await config.dynamicVariableDatasource() // preview once to cache - await preview(datasource, { path: "www.google.com", queryString: "test={{ variable3 }}" }) + await preview(datasource, { + path: "www.google.com", + queryString: "test={{ variable3 }}", + }) // check its in cache let contents = await checkCacheForDynamicVariable(base._id, "variable3") expect(contents.rows.length).toEqual(1) diff --git a/packages/server/src/tests/utilities/TestConfiguration.js b/packages/server/src/tests/utilities/TestConfiguration.js index 6c2b7d4f98..1b3a91ceab 100644 --- a/packages/server/src/tests/utilities/TestConfiguration.js +++ b/packages/server/src/tests/utilities/TestConfiguration.js @@ -393,6 +393,7 @@ class TestConfiguration { parameters: {}, fields, queryVerb: "read", + name: datasource.name, }) .set(config.defaultHeaders()) .expect("Content-Type", /json/) From 126499f38390a99081acc51e21b34adc225e0ad2 Mon Sep 17 00:00:00 2001 From: mike12345567 Date: Sat, 12 Feb 2022 10:35:10 +0000 Subject: [PATCH 136/176] Fix for #4440, fixing validation of API endpoints. --- packages/bbui/src/ButtonGroup/ButtonGroup.svelte | 11 +++++++++++ .../components/integration/QueryViewer.svelte | 4 ++-- .../src/api/controllers/query/validation.js | 16 +++++++++------- 3 files changed, 22 insertions(+), 9 deletions(-) diff --git a/packages/bbui/src/ButtonGroup/ButtonGroup.svelte b/packages/bbui/src/ButtonGroup/ButtonGroup.svelte index b845a770e1..50d0073a25 100644 --- a/packages/bbui/src/ButtonGroup/ButtonGroup.svelte +++ b/packages/bbui/src/ButtonGroup/ButtonGroup.svelte @@ -1,6 +1,16 @@
    {#if columns?.length} -
    +
    - {#each columns as column (column.id)} -
    -
    (dragDisabled = false)} - > - +
    + {#each columns as column (column.id)} +
    +
    (dragDisabled = false)} + > + +
    + + removeColumn(column.id)} + disabled={columns.length === 1} + />
    - - removeColumn(column.id)} - /> -
    - {/each} + {/each} +
    + + {:else} +
    +
    + Add the first column to your table.
    {/if} -
    -
    - +
    +
    +
    +
    + + +
    +
    @@ -145,4 +168,11 @@ display: grid; place-items: center; } + .buttons { + display: flex; + flex-direction: row; + justify-content: flex-start; + align-items: center; + gap: var(--spacing-m); + } From f433343dc42c139039000bc7c897ec26c3071db8 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Mon, 14 Feb 2022 13:11:01 +0000 Subject: [PATCH 152/176] Update table block to use new column config setting --- packages/client/manifest.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/client/manifest.json b/packages/client/manifest.json index 5d73d3b95c..d578c7056d 100644 --- a/packages/client/manifest.json +++ b/packages/client/manifest.json @@ -2950,7 +2950,7 @@ "defaultValue": 8 }, { - "type": "multifield", + "type": "columns", "label": "Table Columns", "key": "tableColumns", "dependsOn": "dataSource", From c1bd5b832997cb4d1dd617fd1120780fe4e872ff Mon Sep 17 00:00:00 2001 From: mike12345567 Date: Mon, 14 Feb 2022 14:57:06 +0000 Subject: [PATCH 153/176] Fixing issue #4337, allows internal tables to search by the _id or _rev properties in automation query block. --- packages/bbui/src/Drawer/Drawer.svelte | 5 +++ .../SetupPanel/AutomationBlockSetup.svelte | 3 +- .../FilterEditor/FilterDrawer.svelte | 33 +++++++++++++++---- 3 files changed, 32 insertions(+), 9 deletions(-) diff --git a/packages/bbui/src/Drawer/Drawer.svelte b/packages/bbui/src/Drawer/Drawer.svelte index 4bc8a69445..d2c48c4fa4 100644 --- a/packages/bbui/src/Drawer/Drawer.svelte +++ b/packages/bbui/src/Drawer/Drawer.svelte @@ -44,6 +44,11 @@ {/if} diff --git a/packages/builder/src/components/backend/DatasourceNavigator/TableIntegrationMenu/rest/auth/RestAuthenticationModal.svelte b/packages/builder/src/components/backend/DatasourceNavigator/TableIntegrationMenu/rest/auth/RestAuthenticationModal.svelte index 091e3e7ce6..7f0cc7357b 100644 --- a/packages/builder/src/components/backend/DatasourceNavigator/TableIntegrationMenu/rest/auth/RestAuthenticationModal.svelte +++ b/packages/builder/src/components/backend/DatasourceNavigator/TableIntegrationMenu/rest/auth/RestAuthenticationModal.svelte @@ -213,6 +213,3 @@ {/if} - - diff --git a/packages/builder/src/components/backend/DatasourceNavigator/modals/ImportRestQueriesModal.svelte b/packages/builder/src/components/backend/DatasourceNavigator/modals/ImportRestQueriesModal.svelte index 86cc25a0f3..8a34edade0 100644 --- a/packages/builder/src/components/backend/DatasourceNavigator/modals/ImportRestQueriesModal.svelte +++ b/packages/builder/src/components/backend/DatasourceNavigator/modals/ImportRestQueriesModal.svelte @@ -130,6 +130,3 @@ - - From 78458d549d4a3f945ff1b2b76b5da7782c056125 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Tue, 15 Feb 2022 09:31:55 +0000 Subject: [PATCH 165/176] Add on:focus handler to button to fix A11y issue --- packages/bbui/src/Button/Button.svelte | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/bbui/src/Button/Button.svelte b/packages/bbui/src/Button/Button.svelte index 67930b8030..9d815235fe 100644 --- a/packages/bbui/src/Button/Button.svelte +++ b/packages/bbui/src/Button/Button.svelte @@ -30,6 +30,7 @@ {disabled} on:click|preventDefault on:mouseover={() => (showTooltip = true)} + on:focus={() => (showTooltip = true)} on:mouseleave={() => (showTooltip = false)} > {#if icon} From e22f0fe5d1297bc71f22e68f3762022f82ea8ea5 Mon Sep 17 00:00:00 2001 From: Budibase Staging Release Bot <> Date: Tue, 15 Feb 2022 10:36:59 +0000 Subject: [PATCH 166/176] v1.0.58-alpha.7 --- lerna.json | 2 +- packages/backend-core/package.json | 2 +- packages/bbui/package.json | 2 +- packages/builder/package.json | 10 +++++----- packages/cli/package.json | 2 +- packages/client/package.json | 8 ++++---- packages/frontend-core/package.json | 4 ++-- packages/server/package.json | 8 ++++---- packages/string-templates/package.json | 2 +- packages/worker/package.json | 6 +++--- 10 files changed, 23 insertions(+), 23 deletions(-) diff --git a/lerna.json b/lerna.json index a55e982226..3ef5b4257f 100644 --- a/lerna.json +++ b/lerna.json @@ -1,5 +1,5 @@ { - "version": "1.0.58-alpha.6", + "version": "1.0.58-alpha.7", "npmClient": "yarn", "packages": [ "packages/*" diff --git a/packages/backend-core/package.json b/packages/backend-core/package.json index 0ca21e48a2..d1955f90a6 100644 --- a/packages/backend-core/package.json +++ b/packages/backend-core/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/backend-core", - "version": "1.0.58-alpha.6", + "version": "1.0.58-alpha.7", "description": "Budibase backend core libraries used in server and worker", "main": "src/index.js", "author": "Budibase", diff --git a/packages/bbui/package.json b/packages/bbui/package.json index a3eea4f503..4c45f2d63b 100644 --- a/packages/bbui/package.json +++ b/packages/bbui/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/bbui", "description": "A UI solution used in the different Budibase projects.", - "version": "1.0.58-alpha.6", + "version": "1.0.58-alpha.7", "license": "MPL-2.0", "svelte": "src/index.js", "module": "dist/bbui.es.js", diff --git a/packages/builder/package.json b/packages/builder/package.json index a491d41bd0..2c61d427ba 100644 --- a/packages/builder/package.json +++ b/packages/builder/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/builder", - "version": "1.0.58-alpha.6", + "version": "1.0.58-alpha.7", "license": "GPL-3.0", "private": true, "scripts": { @@ -64,10 +64,10 @@ } }, "dependencies": { - "@budibase/bbui": "^1.0.58-alpha.6", - "@budibase/client": "^1.0.58-alpha.6", - "@budibase/frontend-core": "^1.0.58-alpha.6", - "@budibase/string-templates": "^1.0.58-alpha.6", + "@budibase/bbui": "^1.0.58-alpha.7", + "@budibase/client": "^1.0.58-alpha.7", + "@budibase/frontend-core": "^1.0.58-alpha.7", + "@budibase/string-templates": "^1.0.58-alpha.7", "@sentry/browser": "5.19.1", "@spectrum-css/page": "^3.0.1", "@spectrum-css/vars": "^3.0.1", diff --git a/packages/cli/package.json b/packages/cli/package.json index 24b69e45bf..13dc2db39e 100644 --- a/packages/cli/package.json +++ b/packages/cli/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/cli", - "version": "1.0.58-alpha.6", + "version": "1.0.58-alpha.7", "description": "Budibase CLI, for developers, self hosting and migrations.", "main": "src/index.js", "bin": { diff --git a/packages/client/package.json b/packages/client/package.json index 64255708f2..157eb0f4f5 100644 --- a/packages/client/package.json +++ b/packages/client/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/client", - "version": "1.0.58-alpha.6", + "version": "1.0.58-alpha.7", "license": "MPL-2.0", "module": "dist/budibase-client.js", "main": "dist/budibase-client.js", @@ -19,9 +19,9 @@ "dev:builder": "rollup -cw" }, "dependencies": { - "@budibase/bbui": "^1.0.58-alpha.6", - "@budibase/frontend-core": "^1.0.58-alpha.6", - "@budibase/string-templates": "^1.0.58-alpha.6", + "@budibase/bbui": "^1.0.58-alpha.7", + "@budibase/frontend-core": "^1.0.58-alpha.7", + "@budibase/string-templates": "^1.0.58-alpha.7", "@spectrum-css/button": "^3.0.3", "@spectrum-css/card": "^3.0.3", "@spectrum-css/divider": "^1.0.3", diff --git a/packages/frontend-core/package.json b/packages/frontend-core/package.json index 436f6062c7..767a82eb32 100644 --- a/packages/frontend-core/package.json +++ b/packages/frontend-core/package.json @@ -1,12 +1,12 @@ { "name": "@budibase/frontend-core", - "version": "1.0.58-alpha.6", + "version": "1.0.58-alpha.7", "description": "Budibase frontend core libraries used in builder and client", "author": "Budibase", "license": "MPL-2.0", "svelte": "src/index.js", "dependencies": { - "@budibase/bbui": "^1.0.58-alpha.6", + "@budibase/bbui": "^1.0.58-alpha.7", "lodash": "^4.17.21", "svelte": "^3.46.2" } diff --git a/packages/server/package.json b/packages/server/package.json index d26f904d09..1824b06d12 100644 --- a/packages/server/package.json +++ b/packages/server/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/server", "email": "hi@budibase.com", - "version": "1.0.58-alpha.6", + "version": "1.0.58-alpha.7", "description": "Budibase Web Server", "main": "src/index.ts", "repository": { @@ -70,9 +70,9 @@ "license": "GPL-3.0", "dependencies": { "@apidevtools/swagger-parser": "^10.0.3", - "@budibase/backend-core": "^1.0.58-alpha.6", - "@budibase/client": "^1.0.58-alpha.6", - "@budibase/string-templates": "^1.0.58-alpha.6", + "@budibase/backend-core": "^1.0.58-alpha.7", + "@budibase/client": "^1.0.58-alpha.7", + "@budibase/string-templates": "^1.0.58-alpha.7", "@bull-board/api": "^3.7.0", "@bull-board/koa": "^3.7.0", "@elastic/elasticsearch": "7.10.0", diff --git a/packages/string-templates/package.json b/packages/string-templates/package.json index 9bdb929090..2d02e60c92 100644 --- a/packages/string-templates/package.json +++ b/packages/string-templates/package.json @@ -1,6 +1,6 @@ { "name": "@budibase/string-templates", - "version": "1.0.58-alpha.6", + "version": "1.0.58-alpha.7", "description": "Handlebars wrapper for Budibase templating.", "main": "src/index.cjs", "module": "dist/bundle.mjs", diff --git a/packages/worker/package.json b/packages/worker/package.json index 72a17e1da1..c79bbeff8e 100644 --- a/packages/worker/package.json +++ b/packages/worker/package.json @@ -1,7 +1,7 @@ { "name": "@budibase/worker", "email": "hi@budibase.com", - "version": "1.0.58-alpha.6", + "version": "1.0.58-alpha.7", "description": "Budibase background service", "main": "src/index.ts", "repository": { @@ -34,8 +34,8 @@ "author": "Budibase", "license": "GPL-3.0", "dependencies": { - "@budibase/backend-core": "^1.0.58-alpha.6", - "@budibase/string-templates": "^1.0.58-alpha.6", + "@budibase/backend-core": "^1.0.58-alpha.7", + "@budibase/string-templates": "^1.0.58-alpha.7", "@koa/router": "^8.0.0", "@sentry/node": "^6.0.0", "@techpass/passport-openidconnect": "^0.3.0", From f1a1f701f33089046e3f7d34f70401071307b3be Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Tue, 15 Feb 2022 10:48:13 +0000 Subject: [PATCH 167/176] Fix slash appearing in the tag settings bar --- packages/client/manifest.json | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/packages/client/manifest.json b/packages/client/manifest.json index 06dbaad660..5b60b743c0 100644 --- a/packages/client/manifest.json +++ b/packages/client/manifest.json @@ -851,16 +851,12 @@ "type": "color", "label": "Color", "key": "color", - "showInBar": true, - "barSeparator": false + "showInBar": true }, { "type": "boolean", "label": "Show delete icon", - "key": "closable", - "showInBar": true, - "barIcon": "TagItalic", - "barTitle": "Show delete icon" + "key": "closable" }, { "type": "event", From 9cf3d97b4d7f0470db0c0d8cd3df859a28e8570a Mon Sep 17 00:00:00 2001 From: mike12345567 Date: Tue, 15 Feb 2022 11:19:59 +0000 Subject: [PATCH 168/176] Fixing issue with HBS insert, not including curlies as required. Also fixing an issue with value not always being correctly updated. --- .../src/components/common/bindings/BindingPanel.svelte | 5 +++-- packages/builder/src/components/common/bindings/utils.js | 5 ++++- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/packages/builder/src/components/common/bindings/BindingPanel.svelte b/packages/builder/src/components/common/bindings/BindingPanel.svelte index ee0169f9e7..08578fff33 100644 --- a/packages/builder/src/components/common/bindings/BindingPanel.svelte +++ b/packages/builder/src/components/common/bindings/BindingPanel.svelte @@ -51,8 +51,9 @@ }) $: codeMirrorHints = bindings?.map(x => `$("${x.readableBinding}")`) - const updateValue = value => { - valid = isValid(readableToRuntimeBinding(bindings, value)) + const updateValue = val => { + valid = isValid(readableToRuntimeBinding(bindings, val)) + value = val if (valid) { dispatch("change", value) } diff --git a/packages/builder/src/components/common/bindings/utils.js b/packages/builder/src/components/common/bindings/utils.js index 28845fe12b..42a3f11677 100644 --- a/packages/builder/src/components/common/bindings/utils.js +++ b/packages/builder/src/components/common/bindings/utils.js @@ -1,7 +1,10 @@ export function addHBSBinding(value, caretPos, binding) { binding = typeof binding === "string" ? binding : binding.path value = value == null ? "" : value - if (!value.includes("{{") && !value.includes("}}")) { + + const left = caretPos?.start ? value.substring(0, caretPos.start) : "" + const right = caretPos?.end ? value.substring(caretPos.end) : "" + if (!left.includes("{{") || !right.includes("}}")) { binding = `{{ ${binding} }}` } if (caretPos.start) { From 381070a95c89d72dc0c8934a82683cc3a3b30f3d Mon Sep 17 00:00:00 2001 From: mike12345567 Date: Tue, 15 Feb 2022 11:30:45 +0000 Subject: [PATCH 169/176] Adding fix for ethereal tests incase there is an issue with service. --- packages/worker/src/api/routes/tests/realEmail.spec.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/worker/src/api/routes/tests/realEmail.spec.js b/packages/worker/src/api/routes/tests/realEmail.spec.js index a2474bb97a..d0cfd24010 100644 --- a/packages/worker/src/api/routes/tests/realEmail.spec.js +++ b/packages/worker/src/api/routes/tests/realEmail.spec.js @@ -27,8 +27,10 @@ describe("/api/global/email", () => { userId: user._id, }) .set(config.defaultHeaders()) - .expect("Content-Type", /json/) - .expect(200) + // ethereal hiccup, can't test right now + if (res.status >= 300) { + return + } expect(res.body.message).toBeDefined() const testUrl = nodemailer.getTestMessageUrl(res.body) console.log(`${purpose} URL: ${testUrl}`) @@ -37,7 +39,7 @@ describe("/api/global/email", () => { text = await response.text() } catch (err) { // ethereal hiccup, can't test right now - if (parseInt(err.status) >= 400) { + if (parseInt(err.status) >= 300) { return } else { throw err From 5d25f809166ab130590dbe91e0a11ebf6ec624e1 Mon Sep 17 00:00:00 2001 From: Andrew Kingston Date: Tue, 15 Feb 2022 12:01:50 +0000 Subject: [PATCH 170/176] Update button tooltip to remove wrapper div and place tooltip inside button element --- packages/bbui/src/Button/Button.svelte | 94 +++++++++++--------------- 1 file changed, 40 insertions(+), 54 deletions(-) diff --git a/packages/bbui/src/Button/Button.svelte b/packages/bbui/src/Button/Button.svelte index 01c04913b1..8e5cc5468c 100644 --- a/packages/bbui/src/Button/Button.svelte +++ b/packages/bbui/src/Button/Button.svelte @@ -17,65 +17,55 @@ let showTooltip = false -
    - - {#if showTooltip && tooltip} -
    -
    - -
    {/if} -
    + {#if showTooltip && tooltip} +
    + +
    + {/if} +