1
0
mirror of https://github.com/sasjs/adapter.git synced 2026-04-21 05:01:31 +00:00

Compare commits

..

615 Commits

Author SHA1 Message Date
Trevor Moody b92487819a Merge pull request #879 from sasjs/fix/bump_axios_to_1_15_0
build(deps): bump and pin axios to v1.15.0
2026-04-10 16:40:41 +01:00
Trevor Moody 3cc37e0b5b Merge branch 'master' into fix/bump_axios_to_1_15_0 2026-04-10 16:22:05 +01:00
Trevor Moody d87b9ecc34 fix(deps): bump and pin axios to v1.15.0 2026-04-10 15:58:45 +01:00
Sead Mulahasanović 3b00ae4bef chore: merge pull request #878 from sasjs/fix/pin-axios-version
chore: pin axios version
2026-04-08 14:07:39 +02:00
mulahasanovic 87efdfff2e fix(ci): set correct loginMechanism and fix test reload 2026-04-08 12:53:15 +02:00
mulahasanovic 73556c9fdf fix(ci): use CORS-whitelisted port for sasjs-tests dev server 2026-04-06 17:02:29 +02:00
mulahasanovic 72318ced00 ci: set TERM=dumb to suppress tput warnings 2026-04-06 10:44:38 +02:00
mulahasanovic d7053ba628 test(cypress): wait for app init before checking login state 2026-04-01 21:02:46 +02:00
mulahasanovic 52371da4db chore: pin axios version 2026-04-01 19:37:45 +02:00
Allan Bowe 8e8efd22e9 Merge pull request #875 from sasjs/axiosbump
fix: bumping axios to 1.13.5
2026-02-09 20:11:49 +00:00
allan f80d0c87f9 fix: bumping axios to 1.13.5 2026-02-09 19:47:35 +00:00
Sead Mulahasanović 5bd641b843 Merge pull request #871 from sasjs/mihajlo/viyaWebContextName
fix: viya, web approach, contexname not added to the url if contains …
2026-02-06 12:37:55 +01:00
M 539fe5f4ed fix: viya, web approach, contexname not added to the url if contains spaces between the words 2026-02-06 12:05:02 +01:00
Allan Bowe 9252e7e384 Merge pull request #866 from sasjs/housekeeping_20251212
fix(build): pipeline node version upgrade and hardened security
2025-12-15 12:06:04 +00:00
mulahasanovic bbf0eed443 chore(cypress): update config 2025-12-15 11:49:53 +01:00
mulahasanovic 677c0a5046 chore(build): update search and replace command for cypress env 2025-12-15 11:29:55 +01:00
mulahasanovic ff927caf73 chore(deps): bump cypress 2025-12-15 11:20:22 +01:00
mulahasanovic e23aa4426c chore(build): update test server port 2025-12-12 17:54:00 +01:00
mulahasanovic 8064a843e8 fix(build): install cypress binary and cache only in relevant pipeline 2025-12-12 17:31:57 +01:00
M d45b528846 chore: ci fix, package-lock regen 2025-12-12 17:27:29 +01:00
mulahasanovic cd64ebc518 fix(build): add cypress binary to the cache 2025-12-12 17:11:58 +01:00
Trevor Moody 8246722ae8 fix(deps): take newly available @sasjs/utils 3.5.6 2025-12-12 14:18:04 +00:00
Trevor Moody 0f8a3f4b53 fix(build): node version unified across all pipelines 2025-12-12 13:59:06 +00:00
Trevor Moody ca9ffdbc17 fix(build): pipeline node version upgrade and hardened security 2025-12-12 13:16:32 +00:00
Allan Bowe 03b7592521 Merge pull request #865 from sasjs/viyaCreateFileAndPatch
Viya create file and patch
2025-11-25 09:02:48 +00:00
Trevor Moody ba64ed1f20 fix: defensively coded for potential empty 'name' properties in the viya types response 2025-11-25 07:39:00 +00:00
Trevor Moody 480510b980 build: (server-tests) use jq to safely modify json 2025-11-23 06:29:52 +00:00
Trevor Moody 8c7767a36d fix: (build) command syntax 2025-11-22 22:19:34 +00:00
Trevor Moody f335be344e build: adjusted search/replace regex/value to allow for json lines without trailing commas 2025-11-22 22:11:55 +00:00
Trevor Moody 680f5a4872 chore: (sasjs-tests) prevent redundant rendering of vertical scroll bar 2025-11-22 17:58:00 +00:00
Trevor Moody c42a20a8ee feat: (viya) apply properties to newly created files 2025-11-22 17:56:50 +00:00
Allan Bowe 87b60a4a21 Merge pull request #858 from sasjs/sasjs-tests-no-deps
fix(sasjs-tests): remove dependancies
2025-11-19 12:20:07 +00:00
mulahasanovic 07e4ba54f3 fix(sasjs-tests): construct stylesheets 2025-11-18 17:26:24 +01:00
mulahasanovic 6f73011bc1 feat(sasjs-tests): granular test rerun 2025-11-18 17:13:37 +01:00
mulahasanovic f26d51747f fix(sasjs-tests): duplicate test suite 2025-11-18 16:55:15 +01:00
mulahasanovic 1f8554f925 fix(sasjs-tests): add VIYA defaults to config.json 2025-11-18 14:41:36 +01:00
mulahasanovic 0d871083ac fix(sasjs-tests): disable basicTests, viya auth interactions 2025-11-18 14:40:57 +01:00
mulahasanovic ae71918ae2 fix(sasjs-tests): update hardcoded compute job path 2025-11-18 14:40:17 +01:00
mulahasanovic 364a063a11 fix(sasjs-tests): show RequestsModal if debug mode is off 2025-11-18 14:39:25 +01:00
mulahasanovic ad4c9b2164 docs: update README.md 2025-11-18 12:10:37 +01:00
mulahasanovic 59198ed6ab feat(sasjs-tests): update tests, use vite and minimal deps 2025-11-18 12:01:41 +01:00
Sead Mulahasanović 79e5acb954 chore(git): merge pull request #848 from sasjs/readme_update_20250828 2025-10-17 11:54:14 +02:00
mulahasanovic 1eb5b29a77 chore(docs): update README.md
Remove unavailable and update workflow badge
2025-09-18 19:26:30 +02:00
Allan Bowe bde28046be Merge pull request #850 from sasjs/fix-CVE-2025-58754
fix(deps): update axios to v1.12.2
2025-09-18 17:16:45 +01:00
mulahasanovic eab61a80bf chore: prettier 2025-09-18 18:10:30 +02:00
mulahasanovic 9149f932c3 chore: prettier 2025-09-18 18:06:05 +02:00
Sead Mulahasanović fb30ff8876 chore(git): merge pull request #849 from glM26/master
fix: update dependency axios to version 1.12.2 (CVE-2025-58754)
2025-09-18 18:03:55 +02:00
Stephan Markiefka afff422333 feat: Update dependency axios to version 1.12.2 2025-09-18 11:57:09 +02:00
Trevor Moody b09a8b0891 chore: README.MD updated to correct dead link 2025-08-28 15:46:22 +01:00
Allan Bowe b49010cfe5 Merge pull request #847 from sasjs/update_20250821
feat: h54s Tables() compatibility
2025-08-22 12:11:34 +01:00
Trevor Moody fd6fad9b07 feat: h54s Tables() compatibility 2025-08-22 10:24:02 +01:00
Allan Bowe 8a10c229d6 Merge pull request #846 from sasjs/form-data-vulnerabilities
Update vulnerable form-data to v4.0.4
2025-07-23 13:38:35 +01:00
M 66462fcc50 fix: update vulnerable form-data to v4.0.4 2025-07-23 13:35:49 +02:00
Allan Bowe 7e23b5db9d Merge pull request #845 from sasjs/jes-workaround
Viya JES approach workaround, job arguments are case-sensitive and webout was not returned
2025-06-09 19:23:48 +01:00
medjedovic 78f117812e fix: Viya JES approach workaround, job arguments are case-sensitive and webout was not returned 2025-06-09 16:59:09 +02:00
Allan Bowe 55af8c3f50 Merge pull request #844 from sasjs/ci-fix
ci: npm caching fix
2025-06-05 13:46:05 +01:00
medjedovic 1185c2f1bf ci: npm caching fix 2025-06-05 14:43:33 +02:00
Allan Bowe 2842636c4a Merge pull request #843 from sasjs/get-update-file-content-viya
Added methods to GET and UPDATE file content on viya
2025-06-05 13:33:47 +01:00
medjedovic 8c7f614509 ci: jobs 2025-06-05 11:13:30 +02:00
medjedovic 943f60ea11 ci: jobs 2025-06-05 11:04:06 +02:00
medjedovic 3de343f135 ci: jobs 2025-06-05 10:37:53 +02:00
medjedovic e11c97ec5d chore: fixing type duplicate 2025-06-05 10:07:13 +02:00
medjedovic 49fba07824 fix: viya updateFileContent not sending proper content-type 2025-06-04 17:29:38 +02:00
medjedovic b1c0e26c23 feat: added methods to GET and UPDATE file content on viya 2025-06-04 17:04:27 +02:00
Allan Bowe 3ec73750b7 Merge pull request #841 from sasjs/bump-axios
fix: axios bump
2025-03-14 11:16:54 +00:00
sabhas e3c4cb6b90 chore(sasjs-test): skip few tests that are failing due to server 2025-03-14 15:59:31 +05:00
sabhas d35f1617b8 chore(cypress): update integration test 2025-03-14 01:29:03 +05:00
sabhas 302752d79e chore: revert last commit 2025-03-13 16:56:29 +05:00
sabhas 4e1e3e8e77 chore: workflow 2025-03-13 16:36:44 +05:00
medjedovic 954d3ff633 ci: jobs naming 2025-03-11 14:07:31 +01:00
medjedovic fce0c7e522 fix: axios 1.8.2 2025-03-11 13:51:58 +01:00
medjedovic d0fbc7b8c7 fix: sasjs/utils bump, separated CI jobs into unit tests and server tests 2025-03-11 13:39:40 +01:00
medjedovic 6171199a7e fix: prepared for Viya streaming 2025-03-07 16:05:02 +01:00
medjedovic 4fb0b96f11 fix: new axios requires form data content type, es6 strict issues with iterations 2025-03-07 10:36:43 +01:00
medjedovic 008a9b4ca5 fix: withXSRFToken instead of withCredentials 2025-03-04 16:29:01 +01:00
medjedovic b3b2c1414c chore: better test coverage 2025-03-04 14:48:22 +01:00
medjedovic 18be9e8806 fix: jest tests RequestClient.spec.ts 2025-03-03 17:52:53 +01:00
sabhas 7bdd826418 chore: fix specs for getFormData and convertToCsv 2025-03-03 00:19:50 +05:00
sabhas 3713a226a4 chore: temp fix for InternalAxiosRequestConfig 2025-03-02 23:33:28 +05:00
medjedovic 77306fedee fix: usage and typings, axios, nodeFormData, cookiejar... 2025-02-28 15:04:51 +01:00
sabhas be3ce56b85 fix: refactor the default callback for axios interceptors 2025-02-28 18:21:44 +05:00
medjedovic 851b8fce2a fix: axios bump 2025-02-28 11:25:44 +01:00
Allan Bowe 16dd175053 Merge pull request #840 from sasjs/bumputils
fix: removing rimraf
2025-02-27 11:36:06 +00:00
medjedovic 27698b3e8a ci: rimraf 2025-02-27 12:21:55 +01:00
medjedovic 0faa50685d fix: removing rimraf 2025-02-27 12:12:17 +01:00
Allan Bowe 0f20048fb4 Merge pull request #838 from sasjs/bumputils
fix: bumping sasjs/utils to 3.5
2025-02-27 09:30:55 +00:00
medjedovic 249837dacf ci: run on older ubuntu 2025-02-26 16:48:17 +01:00
medjedovic a115c12f55 fix(ci): vpn files 2025-02-26 16:41:48 +01:00
medjedovic 61c4d21467 fix(ci): new vpn config 2025-02-26 16:28:48 +01:00
medjedovic 3e9f38529f ci: validate VPN connection 2025-02-26 16:15:55 +01:00
Allan Bowe 06f79307b9 chore: logging info 2025-02-26 15:11:52 +00:00
Allan Bowe 5122d2a9c9 fix: matrix bot address 2025-02-26 14:56:43 +00:00
mulahasanovic dc3eb3f0db chore(git): merge branch 'bumputils' of github.com:sasjs/adapter into bumputils 2025-02-26 15:42:52 +01:00
mulahasanovic b940bc7cc3 fix(tests): special character case 2025-02-26 15:36:43 +01:00
Allan Bowe 82fc55ac1c chore: adding more logging to workflow 2025-02-26 14:03:32 +00:00
medjedovic fc1a22c8c5 chore(git): merge 2025-02-26 11:20:58 +01:00
medjedovic 57b9f86077 fix(ci): openvpn hangs 2025-02-26 11:19:19 +01:00
Allan Bowe 68f7b2eac2 fix: updating pkg lock 2025-02-26 10:13:20 +00:00
Allan Bowe 2676873bb0 fix: bump utils to 3.5.1 2025-02-26 10:09:39 +00:00
medjedovic add2f0a860 fix(ci): openvpn 2025-02-26 10:05:57 +01:00
medjedovic 2072136577 fix: new node, externals 2025-02-26 09:53:43 +01:00
medjedovic afae632fc6 fix: bump rimraf (versions prior to v4 are deprecated) 2025-02-20 14:28:27 +01:00
Allan Bowe 317587a3c8 fix: bumping sasjs/utils to 3.5 2025-02-15 14:32:50 +00:00
Allan Bowe ffd6bc5a5c Merge pull request #836 from sasjs/issue-835
feat(auth): added multi-language support to logIn method
2024-06-21 13:40:20 +01:00
Yury c2e64d9ba6 chore: cleanup 2024-06-21 11:32:58 +03:00
Yury a90f699abd feat(auth): added utils to get and check login header 2024-06-21 11:24:06 +03:00
Yury 2cca192f88 chore(auth-manager): added comment 2024-06-20 17:38:56 +03:00
Yury 053b07769a feat(auth): added multi-language support to logIn method 2024-06-20 17:15:05 +03:00
Yury Shkoda 4c4511913c Merge pull request #834 from sasjs/redirectLogin-fix
fix(auth-manager): fixed redirectedLoginUrl
2024-02-19 15:59:04 +03:00
Yury 8c64c24f3c chore: left a comment 2024-02-19 15:26:26 +03:00
Yury 1f2f445002 chore: fixed SASLogon URL in AuthManager test 2024-02-19 11:06:09 +03:00
Yury 6afa056a86 chore: testing 2024-02-19 10:58:23 +03:00
Yury fe47ca1152 fix(auth-manager): fixed redirectedLoginUrl 2024-02-19 08:50:19 +03:00
Yury Shkoda 10da691f0f Merge pull request #833 from sasjs/parent-session-state-check
fix(poll-job-state): fixed checking session state
2023-09-15 12:12:24 +03:00
Yury Shkoda 318f9694cb test: updated unit tests threshold 2023-09-15 08:58:46 +03:00
Yury Shkoda 56e6131e5c fix(poll-job-state): fixed checking session state 2023-09-15 08:51:39 +03:00
medjedovic 5dfee30875 Merge pull request #832 from sasjs/parent-session-state-check
feat(job-state): added session state check to doPoll func
2023-09-11 13:03:24 +02:00
Yury Shkoda 3a186bc55c feat(job-state): added session state check to doPoll func 2023-09-11 11:17:05 +03:00
Yury Shkoda 0359fcb6be Merge pull request #830 from sasjs/issue-829
fix(execute-script): fixed executing jobs on viya using compute api
2023-09-05 15:20:38 +03:00
Yury Shkoda f2997169cb chore: renamed executeScript to executeOnComputeApi 2023-09-05 13:09:28 +03:00
Yury Shkoda 451f2dfaca fix(execute-script): fixed executing jobs on viya using compute api 2023-09-04 18:55:59 +03:00
Yury Shkoda 38e11f1771 Merge pull request #828 from sasjs/verbose-mode-issue
Fixed verbose mode for all response statuses
2023-08-17 15:20:49 +03:00
Yury Shkoda 259b6b3ff2 test(request-client): revert changed port 2023-08-17 13:44:08 +03:00
Yury Shkoda 5b2d9e675f test: set coverage threshold 2023-08-17 13:29:57 +03:00
Yury Shkoda 8dd4ab8cec fix(verbose-mode): fixed handling axios errors 2023-08-17 13:29:27 +03:00
Allan Bowe 34135b889f Merge pull request #827 from sasjs/cli-issue-1367
Bleached Verbose Mode and unit testing pollJobState
2023-08-14 18:36:20 +01:00
Yury Shkoda 62f4577b64 fix(request-client): fixed setVerboseMode method 2023-08-14 17:01:47 +03:00
Yury Shkoda 7a4feddd82 feat: added public method executeJob 2023-08-14 17:01:15 +03:00
Yury Shkoda 681abf5b3b chore(ci-cd): added sleep step before running cypress 2023-08-14 11:25:57 +03:00
Yury Shkoda 46c6d3e7f4 test(poll-job-state): covered changing polling strategies 2023-08-14 10:55:45 +03:00
Yury Shkoda 5731b0f9b1 refactor(request-client): put related types in one file 2023-08-14 10:55:09 +03:00
Yury Shkoda f18a523087 feat(request-client): added bleached verbose mode 2023-08-14 10:50:11 +03:00
Yury Shkoda 8cbd292f13 Merge pull request #826 from sasjs/gh-action-fix
chore(gh-action): fixed access token
2023-08-09 15:24:43 +03:00
Yury Shkoda 4851f25753 chore(gh-action): fixed access token 2023-08-08 15:46:56 +03:00
Yury Shkoda 5756638dc2 Merge pull request #825 from sasjs/verboseMode
feat(request-client): made verbose mode easier to configure
2023-08-01 09:52:59 +03:00
Yury Shkoda e511cd613c docs(verbose): fixed docs 2023-07-31 17:41:04 +03:00
Yury Shkoda 2119c81ebb feat(sasjs-config): added verbose option 2023-07-31 17:37:39 +03:00
Yury Shkoda ea4b30d6ef feat(request-client): made verbose mode easier to configure 2023-07-31 16:34:09 +03:00
Yury Shkoda f1e1b33571 Merge pull request #824 from sasjs/startComputeJob-issue
feat(request-client): implemented verbose mode
2023-07-31 10:51:02 +03:00
Yury Shkoda ccb8599f00 docs(request-client): added comments 2023-07-28 11:55:52 +03:00
Yury Shkoda 5bcd17096b feat(request-client): implemented verbose mode 2023-07-27 19:29:51 +03:00
Allan Bowe d744ee12a3 Merge pull request #823 from sasjs/@sasjs/server-response-fix
feat(sasjs-request-client): improved parseResponse method
2023-07-26 11:45:04 +01:00
Yury Shkoda 5f15226cd9 test(sasjs-request-client): removed unnecessary part of the log 2023-07-25 17:31:39 +03:00
Yury Shkoda f31ea28b9c refactor(sasjs-request-client): used SASJS_LOGS_SEPARATOR const 2023-07-25 16:08:16 +03:00
Yury Shkoda e315e4a619 feat(sasjs-request-client): improved parseResponse method 2023-07-25 16:01:35 +03:00
Yury Shkoda 76bf5b88e9 Merge pull request #818 from sasjs/deps-bump
Dependencies bump
2023-07-12 09:50:50 +03:00
Yury Shkoda a97ac4eaa6 chore: commiting changes 2023-07-11 15:36:13 +03:00
Yury Shkoda 37cfea6ca7 chore(deps): Merge branch 'dependabot/npm_and_yarn/sasjs-tests/loader-utils-2.0.4' of github.com:sasjs/adapter into deps-bump 2023-07-11 14:53:19 +03:00
Yury Shkoda f74c8aca57 chore(deps): Merge branch 'dependabot/npm_and_yarn/sasjs-tests/json5-1.0.2' of github.com:sasjs/adapter into deps-bump 2023-07-11 14:52:28 +03:00
Yury Shkoda 77baaabfcd chore(deps): Merge branch 'dependabot/npm_and_yarn/sasjs-tests/http-cache-semantics-4.1.1' of github.com:sasjs/adapter into deps-bump 2023-07-11 14:51:32 +03:00
Yury Shkoda 510ba771f0 chore(deps): Merge branch 'dependabot/npm_and_yarn/sasjs-tests/webpack-5.76.3' of github.com:sasjs/adapter into deps-bump 2023-07-11 14:50:38 +03:00
Allan Bowe 6fce65f4c8 Merge pull request #817 from sasjs/request-sasjs-fix
fix(file-upload-form): fixed form data for node env
2023-07-11 09:58:57 +01:00
Yury Shkoda fe03faa59f chore(file-upload-form): left comments 2023-07-11 09:26:36 +03:00
Yury Shkoda 6272eeda23 fix(form-data): fixed formData type check 2023-07-10 19:14:47 +03:00
Yury Shkoda 104d1b88b3 chore(deps): bimped tough-cookie and @types/tough-cookie 2023-07-10 17:07:39 +03:00
Yury Shkoda 0d9ba36de8 fix(file-upload-form): fixed form data for node env 2023-07-06 15:49:24 +03:00
Yury Shkoda 4e7a845d99 Merge pull request #816 from sasjs/ci/cd-workwlows-node-version
chore(ci-cd): used Node lts/hydrogen version
2023-07-06 12:42:12 +03:00
Yury Shkoda 716cc513ff chore(ci-cd): used Node lts/hydrogen version 2023-07-05 16:10:45 +03:00
Yury Shkoda 22edcb0a8e Merge pull request #810 from sasjs/pollJobState-improvements
Poll job state improvements
2023-07-05 11:15:42 +03:00
Yury Shkoda aedf5c1734 chore: Merge branch 'master' of github.com:sasjs/adapter into pollJobState-improvements 2023-07-05 10:49:12 +03:00
Yury Shkoda 784bd20ee0 Merge pull request #814 from sasjs/issue-811-fixed
Issue 811 fixed
2023-07-05 10:27:04 +03:00
Yury Shkoda 61db1e0609 test: fixed unit tests 2023-06-23 18:04:48 +03:00
Yury Shkoda 5c589a6af3 chore: reverted dev changes to build.yml 2023-06-23 17:52:46 +03:00
Yury Shkoda 275cd6dbd3 chore: debugging 2023-06-23 17:20:16 +03:00
Yury Shkoda d874e07889 fix(file-uploader): fixed parsing response for SASJS 2023-06-23 16:37:25 +03:00
Yury Shkoda 1648cf28d5 chore: Merge branch 'master' of github.com:sasjs/adapter into issue-811-fixed 2023-06-23 15:26:01 +03:00
medjedovic a4aaeba31c fix: file upload with sasjs server type, json not parsed 2023-06-22 12:48:40 +02:00
Yury Shkoda 6bf68a315c fix(sasjs-utils): fixed imports 2023-06-22 13:37:07 +03:00
Allan Bowe c0f78d0c1e fix: updating example.html to use v4 of the adapter 2023-06-22 08:56:32 +01:00
Yury Shkoda e0aebc169f chore: debugging 2023-06-21 18:28:39 +03:00
Yury Shkoda 9a50e5cb63 chore: debugging 2023-06-21 18:16:20 +03:00
Yury Shkoda a51923dad7 chore: debugging 2023-06-21 18:01:21 +03:00
Yury Shkoda 9aee77f0e3 chore: debugging 2023-06-21 17:44:24 +03:00
Yury Shkoda c32d037063 chore: debugging 2023-06-21 17:34:16 +03:00
Yury Shkoda 94f7492c31 chore: debugging 2023-06-21 17:19:13 +03:00
Yury Shkoda d29e0a0f57 chore(sasjs-tests): bumped node-sass 2023-06-21 16:36:22 +03:00
Yury Shkoda 8d7cc11db5 chore(sasjs-tests): bumped node-sass 2023-06-21 16:35:33 +03:00
Yury Shkoda 28e9d1cc6b test(get-token): covered getTokenRequestErrorPrefix 2023-06-21 16:34:26 +03:00
Yury Shkoda 375cec48ca feat(get-token): improved error prefix 2023-06-21 16:33:45 +03:00
medjedovic 7d826685f7 Merge pull request #813 from sasjs/sasjs-job-execute
fix: issue with parsing json in sasjs job executor
2023-06-15 16:08:08 +02:00
medjedovic f42f6bca00 fix: issue with parsing json in sasjs job executor 2023-06-14 15:08:11 +02:00
Yury Shkoda 4440e5d1f9 fix(types): fixed PollOptions exports 2023-05-17 14:10:17 +03:00
Yury Shkoda f484a5a6a1 refactor(poll-job-state): updated types and func attributes 2023-05-17 11:16:35 +03:00
Yury Shkoda 5c74186bab feat(poll-strategy): added subsequentStrategies to PollStrategy 2023-05-16 17:48:04 +03:00
Yury Shkoda ea68c3dff3 docs(poll-job-state): updated docs 2023-05-16 17:42:27 +03:00
Yury Shkoda 153b285670 chore(poll-job-status): renamed PollOptions to PollStrategy and added docs 2023-05-15 16:32:07 +03:00
Yury Shkoda f9f4aa5aa6 chore(reviewer-lottery): removed QA group 2023-05-15 14:53:55 +03:00
Yury Shkoda bd02656b3c docs(poll-job-state): added comments 2023-05-15 14:36:18 +03:00
Yury Shkoda 991519a13d fix(execute-job): added error object if it present 2023-05-15 14:26:24 +03:00
Yury Shkoda 615c9d012e feat(poll-job-state): implemented polling strategies 2023-05-15 14:24:11 +03:00
Yury Shkoda bd872e0e75 Merge pull request #809 from sasjs/webout-issue
fix(sasjs-request-client): fixed response parsing
2023-05-10 16:26:13 +03:00
Yury Shkoda a14a1663fc fix(sasjs-request-client): fixed response parsing 2023-05-10 16:07:25 +03:00
Yury Shkoda 2482a0c674 Merge pull request #807 from sasjs/issue-245
fix(deploy-service-pack): fixed redeployment
2023-05-09 17:12:11 +03:00
Yury Shkoda a19de50e67 fix(create-folder): improved error message 2023-05-09 16:59:18 +03:00
Yury Shkoda 860c9f907c fix(deploy-service-pack): fixed redeployment 2023-05-09 10:43:23 +03:00
Allan Bowe d7126a6878 Merge pull request #802 from sasjs/fix-ci
chore(ci): install vpn and run sasjs tests
2023-05-04 10:51:34 +01:00
Yury Shkoda a69ebd0fd3 Merge pull request #806 from sasjs/sasjs-job-execution
fix(job-execution): fixed webout for SASJS server type
2023-05-04 12:42:11 +03:00
Yury Shkoda 0f47326bb6 chore(execute-script): improved code style 2023-05-04 12:21:22 +03:00
Yury Shkoda 2d6efa2437 fix(job-execution): fixed webout for SASJS server type 2023-05-04 10:57:24 +03:00
Yury Shkoda da7579a2bb Merge pull request #805 from sasjs/webpack-fix
fix(packaging): fixed output file for Node
2023-04-21 17:28:52 +03:00
Yury Shkoda 657e415c0c fix(packaging): fixed output file for Node 2023-04-21 16:02:47 +03:00
Allan Bowe 8fa908a201 Merge pull request #804 from sasjs/refrerefreshTokensForViya-fix
fix(refreshTokensForViya): fixed FormData logic
2023-04-21 09:53:55 +01:00
Yury Shkoda a29b7f3b92 docs(refreshTokensForViya): added notes about limitation 2023-04-21 11:06:48 +03:00
Yury Shkoda 8360519408 fix(refreshTokensForViya): added throw error if not Node 2023-04-21 11:03:41 +03:00
Yury Shkoda a71d422528 fix(refreshTokensForViya): fixed FormData logic 2023-04-20 16:13:22 +03:00
Allan Bowe 7d37e4d79d Merge pull request #793 from sasjs/session-manager-improvements
Session manager improvements
2023-04-19 15:08:42 +01:00
Yury Shkoda 7ae21c160a docs(session manager): added info about hot sessions 2023-04-19 16:01:49 +03:00
sabhas bfefdb65a3 chore: addressed comments 2023-04-18 00:45:03 +05:00
medjedovic bbe52562da ci: sasjs tests 2023-04-10 13:15:41 +02:00
medjedovic 48917bb4d9 ci: sasjs tests 2023-04-10 12:22:28 +02:00
medjedovic 81c3d2a3dc style: lint 2023-04-10 12:10:41 +02:00
medjedovic 0052d5d340 ci: sasjs tests logged in fix 2023-04-10 12:08:01 +02:00
medjedovic a633bda24d ci: sasjs tests 2023-04-10 10:05:10 +02:00
sabhas e951ea0ab2 chore: quick fix 2023-04-08 01:13:11 +05:00
sabhas b75ab13eb7 chore: update the command for running cypress 2023-04-07 23:50:11 +05:00
sabhas 4de34cc8b0 chore: add streaming config and fix apploc 2023-04-07 17:06:08 +05:00
sabhas 23a789b383 chore: add refresh token to .env.4gl 2023-04-06 23:13:23 +05:00
sabhas 156f1b1180 chore: create .env.4gl at proper place 2023-04-06 22:43:32 +05:00
sabhas 491e36d703 chore: install sasjs cli 2023-04-06 22:31:51 +05:00
sabhas 06b6e48a16 chore: deploy the streaming app to sas9.4gl.io 2023-04-06 22:07:18 +05:00
sabhas 9bebd356ca chore: deamonize npm start process 2023-04-06 16:28:33 +05:00
sabhas 171f9bc7b9 chore(ci): install vpn and run sasjs tests locally 2023-04-06 16:03:16 +05:00
Allan Bowe 7cbc2bda08 Merge pull request #801 from sasjs/issue-680
ErrorBody interface made public
2023-04-06 12:02:15 +01:00
Allan Bowe 5bc2afba8c Merge pull request #800 from sasjs/sasjstestservices
chore: adding services in seperate (deployable) files as alternative …
2023-04-06 11:57:52 +01:00
medjedovic dd3a7fe393 fix: ErrorBody interface made public 2023-04-06 12:45:22 +02:00
allan ba1b1e6e80 Merge branch 'sasjstestservices' of github.com:sasjs/adapter into sasjstestservices 2023-04-06 11:42:04 +01:00
allan 3daa85a74a chore: updating appLoc to /Public/app/adapter-tests in sasjs-tests 2023-04-06 11:41:54 +01:00
Allan Bowe d1139857a4 Update invalidJSON.sas 2023-04-06 11:33:31 +01:00
allan cb106c76cb chore: adding services in seperate (deployable) files as alternative to manually running the code from the README in sasjs-test 2023-04-06 11:31:37 +01:00
Allan Bowe ab8da28de1 Merge pull request #798 from sasjs/redirected-login-m8
fix: sas9 m8 redirected login
2023-04-05 15:14:16 +01:00
medjedovic a729d67d3e chore: remove /home leftovers 2023-04-05 15:39:31 +02:00
medjedovic 548a44d665 chore: auth manager test fix 2023-04-04 14:08:47 +02:00
Allan Bowe afda43fc7f Merge pull request #799 from sasjs/issue-470
fix: regex for extracting login url fixed
2023-04-03 22:21:13 +01:00
sabhas 5291e7f01c fix: regex for extracting login url fixed 2023-04-03 23:10:27 +05:00
medjedovic 39abdad518 fix: sas9 m8 redirected login 2023-04-03 12:48:32 +02:00
Allan Bowe 6aa12ee950 Merge pull request #797 from sasjs/all-contributors/add-saramartinelli1992
docs: add saramartinelli1992 as a contributor for userTesting, and platform
2023-04-03 11:41:34 +01:00
allcontributors[bot] b5b5093295 docs: update .all-contributorsrc [skip ci] 2023-04-03 10:41:06 +00:00
allcontributors[bot] 114ca21c17 docs: update README.md [skip ci] 2023-04-03 10:41:05 +00:00
Yury Shkoda 88a1f3eac6 docs(session-manager): improved grammar 2023-03-28 13:00:07 +03:00
Yury Shkoda b00db86811 chore(session-manager): renamed ErrorResponse interface to ApiErrorResponse 2023-03-27 18:34:44 +03:00
Yury Shkoda 96caadc6b1 test(request-client): fixing self-signed certificate error 2023-03-27 17:08:06 +03:00
Yury Shkoda 074a21c4bb test(session-manager): fixed server url 2023-03-27 16:53:45 +03:00
Yury Shkoda 588a4169bb docs(session-manager): added method descriptions 2023-03-27 16:43:33 +03:00
Yury Shkoda 3d4c01622e chore(session-manager): improved error handling 2023-03-27 16:40:57 +03:00
dependabot[bot] d166231c12 chore(deps): bump webpack from 5.73.0 to 5.76.3 in /sasjs-tests
Bumps [webpack](https://github.com/webpack/webpack) from 5.73.0 to 5.76.3.
- [Release notes](https://github.com/webpack/webpack/releases)
- [Commits](https://github.com/webpack/webpack/compare/v5.73.0...v5.76.3)

---
updated-dependencies:
- dependency-name: webpack
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-03-27 12:12:06 +00:00
Allan Bowe 6aee95b21d Merge pull request #794 from sasjs/issue-303
fix: modify the regex to handle the loginForm response on latest sas9
2023-03-27 13:09:11 +01:00
sabhas 3d281abbf8 chore: downgrade pem dev dependency by one minor version 2023-03-27 15:09:10 +05:00
sabhas 99d783e174 fix: write a message to the log indicating that a login was not attempted as a valid session already exists 2023-03-24 15:11:10 +05:00
Yury Shkoda 33bc8f92cb test(request-client): fixed typo 2023-03-24 12:15:10 +03:00
Yury Shkoda c1704fff78 feat(session-manager): refactored and covered with tests 2023-03-24 11:39:59 +03:00
sabhas 17a3d1b8a9 fix: modify the reqgex to handle the loginForm response on latest sas9 2023-03-22 23:33:42 +05:00
Allan Bowe 01af5eb634 Merge pull request #791 from sasjs/sas9-mini
feat: create a minified version for sas9  and web based appications
2023-03-16 13:36:08 +00:00
sabhas 0c3797e2de chore: deleted package-lock.json and recreated by npm install 2023-03-16 16:22:26 +05:00
sabhas c33c509207 chore: merge master 2023-03-16 13:40:22 +05:00
sabhas af351d7375 chore: bump webpack 2023-03-16 12:39:39 +05:00
sabhas 2b53406cac chore: no need for forked version of tough cookie 2023-03-16 00:28:06 +05:00
sabhas 99cfb8b2af feat: created a minified version of adapter for executing web jobs on sas9 2023-03-16 00:26:08 +05:00
Yury Shkoda 891cc13362 feat(session-manager): improving performance 2023-03-14 10:48:18 +03:00
Yury Shkoda 22fa185715 feat: minified adapter for SAS9 2023-03-14 10:45:03 +03:00
Allan Bowe dad99557a7 Merge pull request #788 from sasjs/quick-fix
fix: throw error as it is when its an instance of JobExecutionError
2023-03-06 10:15:36 +00:00
sabhas c7cc2e5fa4 fix: throw error as it is in sas9RequestClient when its an instance of JobExecutionError 2023-03-06 14:53:42 +05:00
Allan Bowe 2bd7544051 Merge pull request #787 from sasjs/issue-786
fix: removing .do from loginUrl mechanism
2023-02-21 18:56:12 +00:00
medjedovic 1fb972d88a chore: improved url match 2023-02-21 16:10:14 +01:00
medjedovic 64f8f8c893 fix: removing .do from loginUrl mechanism 2023-02-21 16:04:50 +01:00
Sabir Hassan ddb4a51c55 Merge pull request #785 from sasjs/issue-783
Sasjs executor not re-sending waiting requests
2023-02-15 21:45:16 +05:00
medjedovic 921d6ef364 fix: sasjs executor not re-sending waiting requests 2023-02-15 17:26:23 +01:00
Allan Bowe 105675d46a Merge pull request #784 from sasjs/medjedovicm-issue-template
Create issue_template.md
2023-02-15 16:18:27 +00:00
Allan Bowe e4addba762 Update issue_template.md 2023-02-15 16:17:02 +00:00
medjedovic 8203e918fd Create issue_template.md 2023-02-15 17:15:24 +01:00
Allan Bowe 2210e43880 chore: update README
Thanks @saramartinelli1992

https://github.com/sasjs/adapter/issues/781#issuecomment-1420943632
2023-02-07 15:20:10 +00:00
dependabot[bot] 4cb150e951 chore(deps): bump http-cache-semantics in /sasjs-tests
Bumps [http-cache-semantics](https://github.com/kornelski/http-cache-semantics) from 4.1.0 to 4.1.1.
- [Release notes](https://github.com/kornelski/http-cache-semantics/releases)
- [Commits](https://github.com/kornelski/http-cache-semantics/compare/v4.1.0...v4.1.1)

---
updated-dependencies:
- dependency-name: http-cache-semantics
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-02-04 13:53:04 +00:00
Allan Bowe b04df0bc6d Merge pull request #779 from sasjs/issue-771
fix: bump axios version
2023-02-01 10:23:29 +00:00
sabhas 98e851b4d8 chore: npm audit fix 2023-01-31 23:08:56 +05:00
sabhas 84306bea3d fix: bump axios version to 0.27.2 2023-01-31 23:05:54 +05:00
sabhas 89d32262f8 chore: form-data provides its own type definitions, so you do not need @types/form-data installed 2023-01-31 15:49:40 +05:00
sabhas 257010f57d chore: axios provides its own type definitions, so you don't need @types/axios installed 2023-01-31 15:48:08 +05:00
sabhas eb9991015b chore: fix npm install 2023-01-31 15:45:49 +05:00
Allan Bowe 9d17e87a09 Merge pull request #778 from sasjs/issue-777
fix: improve error message when sasjs runner is not found
2023-01-30 19:12:48 +00:00
sabhas 55f309e998 chore: quick fix 2023-01-30 23:50:40 +05:00
sabhas 3d9b40398c fix: improve error message when sasjs runner is not found 2023-01-30 23:22:43 +05:00
Allan Bowe e0badae973 fix: bumping semantic release package 2023-01-26 13:51:22 +00:00
Allan Bowe 524c561390 Merge pull request #775 from sasjs/import-node-env
fix: createReadStream import where needed
2023-01-26 13:46:39 +00:00
medjedovic e7ceac1b78 fix: createReadStream import where needed
It's node specific util and othervise adapter was failing on browser environment
2023-01-09 13:07:51 +01:00
dependabot[bot] fc8598473f chore(deps): bump json5 from 1.0.1 to 1.0.2 in /sasjs-tests
Bumps [json5](https://github.com/json5/json5) from 1.0.1 to 1.0.2.
- [Release notes](https://github.com/json5/json5/releases)
- [Changelog](https://github.com/json5/json5/blob/main/CHANGELOG.md)
- [Commits](https://github.com/json5/json5/compare/v1.0.1...v1.0.2)

---
updated-dependencies:
- dependency-name: json5
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-01-08 11:36:38 +00:00
Allan Bowe 72ddd424a5 Merge pull request #772 from sasjs/add-deployZipFile
feat: add a new method deployZipFile in sasjsAPiClient class
2022-12-06 11:25:48 +00:00
sabhas 85f771d1ed feat: add a new method deployZipFile in sasjsAPiClient class 2022-12-06 14:51:34 +05:00
dependabot[bot] 367e0ae25a chore(deps): bump loader-utils from 2.0.2 to 2.0.4 in /sasjs-tests
Bumps [loader-utils](https://github.com/webpack/loader-utils) from 2.0.2 to 2.0.4.
- [Release notes](https://github.com/webpack/loader-utils/releases)
- [Changelog](https://github.com/webpack/loader-utils/blob/v2.0.4/CHANGELOG.md)
- [Commits](https://github.com/webpack/loader-utils/compare/v2.0.2...v2.0.4)

---
updated-dependencies:
- dependency-name: loader-utils
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-11-16 06:56:29 +00:00
Allan Bowe 1a781c3a56 chore: adding matrix room link in action 2022-10-24 21:25:52 +00:00
Allan Bowe 296d4efdfb Merge pull request #768 from sasjs/update-sasjs-tests-deps
fix: vulnerabilities in sasjs-tests
2022-10-24 21:48:22 +01:00
sabhas 8df09d01de fix: bump deps versions
@sasjs/test-framework
node-sass
2022-10-25 01:41:09 +05:00
Allan Bowe 2d4a9d6dee chore: updating matrix room id for matrixbot 2022-10-24 10:24:46 +00:00
Allan Bowe 38c30f6342 Merge pull request #767 from sasjs/removevpn
fix: removing old vpn files
2022-10-24 11:12:01 +01:00
Allan Bowe dd72304bc7 fix: removing old vpn files
BREAKING CHANGE: The _previous_ commit introduced some breaking changes, due to method re-organisation, namely:
* merged executableScriptSAS9, executableScriptSASViya and executableScriptSASjs methods to executableScript
* removed deployToSASjs and executeJobSASjs from the main SASjs moodule, as we can use the SASjsApiClient directly for these operations
2022-10-24 10:10:39 +00:00
Allan Bowe 296a543b2d Merge pull request #766 from sasjs/breaking-change
fix!: move methods from main sasjs class to respective api client class
2022-10-20 14:02:06 +01:00
sabhas 70b31dcb8f fix: export SasjsRequestClient from main index.ts 2022-10-18 19:10:46 +05:00
sabhas b0c2a81989 fix: remove deployToSasjs and executeJobSasjs from main sasjs module 2022-10-18 19:09:56 +05:00
sabhas 53e167b17d fix: merge executeScriptSAS9, executeScriptSASViya and executeScriptSASjs into single executeScript
BREAKING CHANGE
2022-10-17 23:14:51 +05:00
Allan Bowe 5159318d0d chore: final edit to matrix 2022-10-07 12:35:09 +00:00
Allan Bowe 6842ee13e4 chore: matrix curl syntax 2022-10-07 12:29:13 +00:00
Allan Bowe 2ce0395a2e chore: new gh-pages action 2022-10-07 12:24:58 +00:00
Allan Bowe 63440ddfd2 chore: matrix message fix 2022-10-07 12:20:37 +00:00
Allan Bowe eb6729a9c7 chore: fix error if folder does not exist 2022-10-07 12:13:40 +00:00
Allan Bowe 9cd9dc83f3 chore: putting docs back in docs folder 2022-10-07 12:06:47 +00:00
Allan Bowe 7608887a0e chore: move to gh-pages 2022-10-07 12:00:55 +00:00
Allan Bowe b453717fbc chore: removing docs folder 2022-10-07 11:56:35 +00:00
Allan Bowe ecc896e52a Merge pull request #765 from sasjs/matrix
chore: moving slack message to matrix
2022-10-07 12:53:01 +01:00
Allan Bowe e881e21f80 chore: moving slack message to matrix 2022-10-07 11:51:44 +00:00
Allan Bowe 44d6cfd544 Merge pull request #764 from sasjs/fix-workflow
chore: fix workflow syntax
2022-10-07 12:36:28 +01:00
sabhas b0c9ca3f9f chore: fix workflow syntax 2022-10-07 16:19:00 +05:00
Allan Bowe e6f7781648 Merge pull request #763 from sasjs/move-docs-generation-to-pipeline
chore: added github workflow for generating docs
2022-10-07 12:13:45 +01:00
sabhas b07770eb7b chore: added github workflow for generating docs 2022-10-07 16:05:55 +05:00
Allan Bowe c498783d76 Merge pull request #762 from sasjs/remove-node-version-check
fix: remove the invocation of checkNodeVersion script
2022-09-28 16:16:03 +01:00
sabhas 7b3b1d7d7d fix: remove the invocation of checkNodeVersion script 2022-09-28 20:11:16 +05:00
Allan Bowe 60d3ff2d39 Merge pull request #759 from sasjs/sas9-extract-username
fix: sas9 extractUserName improvement
2022-09-28 10:52:49 +01:00
Saad Jutt 5217198ef6 Merge pull request #761 from sasjs/introduced-user-long-name
Introduced user long name
2022-09-26 17:25:09 +05:00
Saad Jutt 3a16c83697 test: AuthManager specs are updated/removed 2022-09-25 17:30:07 +05:00
Saad Jutt e65b19b85e test: updated and renamed to extractUserLongNameSas9 2022-09-25 17:09:33 +05:00
Saad Jutt a1c09ec802 fix(auth): login and check session returns username + user full name 2022-09-25 01:11:22 +05:00
medjedovic 2cbba38af5 chore: sas9 username parsing bring back 2022-09-22 16:58:39 +02:00
medjedovic 61fdf5573b chore: specs fixing, regex improve 2022-09-22 16:26:45 +02:00
medjedovic 5259cf3942 chore: added back docs 2022-09-22 16:02:07 +02:00
medjedovic 5f17f77018 chore: gitignore 2022-09-22 16:00:01 +02:00
medjedovic 84b46d02c9 chore: improved algorithm for detecting log off word 2022-09-22 15:56:48 +02:00
medjedovic 4ec57d93dd fix: removed shortening 2022-09-22 13:14:56 +02:00
medjedovic 8e73f543c3 chore(git): Merge branch 'sas9-extract-username' of github.com:sasjs/adapter into sas9-extract-username 2022-09-22 13:08:31 +02:00
medjedovic a45edbc066 chore(git): Merge branch 'master' into sas9-extract-username 2022-09-22 12:55:18 +02:00
medjedovic 9258817887 chore: docs removed 2022-09-22 12:54:34 +02:00
medjedovic 1f35e01f22 chore: docs removed 2022-09-22 12:38:59 +02:00
medjedovic 59af907202 chore: typedoc 2022-09-22 12:35:28 +02:00
medjedovic cd00c483c5 chore: docs 2022-09-22 01:16:10 +02:00
medjedovic a01eb948b5 fix: sas9 extractUserName improvement 2022-09-22 01:05:53 +02:00
Allan Bowe d746d21dee Merge pull request #756 from sasjs/execute-job
fix: executeJob method fixed for SASjsApiClient
2022-09-20 19:04:52 +01:00
sabhas d7330617df chore: update docs 2022-09-20 22:02:15 +05:00
sabhas b72cee099c chore: bump dependencies and fix vulnerabilities 2022-09-20 22:00:51 +05:00
sabhas 9871ce4fb3 fix: executeJob method fixed for SASjsApiClient 2022-09-20 02:04:44 +05:00
Allan Bowe 16185eba4d Merge pull request #753 from sasjs/all-contributors/add-rudvfaden
docs: add rudvfaden as a contributor for userTesting, doc
2022-08-30 16:35:29 +01:00
Allan Bowe eae14df683 Merge pull request #752 from rudvfaden/label
Correted label in read.me to dslabel
2022-08-30 16:32:04 +01:00
allcontributors[bot] d989f74112 docs: update .all-contributorsrc [skip ci] 2022-08-30 15:30:12 +00:00
allcontributors[bot] 64d72ea0c2 docs: update README.md [skip ci] 2022-08-30 15:30:11 +00:00
Rud Faden 325202c8e1 Correted label in read.me to dslabel 2022-08-30 17:16:52 +02:00
Allan Bowe e9422898b6 Merge pull request #751 from sasjs/quick-fix
fix: should not assign error to parsedSasjsServeLog
2022-08-28 22:42:07 +01:00
sabhas 2b7281e70c fix: should not assign error to parsedSasjsServeLog 2022-08-29 02:34:13 +05:00
Allan Bowe c1e3a9f5bb Merge pull request #745 from sasjs/matrix
chore: moving github docs to .github folder and migrating discord hook to matrix
2022-08-25 12:44:12 +01:00
Sabir Hassan d249295b49 Merge pull request #749 from sasjs/update-sasjs-request-client
fix: update parse response method of sasjsRequestClient
2022-08-25 00:19:33 +05:00
sabhas 010fd063df fix: update parse response method of sasjsRequestClient 2022-08-25 00:06:10 +05:00
Sabir Hassan c6bbf1ff34 Merge pull request #746 from sasjs/handle-updated-sasjs-response
fix: handled updated sasjs response
2022-08-24 21:03:17 +05:00
Allan Bowe f1df27fdf1 Merge pull request #748 from sasjs/issue-741
fix: error when multiple redirections happen while debug is on
2022-08-24 14:44:45 +01:00
medjedovic eb739a83a4 chore: fix 2022-08-24 15:16:47 +02:00
medjedovic d8b686dd7e fix: error when multiple redirections happen while debug is on 2022-08-24 15:12:13 +02:00
sabhas 3d8eb762d0 chore: quick fix 2022-08-23 15:56:13 +05:00
sabhas c551cd0311 fix: created sasjsJobExecutor class and overrided parseResponse for sasjsRequestClient 2022-08-23 15:47:50 +05:00
sabhas 4a319f1aef fix: handled updated sasjs response 2022-08-19 16:10:05 +05:00
Allan Bowe a0b8316d7c Update README.md 2022-08-12 15:48:38 +01:00
munja 3b53d5b3ae chore: fix body 2022-08-07 14:52:42 +01:00
munja dfebab5abc chore: fix body 2022-08-07 14:52:08 +01:00
munja 8d5ee0d6e1 chore: json payload 2022-08-07 14:16:36 +01:00
munja 1ed7a11fc3 chore: testing json payload 2022-08-07 14:03:59 +01:00
munja abe95f5432 chore: moving github docs to .github folder and migrating discord hook to matrix 2022-08-07 13:47:50 +01:00
Allan Bowe 92be5a2dca Merge pull request #744 from sasjs/sasjs-server-csrf-cookie
fix(server): csrf cookie is created explicitly
2022-08-04 02:03:06 +01:00
Saad Jutt f58f2eba97 chore: error needs to be more specific 2022-08-04 05:59:39 +05:00
Saad Jutt e37bb182c3 fix(server): csrf cookie is created explicitly 2022-08-04 05:04:43 +05:00
Allan Bowe 504777603c Merge pull request #743 from sasjs/issue-722
fix: improve input validations
2022-07-28 13:03:03 +01:00
sabhas 706cbe5513 chore: add unit tests for validateInput 2022-07-28 14:23:00 +05:00
sabhas 88eadd27aa chore: moved utils specs to spec folder 2022-07-28 14:22:16 +05:00
sabhas 4ed9f87434 fix: moved validateInput method to separate file and added some additional validation 2022-07-28 14:20:41 +05:00
Allan Bowe f0f80a1c1f Merge pull request #742 from sasjs/issue-721
fix: add additional check for string type before converting data to lower case
2022-07-27 20:42:48 +01:00
sabhas d0d8d58945 fix: add additional check for string type before converting data to lower case 2022-07-27 18:30:47 +05:00
Yury Shkoda 657721d7a3 Merge pull request #736 from sasjs/issue-735
fix(refresh-token): improved error message
2022-07-18 16:56:58 +03:00
Yury Shkoda a39faa0f4b fix(refresh-token): improved error message 2022-07-18 14:35:33 +03:00
Allan Bowe 7b8fb774cc Update dependabot.yml 2022-07-13 22:25:50 +01:00
Allan Bowe 982c4c329c Merge pull request #734 from sasjs/issue-733
fix: special missing double dot issue
2022-07-07 19:23:02 +01:00
medjedovic 8617e2dc57 fix: special missing double dot issue 2022-07-07 17:58:27 +02:00
Allan Bowe d3d62f6888 Merge pull request #731 from sasjs/issue-730
fix: do not throw job execution error if response contains >>weboutBEGIN<<
2022-06-29 16:33:03 +02:00
Allan Bowe bf35e52962 Merge pull request #713 from sasjs/critical-deps-issues
Fixed critical dependencies issues
2022-06-29 14:24:29 +02:00
sabhas 22eca50e3f fix: do not throw job execution error if response contains >>weboutBEGIN<< 2022-06-29 16:59:03 +05:00
Yury Shkoda eb83101dbf fix(sasjs-test): addede appLoc to useEffect deps 2022-06-29 08:46:52 +03:00
Yury Shkoda 56d84e1940 fix(sasjs-tests): used appLoc from config 2022-06-29 08:37:59 +03:00
Yury Shkoda 283800dfa6 fix(special-missings): fixed formats table sent as part of sasjs_tables 2022-06-28 10:17:22 +03:00
Yury Shkoda c073d72dd4 chore(deps): regenerated package-locks 2022-06-24 16:16:36 +03:00
Yury Shkoda f5d40eaaf7 chore: Merge branch 'deps-fix' into critical-deps-issues 2022-06-24 16:13:43 +03:00
Yury Shkoda 8e9cf98985 fix(deps): semantic-release, @sasjs/test-framework 2022-06-24 15:47:34 +03:00
Allan Bowe 79ba044dea Update README.md 2022-06-24 11:49:48 +01:00
Allan Bowe 9329dc848a Update README.md 2022-06-24 11:46:09 +01:00
Allan Bowe 98c492e85e Merge pull request #729 from sasjs/update-AuthManager
fix: update logout url
2022-06-21 22:10:26 +02:00
sabhas d1fcc2ca0a fix: update logout url 2022-06-22 00:53:49 +05:00
Yury Shkoda 122f302bae Merge pull request #728 from sasjs/deps-fix
fix(workflow): added actions/setup-node@v2
2022-06-20 20:44:57 +03:00
Yury Shkoda c3a0ad1f41 fix(workflow): added actions/setup-node@v2 2022-06-20 20:43:11 +03:00
Yury Shkoda a28b48f815 Merge pull request #726 from sasjs/deps-fix
fix(workflows): fixed npmpublish workflow
2022-06-20 20:36:13 +03:00
Yury Shkoda 9b6a42e412 fix(workflows): fixed npmpublish workflow 2022-06-20 20:33:44 +03:00
Allan Bowe db60962c1e Merge pull request #725 from sasjs/allanbowe-patch-1
fix: bumping with README updates
2022-06-20 19:29:15 +02:00
Allan Bowe 1eae59ad3b fix: bumping with README updates 2022-06-20 18:28:47 +01:00
Allan Bowe d485023d65 Update dependabot.yml 2022-06-20 18:09:07 +01:00
Allan Bowe c2f21babb4 Merge pull request #723 from sasjs/deps-fix
Regenerated package-lock and fixed linting issues
2022-06-20 19:03:17 +02:00
Yury Shkoda dd788ae423 chore(lint): fixed linting 2022-06-20 19:48:42 +03:00
Yury Shkoda a113c95441 chore(deps): added prettier dev dependency 2022-06-20 19:36:12 +03:00
Yury Shkoda 489947bcae chore(lint): fixed linting issues 2022-06-20 19:26:29 +03:00
Yury Shkoda 1596173dda fix(deps): regenerated package-lock 2022-06-20 19:24:09 +03:00
Allan Bowe bb1b2ddcb2 Merge pull request #719 from sasjs/issue-718
fix: parse the logs before appending the request to request array whe…
2022-06-20 17:53:44 +02:00
sabhas a3cc274ef1 chore: no need to appendRequest from then block when there is jobExecutionError 2022-06-10 15:38:03 +05:00
sabhas 451d0906fa chore: update error message 2022-06-10 15:31:09 +05:00
sabhas dd6b89b0d0 fix: parse the logs before appending the request to request array when server type is sasjs 2022-06-09 23:11:47 +05:00
dependabot[bot] 85dde61baf chore(deps): bump semver-regex from 3.1.3 to 3.1.4
Bumps [semver-regex](https://github.com/sindresorhus/semver-regex) from 3.1.3 to 3.1.4.
- [Release notes](https://github.com/sindresorhus/semver-regex/releases)
- [Commits](https://github.com/sindresorhus/semver-regex/commits/v3.1.4)

---
updated-dependencies:
- dependency-name: semver-regex
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2022-06-03 23:43:27 +00:00
Yury Shkoda f602d5baf0 chore(deps): added prettier 2022-06-01 10:08:50 +03:00
Yury Shkoda 4744dbf196 fix(deps): fixed critical vulnerabilities 2022-06-01 09:53:22 +03:00
Allan Bowe f0525c5796 Merge pull request #674 from sasjs/numeric-missing
fix: special missings accept - regular missing .
2022-05-23 14:11:30 +03:00
Allan Bowe 01bcfe176a Merge pull request #712 from sasjs/issue-711
When expires csrf token, re-fetch and empty webout fix
2022-05-23 14:03:42 +03:00
medjedovic 076ed1cc7a chore: added special missing test 2022-05-23 12:59:48 +02:00
medjedovic 0a3289b577 chore(git): Merge branch 'master' into numeric-missing 2022-05-23 12:47:13 +02:00
Allan Bowe cbb55ff426 chore: updating README in server tests to deploy backend 2022-05-20 17:43:49 +00:00
medjedovic 6d47174a5e fix: csrf token fetch and empty webout promise finish 2022-05-20 16:43:46 +02:00
Allan Bowe ae13ca523c Merge pull request #474 from sasjs/auto-tests
sasjs-tests automation
2022-05-17 12:17:08 +03:00
medjedovic 843cee4dbe chore: fixed test err handling 2022-05-16 15:42:12 +02:00
Yury Shkoda 1ac88ae102 chore: changed let to const 2022-05-12 10:04:38 +03:00
Yury Shkoda a79766c00c chore(cypress): removed comment 2022-05-12 09:54:27 +03:00
Yury Shkoda 3bc70b91b8 fix(npm): pined dep versions 2022-05-12 09:49:04 +03:00
Yury Shkoda b0b1c32180 feat(npm): ignored files not needed for npm package 2022-05-12 09:35:43 +03:00
Yury Shkoda 5b81e0bf4a chore: add blank lines at the end of the files 2022-05-12 09:14:24 +03:00
Yury Shkoda 54a33ac98a chore(lint): fixed lint issues in cypress folder 2022-05-12 09:06:52 +03:00
Yury Shkoda dd237ceeec feat(lint): add cypress folder to lint scripts 2022-05-12 09:06:05 +03:00
medjedovic 552540fb88 fix: sasjs log not append to requests 2022-05-11 23:00:32 +02:00
medjedovic 6d50d4030e chore(git): Merge branch 'master' into auto-tests 2022-05-11 18:00:03 +02:00
Allan Bowe 8856c3b6ec Merge pull request #708 from sasjs/client-deprecate
ClientID when login to SASJS server deprecation
2022-05-11 17:27:57 +03:00
Saad Jutt b8ea618f1e fix: removed getAuthCode function 2022-05-11 19:22:01 +05:00
Saad Jutt 10c72e6483 fix(login): making login requet with CSRF for SASJS server 2022-05-11 19:07:30 +05:00
Saad Jutt 9d03b54fba chore: Merge branch 'master' into client-deprecate 2022-05-11 19:02:37 +05:00
Allan Bowe 38ad9abfbc Merge pull request #709 from sasjs/lint-precommit
chore: running lint as pre-commit hook
2022-05-11 15:32:02 +03:00
medjedovic 42d9a85cfa chore: pull request template update 2022-05-11 14:24:09 +02:00
medjedovic 39f14cc5a0 chore: formatting 2022-05-11 12:04:44 +02:00
medjedovic 29a65052dc chore: pre commit hook 2022-05-10 14:54:34 +02:00
medjedovic 63328163ab chore: pre-push run lint 2022-05-10 14:09:41 +02:00
Allan Bowe aebf4ea8d8 Update pre-commit 2022-05-10 12:22:40 +01:00
Allan Bowe 59e3edf4b3 Update pre-commit 2022-05-10 11:42:35 +01:00
medjedovic 8f309143e9 chore: comment 2022-05-10 12:37:50 +02:00
medjedovic a65d4257a5 chore: running lint as pre-commit hook 2022-05-10 12:32:05 +02:00
medjedovic 5d2f1d306a style: lint 2022-05-09 16:08:49 +02:00
medjedovic f7bd63ee7f chore: removing clientid 2022-05-09 16:05:50 +02:00
medjedovic a4cd320272 chore: utils import fix 2022-05-09 15:47:24 +02:00
medjedovic c243f25477 fix: deprecating sasjs client id 2022-05-09 13:26:17 +02:00
medjedovic 382a19ccfc chore: ci 2022-05-04 13:19:26 +02:00
medjedovic acc56e3a53 chore: ci 2022-05-04 13:10:11 +02:00
medjedovic 1d0fb1774a ci: fix 2022-05-04 12:56:56 +02:00
medjedovic b67340cc70 chore: ci 2022-04-29 16:12:51 +02:00
medjedovic 831023fe1c chore: ci 2022-04-29 15:58:12 +02:00
medjedovic 04f7cdf8ff chore: ci 2022-04-29 15:42:33 +02:00
medjedovic d01a6a60ad chore: ci 2022-04-29 15:34:45 +02:00
medjedovic 7c17f0f584 chore: ci 2022-04-29 15:25:39 +02:00
medjedovic 092b995d14 ci: test 2022-04-29 15:23:21 +02:00
medjedovic eb296bf93c chore: ci fix 2022-04-29 14:53:20 +02:00
medjedovic e2e15ce8e1 fix: sasjs login login callback 2022-04-29 14:26:34 +02:00
medjedovic 3c59db91cd chore(git): Merge branch 'master' into auto-tests 2022-04-29 12:40:51 +02:00
medjedovic a97b2f43ca chore: sasjs login fix 2022-04-29 12:40:38 +02:00
medjedovic fdd3a261e5 chore: package-lock refresh 2022-04-29 11:24:24 +02:00
medjedovic f69e5afaf0 style: lint 2022-04-28 20:48:21 +02:00
medjedovic 7b78f65c4a fix: utils import, tests fix, auto testing script 2022-04-28 20:46:36 +02:00
Allan Bowe 72ed5e3fab chore: update test suite README with lrecl option 2022-04-28 11:11:46 +01:00
Muhammad Saad 6bfd7024ce Merge pull request #705 from sasjs/issue-703
sasjs server type - request and job execution auth fix
2022-04-27 19:18:44 -07:00
medjedovic aabe473ef6 style: lint 2022-04-27 16:26:37 +02:00
medjedovic 8a7d08c3b9 chore(git): Merge branch 'master' into auto-tests 2022-04-27 16:26:02 +02:00
medjedovic fdc3e1cce8 style: lint 2022-04-26 17:41:35 +02:00
medjedovic fc47222830 fix: web request method - login callback handling 2022-04-26 17:37:13 +02:00
Yury Shkoda 0a5de21386 Merge pull request #704 from sasjs/chore
chore: removed console.log
2022-04-26 17:34:58 +03:00
Yury Shkoda 1cbe57d512 chore: removed console.log 2022-04-26 17:25:21 +03:00
medjedovic 936e4f8c0a fix: sasjs server type - request and job execution auth fix 2022-04-26 16:18:36 +02:00
Allan Bowe 4ebf949912 Merge pull request #699 from sasjs/special-missing
Special missing function from @sasjs/utils
2022-04-26 13:54:11 +03:00
medjedovic c00c8007e5 chore: utils update 2022-04-26 12:27:55 +02:00
medjedovic 54516665bf chore: string escaping 2022-04-22 11:54:59 +02:00
medjedovic ecec2e77c0 chore: error improved 2022-04-21 15:45:59 +02:00
Allan Bowe 102898ac33 Merge pull request #700 from sasjs/parse-log-in-executeScript
fix: parse log in executeScript method on sasjs server
2022-04-18 21:31:31 +03:00
sabhas 7370a2be4c fix: can not read property map of undefined 2022-04-18 23:28:12 +05:00
sabhas 135d019026 chore: update tsdoc for executeScript method 2022-04-18 22:56:51 +05:00
sabhas e2651344d7 fix: parse log in executeScript method on sasjs server 2022-04-18 22:50:27 +05:00
medjedovic 9bf3885868 chore: test fix 2022-04-18 14:54:50 +02:00
medjedovic caa5aa47dc fix: isSpecialMissing from utils 2022-04-18 14:49:57 +02:00
Allan Bowe 7a42bc1b88 Merge pull request #698 from sasjs/executeScriptSASjs
feat: add method for executing scripts on sasjs server
2022-04-13 21:49:46 +03:00
Allan Bowe 6c02ee4cd6 Update SASjs.ts 2022-04-13 19:49:16 +01:00
sabhas 73ee214b61 feat: add method for executing scripts on sasjs server 2022-04-13 18:22:26 +05:00
Muhammad Saad 77487bfa35 Merge pull request #696 from sasjs/certificate-error
fix(error): throw Certificate error wherever possible
2022-04-08 14:32:02 -07:00
Saad Jutt 9cf0165cf7 chore(error): removed extra prefix of Error: 2022-04-08 14:13:41 +05:00
Saad Jutt e4d4b3142f chore: updated error message 2022-04-08 00:01:15 +05:00
Saad Jutt a87be39b44 fix(error): throw Certificate error wherever possible 2022-04-07 23:57:44 +05:00
Allan Bowe 8ea621ac98 Merge pull request #687 from sasjs/issue-686
fix: file upload on SASJS SERVER
2022-04-04 12:37:29 +03:00
medjedovic ea61119919 chore(git): Merge branch 'master' into issue-686 2022-03-31 15:09:21 +02:00
Allan Bowe 01235616a0 Merge pull request #690 from sasjs/issue-689
fix: update code for extracting JSON URL on viya4 when debug is enabled
2022-03-31 15:54:20 +03:00
Muhammad Saad 10051cb7d1 Merge pull request #692 from sasjs/deploy-to-sasjs-server
fix(deploy): to SASJS with complete JSON object
2022-03-31 17:18:17 +05:00
Saad Jutt 7b0ad2d60d chore: sasjs/utils version bump 2022-03-31 16:39:46 +05:00
Saad Jutt fc0a450e94 fix(deploy): to SASJS with complete JSON object 2022-03-31 04:20:49 +05:00
sabhas 6cab245cde fix: update code for extracting json url when debug is enabled 2022-03-30 01:22:03 +05:00
medjedovic ed90cd8036 chore: uploadFile test added 2022-03-28 17:32:30 +02:00
Allan Bowe 784bab4522 fix: adding README for new sendMacVars service 2022-03-28 12:30:01 +00:00
Allan Bowe ee97e8211e Merge pull request #685 from sasjs/issue-684
fix: blob is not defined
2022-03-28 14:26:58 +03:00
medjedovic b0eb8b07a8 style: lint 2022-03-25 18:11:20 +01:00
medjedovic 1d1ef7179e fix: file upload on SASJS SERVER
Also fixed appendRequest when debug on while on SASJS SERVER
2022-03-25 18:05:47 +01:00
sabhas d0eb1a7bfb fix: should not create blob in node 2022-03-24 02:43:14 +05:00
Allan Bowe 256e4ef314 Merge pull request #681 from sasjs/sasjs-deploy-with-streaming-app
feat(deploy): stream app deployment on SASJS server
2022-03-21 23:54:40 +02:00
Saad Jutt 6a6dfc5e9d chore: corrected authorised in SASjs.ts only 2022-03-22 02:49:46 +05:00
Saad Jutt 5140848039 chore: sasjs deploy return template type 2022-03-22 02:38:20 +05:00
Saad Jutt 31baf01d3e feat(deploy): stream app deployment on SASJS server 2022-03-22 01:18:02 +05:00
Allan Bowe 804e78cf0c Merge pull request #678 from sasjs/issue-677
fix: return requestPromise from sas9JobExecutor
2022-03-11 12:54:17 +02:00
sabhas f6a621fe46 chore: update comments 2022-03-11 14:22:45 +05:00
sabhas c47d0c9789 fix: return requestPromise from sas9JobExecutor #677 2022-03-11 14:16:44 +05:00
Allan Bowe 1ddc71b017 Create CNAME 2022-03-10 12:08:46 +00:00
Allan Bowe 3e507885ab Merge pull request #676 from sasjs/issue-675
fix: no need to stringify res/err in sas9JobExecutor before appending…
2022-03-10 14:06:50 +02:00
sabhas e92d0d73b5 chore: add comments 2022-03-10 16:17:09 +05:00
sabhas 00a99e752c fix: no need to stringify res/err in sas9JobExecutor before appending request #675 2022-03-10 15:44:38 +05:00
Allan Bowe b13f3d2fcb Merge pull request #667 from sasjs/sas-viya-auth-code-responses
fix: raising error with details we get from server
2022-03-09 11:34:40 +02:00
medjedovic d2ea67e5d6 chore: docs 2022-03-08 18:32:45 +01:00
medjedovic b0df4cb7ee fix: special missings accept - regular missing . 2022-03-08 18:28:48 +01:00
Allan Bowe 16f034766f Merge pull request #673 from sasjs/issue-672
fix: fallback to contextName from sasjs config if provided…
2022-03-07 15:44:19 +02:00
sabhas 31004da20d chore: lint fix 2022-03-07 18:01:12 +05:00
sabhas a607c56bb3 fix(issue-672): fallback to contextName from sasjs config if provided contextName is empty 2022-03-07 17:49:36 +05:00
Allan Bowe f372adca5b Merge pull request #666 from sasjs/fix-typedoc-configuration
fix: typedoc configuration
2022-03-04 12:24:33 +02:00
Allan Bowe 76a51a3e9c Merge pull request #671 from sasjs/issue-669
fix: Viya 4 provides incorrect memberCount in the folders API
2022-03-04 12:23:38 +02:00
sabhas 6adf8a2e78 chore: update comment 2022-03-04 15:08:50 +05:00
sabhas 5a92d96ba2 fix: Viya 4 provides incorrect memberCount 2022-03-04 14:47:35 +05:00
Yury Shkoda 827c93886a Merge pull request #668 from sasjs/special-missings
fix: special missing values
2022-03-04 11:07:31 +03:00
Yury Shkoda f6abb61c69 fix(convert-to-csv): return empty string if table is not an array 2022-03-03 17:31:23 +03:00
Yury Shkoda 4f3478c215 chore: Merge branch 'special-missings' of https://github.com/sasjs/adapter into special-missings 2022-03-03 15:13:58 +03:00
Yury Shkoda 5927910a52 refactor(convert-to-csv): change func arguments 2022-03-03 15:07:01 +03:00
medjedovic 88f1c2f843 chore: added viya web approach test (special missing) 2022-03-03 13:00:14 +01:00
Yury Shkoda ff5dc5f196 fix(special-missing): fix generateFileUploadForm func 2022-03-03 10:59:27 +03:00
Yury Shkoda f0f33cee52 chore(sasjs-tests): improve spelling and code readability 2022-03-03 10:58:51 +03:00
Saad Jutt 495e4b9069 test: updated RequestClient specs 2022-03-02 20:42:14 +05:00
Saad Jutt 2e843e3f36 fix: raising error with details we get from server 2022-03-02 20:25:56 +05:00
sabhas 1ee69cd6dc chore: use exact version 0.4.0 for typedoc-plugin-rename-defaults 2022-03-02 12:40:28 +05:00
sabhas 6b9e0ed2cf chore: merge master 2022-03-02 12:38:38 +05:00
sabhas 36d14bc75e chore: fix code styles 2022-03-02 12:25:18 +05:00
Yury Shkoda 82e061a09c Merge pull request #662 from sasjs/update-dependencies
chore(deps): update dependencies
2022-03-02 09:30:58 +03:00
sabhas 8de08bfc39 chore: update documentation 2022-03-02 00:17:42 +05:00
sabhas e317393132 fix: typedoc configuration fixed 2022-03-02 00:16:30 +05:00
medjedovic 888a2b9bd3 chore: test special missings with lowercase value 2022-03-01 17:17:11 +01:00
Allan Bowe b9defdd1dc Merge pull request #661 from sasjs/issue-660
fix(viya): updated getAccessTokenForViya with headers based on latest docs
2022-03-01 17:53:04 +02:00
medjedovic 6e8b19eda1 chore: special missings, test assertion improved, added failing test 2022-03-01 15:32:30 +01:00
Vladislav Parhomchik 83350b5dd8 chore(deps): update dependencies 2022-03-01 17:17:06 +03:00
Saad Jutt 2e14d4f28c test(viya): updated specs for getAccessTokenForViya 2022-03-01 17:53:04 +05:00
Saad Jutt 96cb77da45 fix(viya): updated getAccessTokenForViya with headers based on latest docs 2022-03-01 17:42:28 +05:00
Allan Bowe 1ee07eeecf Update README.md 2022-02-28 18:04:59 +00:00
Allan Bowe b4c0946883 Merge pull request #658 from sasjs/return-log-for-web-job-executor
fix: WebJobExecutor also returns log along result
2022-02-25 11:59:31 +02:00
Saad Jutt efcf3b273c fix: WebJobExecutor also returns log along result 2022-02-24 22:02:17 +05:00
Allan Bowe 761bf8de38 Merge pull request #657 from sasjs/sas9-job-execution-log-fix
fix: changed return code in case of job execution error
2022-02-24 15:53:07 +02:00
Saad Jutt 5ccfc18a35 fix: changed return code in case of job execution error 2022-02-24 04:06:18 +05:00
Muhammad Saad 92434e48ad Merge pull request #655 from sasjs/node-form-data-fix
fix: not to use NodeFormData function on web
2022-02-22 17:20:00 +05:00
Saad Jutt d3c91e143a fix: parse empty string in res to empty {} 2022-02-22 17:09:47 +05:00
Saad Jutt 872e73b5f0 fix: not to use NodeFormData function on web 2022-02-22 17:06:27 +05:00
Allan Bowe af4ad3a7af Merge pull request #654 from sasjs/axios-setting-for-larger-deploy-to-sasjs-server
fix: added additional params to axios POST while deploy to SASJS server
2022-02-22 13:21:12 +02:00
Saad Jutt 1ff67ed93c fix: added additional params to axios POST while deploy to SASJS server 2022-02-22 16:09:15 +05:00
Allan Bowe d2739d1791 Merge pull request #653 from sasjs/form-data-fix
fix: reverted sasjsJobExecutor no need for that
2022-02-22 11:15:16 +02:00
Allan Bowe 487cb489f3 fix: comments and logic tidy up 2022-02-22 08:38:25 +00:00
Saad Jutt d9cb2db61f fix: reverted sasjsJobExecutor no need for that 2022-02-22 06:53:29 +05:00
Muhammad Saad 35f37ac796 Merge pull request #650 from sasjs/sasjs-server-webout
fix: no need to parse if webout is an object
2022-02-21 15:54:12 +04:00
Saad Jutt d7ad0288b9 fix: no need to parse if webout is an object 2022-02-21 16:45:41 +05:00
Allan Bowe 9c98cabe6c Merge pull request #649 from sasjs/sasjs-server-log-parsing
fix: adopted new log structure of SASJS server
2022-02-20 23:27:36 +02:00
Saad Jutt a6f6897543 fix: adopted new log structure of SASJS server 2022-02-20 20:50:38 +05:00
Allan Bowe 2ea3925977 Merge pull request #647 from sasjs/issue-623
feat(sasjs-config): add optional attribute requestHistoryLimit
2022-02-18 16:25:49 +02:00
sabhas 489df78391 chore: lint fix 2022-02-18 15:30:24 +05:00
Allan Bowe 842c7f9b23 chore: adding docs for requestHistoryLimit 2022-02-17 20:46:09 +00:00
sabhas fe3f6d6287 feat(sasjs-config): add optional attribute requestHistoryLimit 2022-02-17 23:39:55 +05:00
munja 9728ebd98d chore: reducing dependabot limit to 2 per month 2022-02-17 11:07:03 +00:00
Allan Bowe 8e116d81d7 Merge pull request #641 from sasjs/issue-624
fix(special-missing): fix convertToCSV format object
2022-02-17 13:05:24 +02:00
Yury Shkoda fbca91144d test(generateFileUploadForm): add test data 2022-02-17 13:49:21 +03:00
Allan Bowe c392390147 Merge pull request #642 from sasjs/sasjs-server-job-executor
feat: execute job on SASJS server
2022-02-17 12:48:41 +02:00
Yury Shkoda 9b239abda0 test(generateFileUploadForm): add unit test 2022-02-17 13:34:13 +03:00
Allan Bowe 78945d9f45 Merge pull request #638 from sasjs/sasjsconfig-pathsasjs
fix: made pathsasjs non optional in sasjs config
2022-02-17 11:39:29 +02:00
Allan Bowe 1e0365de1c Merge pull request #643 from sasjs/sas9-deploy-bug
fix: reverted axios-cookiejar-support package
2022-02-17 11:38:29 +02:00
Saad Jutt c8d71b0267 fix: reverted axios-cookiejar-support package 2022-02-17 07:20:48 +05:00
Saad Jutt bfc534da15 feat: execute job on SASJS server 2022-02-17 02:01:19 +05:00
Yury Shkoda d3dff44918 fix(special-missings): fix convertToCSV format object 2022-02-16 17:13:00 +03:00
Yury Shkoda 4026b03005 Merge pull request #636 from sasjs/cli-issue-1108
feat(executeJobSASjs): add parse _webout in response
2022-02-15 12:46:55 +03:00
Yury Shkoda eab19a0e6e chore(deps): bump axios to fix follow-redirects issue 2022-02-15 09:59:26 +03:00
Yury Shkoda 1d7b7d654d chore(git): Merge remote-tracking branch 'origin/master' into cli-issue-1108 2022-02-15 09:52:05 +03:00
sabhas 2c4152a593 fix: made pathsasjs non optional in sasjs config 2022-02-14 02:02:41 +05:00
Yury Shkoda 30a99f9cc5 fix(executeJobSASjs): add parse webout response 2022-02-11 13:10:38 +03:00
Yury Shkoda b1979f63ef feat(executeJobSASjs): add _returnLog query option 2022-02-10 16:58:15 +03:00
medjedovic 1e5e803c92 chore(git): Merge branch 'master' into auto-tests 2021-08-16 13:49:38 +02:00
medjedovic ad34a9a4db chore: sleep removed 2021-08-16 12:12:52 +02:00
medjedovic 11e006741f chore: openvpn version 2021-08-16 11:17:41 +02:00
medjedovic 0bf385d1e0 fix: login issues 2021-07-29 14:27:17 +02:00
medjedovic b217499b59 chore: addressing comments 2021-07-28 18:18:26 +02:00
medjedovic d123296359 chore: code comment 2021-07-27 14:55:24 +02:00
medjedovic 50ab866652 style: lint 2021-07-27 14:15:23 +02:00
medjedovic f1252537a6 chore(git): Merge branch 'fixing-sas9-tests' into auto-tests 2021-07-27 14:12:11 +02:00
medjedovic b1682b6f32 ci: script test done 2021-07-27 14:07:16 +02:00
medjedovic ded7990096 fix: viya with web approach adding 2 underscores in front of program param 2021-07-27 14:05:34 +02:00
medjedovic 52e95e3455 ci: script test 2021-07-27 12:38:33 +02:00
medjedovic 1d13252045 ci: script test 2021-07-27 12:19:14 +02:00
medjedovic f4630309de chore: ci script fixing 2021-07-27 12:18:44 +02:00
medjedovic 27b6e46973 chore(git): Merge branch 'master' into auto-tests 2021-07-26 19:45:23 +02:00
medjedovic e5262a18d4 chore: sending message to slack if cypress with sasjs-tests fails 2021-07-26 19:38:59 +02:00
medjedovic cf10e83e91 test: cypress running with debug on and off, testing all request approaches 2021-07-26 19:16:47 +02:00
medjedovic 0bd156141c chore(git): Merge branch 'master' into fixing-sas9-tests 2021-07-26 14:53:52 +02:00
medjedovic 890608a3e8 test: requests for every approach 2021-07-26 14:52:26 +02:00
medjedovic a615c5fdb6 style: lint 2021-07-24 18:07:17 +02:00
medjedovic ca7ee83f7f chore: fixing multiple login attempts by adding pause between calling functions 2021-07-24 18:06:15 +02:00
medjedovic 97a530cc66 style: lint 2021-07-22 14:44:13 +02:00
medjedovic 317c8c81a0 chore: JES test disable on SAS9 2021-07-22 13:48:11 +02:00
medjedovic c87776ca1b chore(git): Merge branch 'master' into fixing-sas9-tests 2021-07-22 13:44:23 +02:00
medjedovic 04032831c3 fix: debug on test & make error and parse log test 2021-07-22 13:43:50 +02:00
medjedovic c8fb141048 chore: run sasjs testing as a part of npm release 2021-07-20 11:19:41 +02:00
medjedovic a429581089 test: fix 2021-07-16 12:32:48 +02:00
medjedovic dd05258dd2 test: fixing 2021-07-16 12:32:35 +02:00
medjedovic c0e5327e49 chore: cypress fix 2021-07-16 12:09:59 +02:00
medjedovic ffba2acad0 chore: script fix 2021-07-16 12:02:03 +02:00
medjedovic 64c624bf2e chore: config.json fix 2021-07-16 11:56:15 +02:00
medjedovic 2506d28dd4 chore: script fdix deploy sas9 2021-07-16 11:41:18 +02:00
medjedovic b6a438d222 chore: script fix 2021-07-16 11:38:17 +02:00
medjedovic 6f24a55a04 chore: script replace in files install timing 2021-07-16 11:35:15 +02:00
medjedovic 55045eb101 chore: script adapter version 2021-07-16 11:33:21 +02:00
medjedovic f5e367a645 chore: cpn added 2021-07-16 11:29:22 +02:00
medjedovic 017dc3a8b5 chore: script fix 2021-07-16 11:27:53 +02:00
medjedovic 7285a3f40b chore: adding known_hosts 2021-07-16 11:23:49 +02:00
medjedovic 438b39ceca chore: script fix 2021-07-16 11:20:26 +02:00
medjedovic a39b9ea38f chore: auto deploying sasjs-tests 2021-07-16 11:14:42 +02:00
medjedovic 836c3ba518 chore(git): Merge branch 'master' into auto-tests 2021-07-16 10:22:50 +02:00
medjedovic 2d2b4660dc chore(git): Merge branch 'tests-fixing' into auto-tests 2021-07-16 10:21:13 +02:00
medjedovic f25035ae1d chore: cypress added and sasjs test written 2021-07-15 14:30:51 +02:00
medjedovic ff32f648da chore: tests fixing 2021-07-15 13:41:39 +02:00
413 changed files with 20841 additions and 144743 deletions
+20
View File
@@ -96,6 +96,26 @@
"test", "test",
"review" "review"
] ]
},
{
"login": "rudvfaden",
"name": "Rud Faden",
"avatar_url": "https://avatars.githubusercontent.com/u/2445577?v=4",
"profile": "http://rudvfaden.github.io/",
"contributions": [
"userTesting",
"doc"
]
},
{
"login": "saramartinelli1992",
"name": "Sara",
"avatar_url": "https://avatars.githubusercontent.com/u/100193908?v=4",
"profile": "https://github.com/saramartinelli1992",
"contributions": [
"userTesting",
"platform"
]
} }
], ],
"contributorsPerLine": 7, "contributorsPerLine": 7,
+12
View File
@@ -0,0 +1,12 @@
#!/bin/sh
# Using `--silent` helps for showing any errs in the first line of the response
# The first line is picked up by the VS Code GIT UI popup when rc is not 0
if npm run --silent lint:silent ; then
exit 0
else
npm run --silent lint:fix
echo "❌ Prettier check failed! We ran lint:fix for you. Please add & commit again."
exit 1
fi
+1
View File
@@ -0,0 +1 @@
* text=auto eol=lf
@@ -14,7 +14,7 @@ What code changes have been made to achieve the intent.
No PR (that involves a non-trivial code change) should be merged, unless all items below are confirmed! If an urgent fix is needed - use a tar file. No PR (that involves a non-trivial code change) should be merged, unless all items below are confirmed! If an urgent fix is needed - use a tar file.
- [ ] Unit tests coverage has been increased and a new threshold is set.
- [ ] All `sasjs-cli` unit tests are passing (`npm test`). - [ ] All `sasjs-cli` unit tests are passing (`npm test`).
- [ ] All `sasjs-tests` are passing (instructions available [here](https://github.com/sasjs/adapter/blob/master/sasjs-tests/README.md)). - (CI Runs this) All `sasjs-tests` are passing. If you want to run it manually (instructions available [here](https://github.com/sasjs/adapter/blob/master/sasjs-tests/README.md)).
- [ ] [Data Controller](https://datacontroller.io) builds and is functional on both SAS 9 and Viya - [ ] [Data Controller](https://datacontroller.io) builds and is functional on both SAS 9 and Viya
+4 -4
View File
@@ -1,7 +1,7 @@
version: 2 version: 2
updates: updates:
- package-ecosystem: npm - package-ecosystem: "npm"
directory: '/' directory: "/"
schedule: schedule:
interval: monthly interval: "monthly"
open-pull-requests-limit: 10 open-pull-requests-limit: 1
+12
View File
@@ -0,0 +1,12 @@
## Expected behaviour
*Describe what should be happening*
## Current behaviour
*Describe what is actually happening*
## Environment info
**Client tech stack**: *Angular, React, Vue, VanillaJS, NodeJS etc.*
**Server type**: SASJS|SASVIYA|SAS9
**Login mechanism**: Default|Redirected
**Debug**: true|false
**Use Compute Api (relevant only on VIYA)**: true|false
-4
View File
@@ -5,7 +5,3 @@ groups:
- YuryShkoda - YuryShkoda
- medjedovicm - medjedovicm
- sabhas - sabhas
- name: SASjs QA
reviewers: 1
usernames:
- VladislavParhomchik
+27
View File
@@ -0,0 +1,27 @@
# Client
client
tls-client
dev tun
# this will connect with whatever proto DNS tells us (https://community.openvpn.net/openvpn/ticket/934)
proto udp
remote vpn.4gl.io 7194
resolv-retry infinite
# this will fallback from udp6 to udp4 as well
connect-timeout 5
data-ciphers AES-256-CBC:AES-256-GCM
auth SHA256
script-security 2
keepalive 10 120
remote-cert-tls server
# Keys
ca ca.crt
cert user.crt
key user.key
tls-auth tls.key 1
# Security
nobind
persist-key
persist-tun
verb 3
+1 -1
View File
@@ -10,4 +10,4 @@ jobs:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
- uses: uesteibar/reviewer-lottery@v1 - uses: uesteibar/reviewer-lottery@v1
with: with:
repo-token: ${{ secrets.GH_TOKEN }} repo-token: ${{ secrets.GITHUB_TOKEN }}
@@ -1,19 +1,18 @@
# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node # This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions # For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
name: SASjs Build name: SASjs Build and Unit Test
on: on:
push:
pull_request: pull_request:
jobs: jobs:
build: build:
runs-on: ubuntu-latest runs-on: ubuntu-22.04
strategy: strategy:
matrix: matrix:
node-version: [lts/fermium] node-version: [lts/iron]
steps: steps:
- uses: actions/checkout@v2 - uses: actions/checkout@v2
@@ -21,20 +20,39 @@ jobs:
uses: actions/setup-node@v2 uses: actions/setup-node@v2
with: with:
node-version: ${{ matrix.node-version }} node-version: ${{ matrix.node-version }}
cache: npm
# 2. Restore npm cache manually
- name: Restore npm cache
uses: actions/cache@v3
id: npm-cache
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Check npm audit - name: Check npm audit
run: npm audit --production --audit-level=low run: npm audit --production --audit-level=low
- name: Install Dependencies - name: Install Dependencies
run: npm ci run: npm ci
- name: Install Rimraf
run: npm i rimraf
- name: Check code style - name: Check code style
run: npm run lint run: npm run lint
- name: Run unit tests - name: Run unit tests
run: npm test run: npm test
- name: Generate coverage report
uses: artiomtr/jest-coverage-report-action@v2.0-rc.2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
- name: Build Package - name: Build Package
run: npm run package:lib run: npm run package:lib
env: env:
CI: true CI: true
# For some reason if coverage report action is run before other commands, those commands can't access the directories and files on which they depend on
- name: Generate coverage report
uses: artiomtr/jest-coverage-report-action@v2.0-rc.2
with:
github-token: ${{ secrets.GITHUB_TOKEN }}
+53
View File
@@ -0,0 +1,53 @@
name: Generate docs and Push to docs Branch
on:
push:
branches:
- master
jobs:
generate_and_push_docs:
runs-on: ubuntu-latest
strategy:
matrix:
node-version: [lts/iron]
steps:
- name: Checkout
uses: actions/checkout@v2
- name: Setup Node
uses: actions/setup-node@v2
with:
node-version:
${{ matrix.node-version }}
# 2. Restore npm cache manually
- name: Restore npm cache
uses: actions/cache@v3
id: npm-cache
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Install Dependencies
run: npm ci
- name: Ensure docs folder exists
run: |
rm -rf docs || true # avoid error if docs folder does not exist
mkdir docs
- name: Generate Docs
run: npm run typedoc
- name: Push generated docs
uses: peaceiris/actions-gh-pages@v3
with:
github_token: ${{ secrets.GITHUB_TOKEN }}
publish_branch: gh-pages
publish_dir: ./docs
cname: adapter.sasjs.io
+32 -6
View File
@@ -11,19 +11,45 @@ on:
jobs: jobs:
build: build:
runs-on: ubuntu-latest runs-on: ubuntu-latest
strategy:
matrix:
node-version: [lts/iron]
steps: steps:
- name: Checkout - uses: actions/checkout@v2
uses: actions/checkout@v2 - name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node-version }}
# 2. Restore npm cache manually
- name: Restore npm cache
uses: actions/cache@v3
id: npm-cache
with:
path: ~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Install Dependencies - name: Install Dependencies
run: npm ci run: npm ci
- name: Check code style - name: Check code style
run: npm run lint run: npm run lint
- name: Build Project - name: Build Project
run: npm run build run: npm run build
- name: Clean up ready for publishing
run: npm run publishInit
- name: Semantic Release - name: Semantic Release
uses: cycjimmy/semantic-release-action@v2 uses: cycjimmy/semantic-release-action@v3
env: env:
GITHUB_TOKEN: ${{ secrets.GH_TOKEN }} GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
NPM_TOKEN: ${{ secrets.NPM_TOKEN }} NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
- name: Send Slack message
run: curl -X POST --data-urlencode "payload={\"channel\":\"#sasjs\", \"username\":\"GitHub CI\", \"text\":\"New version of @sasjs/adapter has been released! \n Please deploy and run `dctests` with new adapter to make sure everything is still in place.\", \"icon_emoji\":\":rocket:\"}" ${{ secrets.SLACK_WEBHOOK }} - name: Send Matrix message
run: curl -XPOST -d "{\"msgtype\":\"m.text\", \"body\":\"New version of @sasjs/adapter has been released! \n Please deploy and run 'dctests' with new adapter to make sure everything is still in place.\"}" https://matrix.4gl.io/_matrix/client/r0/rooms/!jRebyiGmHZlpfDwYXN:4gl.io/send/m.room.message?access_token=${{ secrets.MATRIX_TOKEN }}
+123
View File
@@ -0,0 +1,123 @@
# This workflow will do a clean install of node dependencies, build the source code and run tests across different versions of node
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-nodejs-with-github-actions
name: SASjs Build and Server Tests
on:
pull_request:
jobs:
test:
runs-on: ubuntu-22.04
strategy:
matrix:
node-version: [lts/iron]
steps:
- uses: actions/checkout@v2
- name: Use Node.js ${{ matrix.node-version }}
uses: actions/setup-node@v2
with:
node-version: ${{ matrix.node-version }}
# 2. Restore npm cache manually
- name: Restore npm cache
uses: actions/cache@v3
id: npm-cache
with:
path: |
~/.npm
key: ${{ runner.os }}-node-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
${{ runner.os }}-node-
- name: Cache Cypress binary
uses: actions/cache@v3
with:
path: ~/.cache/Cypress
key: cypress-${{ runner.os }}-${{ hashFiles('**/package-lock.json') }}
restore-keys: |
cypress-${{ runner.os }}-
- name: Install Dependencies
run: npm ci
- name: Install Cypress binary
run: npx cypress install
- name: Install Rimraf
run: npm i rimraf
- name: Build Package
run: npm run package:lib
env:
CI: true
- name: Write VPN Files
run: |
echo "$CA_CRT" > .github/vpn/ca.crt
echo "$USER_CRT" > .github/vpn/user.crt
echo "$USER_KEY" > .github/vpn/user.key
echo "$TLS_KEY" > .github/vpn/tls.key
shell: bash
env:
CA_CRT: ${{ secrets.CA_CRT}}
USER_CRT: ${{ secrets.USER_CRT }}
USER_KEY: ${{ secrets.USER_KEY }}
TLS_KEY: ${{ secrets.TLS_KEY }}
- name: Chmod VPN files
run: |
chmod 600 .github/vpn/ca.crt .github/vpn/user.crt .github/vpn/user.key .github/vpn/tls.key
- name: Install Open VPN
run: |
sudo apt install apt-transport-https
sudo wget https://swupdate.openvpn.net/repos/openvpn-repo-pkg-key.pub
sudo apt-key add openvpn-repo-pkg-key.pub
sudo wget -O /etc/apt/sources.list.d/openvpn3.list https://swupdate.openvpn.net/community/openvpn3/repos/openvpn3-jammy.list
sudo apt update
sudo apt install openvpn3=17~betaUb22042+jammy
- name: Start Open VPN 3
run: openvpn3 session-start --config .github/vpn/config.ovpn
- name: install pm2
run: npm i -g pm2
- name: Fetch SASJS server
run: curl ${{ secrets.SASJS_SERVER_URL }}/SASjsApi/info
- name: Deploy sasjs-tests
run: |
sudo apt install jq
cd sasjs-tests
jq '.dependencies."@sasjs/adapter" |= "latest"' ./package.json > ./package.temp && mv ./package.temp ./package.json
npm i
jq '.sasJsConfig.serverUrl |= "${{ secrets.SASJS_SERVER_URL }}"' ./public/config.json > ./public/config.temp && mv ./public/config.temp ./public/config.json
jq '.sasJsConfig.serverType |= "SASJS"' ./public/config.json > ./public/config.temp && mv ./public/config.temp ./public/config.json
jq '.sasJsConfig.loginMechanism |= "Default"' ./public/config.json > ./public/config.temp && mv ./public/config.temp ./public/config.json
jq '.userName |= "${{ secrets.SASJS_USERNAME }}"' ./public/config.json > ./public/config.temp && mv ./public/config.temp ./public/config.json
jq '.password |= "${{ secrets.SASJS_PASSWORD }}"' ./public/config.json > ./public/config.temp && mv ./public/config.temp ./public/config.json
cat ./public/config.json
npm run update:adapter
pm2 start --name sasjs-test npm -- start
- name: Sleep for 10 seconds
run: sleep 10s
shell: bash
- name: Run cypress on sasjs
env:
TERM: dumb
run: |
sed -i "s|sasjsTestsUrl: '.*'|sasjsTestsUrl: 'http://localhost:3000'|g" ./cypress.config.js
sed -i "s|username: '.*'|username: '${{ secrets.SASJS_USERNAME }}'|g" ./cypress.config.js
sed -i "s|password: '.*'|password: '${{ secrets.SASJS_PASSWORD }}'|g" ./cypress.config.js
cat ./cypress.config.js
echo "SASJS_USERNAME=${{ secrets.SASJS_USERNAME }}"
sh ./sasjs-tests/sasjs-cypress-run.sh ${{ secrets.MATRIX_TOKEN }} https://github.com/${{github.repository}}/actions/runs/${{github.run_id}}
+2
View File
@@ -1,6 +1,8 @@
node_modules node_modules
build build
docs
.env .env
/coverage /coverage
-2
View File
@@ -1,2 +0,0 @@
tasks:
- init: npm install && npm run build
+10
View File
@@ -4,3 +4,13 @@ docs/
*.md *.md
*.spec.ts *.spec.ts
.all-contributorsrc .all-contributorsrc
cypress/
.gitpod.yml
.prettierrc
cypress.json
jest.config.js
sasjs-cypress-run.sh
tsconfig.json
tslint.json
typedoc.json
webpack.config.js
+1
View File
@@ -0,0 +1 @@
ignore-scripts=true
+3
View File
@@ -0,0 +1,3 @@
{
"cSpell.words": ["SASVIYA"]
}
+160 -115
View File
@@ -2,27 +2,23 @@
[![npm package][npm-image]][npm-url] [![npm package][npm-image]][npm-url]
[![Github Workflow][githubworkflow-image]][githubworkflow-url] [![Github Workflow][githubworkflow-image]][githubworkflow-url]
[![Dependency Status][dependency-image]][dependency-url]
[![npm](https://img.shields.io/npm/dt/@sasjs/adapter)]() [![npm](https://img.shields.io/npm/dt/@sasjs/adapter)]()
![Snyk Vulnerabilities for npm package](https://img.shields.io/snyk/vulnerabilities/npm/@sasjs/adapter) ![GitHub License](https://img.shields.io/github/license/sasjs/adapter)
[![License](https://img.shields.io/apm/l/atomic-design-ui.svg)](/LICENSE)
![GitHub top language](https://img.shields.io/github/languages/top/sasjs/adapter) ![GitHub top language](https://img.shields.io/github/languages/top/sasjs/adapter)
![GitHub issues](https://img.shields.io/github/issues/sasjs/adapter) ![GitHub issues](https://img.shields.io/github/issues/sasjs/adapter)
[![Gitpod ready-to-code](https://img.shields.io/badge/Gitpod-ready--to--code-908a85?logo=gitpod)](https://gitpod.io/#https://github.com/sasjs/adapter) [![Gitpod ready-to-code](https://img.shields.io/badge/Gitpod-ready--to--code-908a85?logo=gitpod)](https://gitpod.io/#https://github.com/sasjs/adapter)
[npm-image]: https://img.shields.io/npm/v/@sasjs/adapter.svg
[npm-image]:https://img.shields.io/npm/v/@sasjs/adapter.svg [npm-url]: http://npmjs.org/package/@sasjs/adapter
[npm-url]:http://npmjs.org/package/@sasjs/adapter [githubworkflow-image]: https://github.com/sasjs/adapter/actions/workflows/build-unit-tests.yml/badge.svg
[githubworkflow-image]:https://github.com/sasjs/adapter/actions/workflows/build.yml/badge.svg [githubworkflow-url]: https://github.com/sasjs/adapter/blob/main/.github/workflows/build.yml
[githubworkflow-url]:https://github.com/sasjs/adapter/blob/main/.github/workflows/build.yml [dependency-image]: https://david-dm.org/sasjs/adapter.svg
[dependency-image]:https://david-dm.org/sasjs/adapter.svg
[dependency-url]:https://github.com/sasjs/adapter/blob/main/package.json
SASjs is a open-source framework for building Web Apps on SAS® platforms. You can use as much or as little of it as you like. This repository contains the JS adapter, the part that handles the to/from SAS communication on the client side. There are 3 ways to install it: SASjs is a open-source framework for building Web Apps on SAS® platforms. You can use as much or as little of it as you like. This repository contains the JS adapter, the part that handles the to/from SAS communication on the client side. There are 3 ways to install it:
1 - `npm install @sasjs/adapter` - for use in a node project 1 - `npm install @sasjs/adapter` - for use in a nodeJS project (recommended)
2 - [Download](https://cdn.jsdelivr.net/npm/@sasjs/adapter@2/index.js) and use a copy of the latest JS file 2 - [Download](https://cdn.jsdelivr.net/npm/@sasjs/adapter@4/index.min.js) and use a copy of the latest JS file
3 - Reference directly from the CDN - in which case click [here](https://www.jsdelivr.com/package/npm/@sasjs/adapter?tab=collection) and select "SRI" to get the script tag with the integrity hash. 3 - Reference directly from the CDN - in which case click [here](https://www.jsdelivr.com/package/npm/@sasjs/adapter?tab=collection) and select "SRI" to get the script tag with the integrity hash.
@@ -32,7 +28,7 @@ For more information on building web apps with SAS, check out [sasjs.io](https:/
## None of this makes sense. How do I build an app with it? ## None of this makes sense. How do I build an app with it?
Ok ok. Deploy this [example.html](https://raw.githubusercontent.com/sasjs/adapter/master/example.html) file to your web server, and update `servertype` to `SAS9` or `SASVIYA` depending on your backend. Ok ok. Deploy this [example.html](https://raw.githubusercontent.com/sasjs/adapter/master/example.html) file to your web server, and update `servertype` to `SAS9`, `SASVIYA`, or `SASJS` depending on your backend.
The backend part can be deployed as follows: The backend part can be deployed as follows:
@@ -52,7 +48,7 @@ parmcards4;
%webout(OBJ,areas) %webout(OBJ,areas)
%webout(CLOSE) %webout(CLOSE)
;;;; ;;;;
%mp_createwebservice(path=&appLoc/common,name=getdata) %mx_createwebservice(path=&appLoc/common,name=getdata)
``` ```
You now have a simple web app with a backend service! You now have a simple web app with a backend service!
@@ -71,24 +67,27 @@ There are three parts to consider:
To install the library you can simply run `npm i @sasjs/adapter` or include a `<script>` tag with a reference to our [CDN](https://www.jsdelivr.com/package/npm/@sasjs/adapter). To install the library you can simply run `npm i @sasjs/adapter` or include a `<script>` tag with a reference to our [CDN](https://www.jsdelivr.com/package/npm/@sasjs/adapter).
Full technical documentation is available [here](https://adapter.sasjs.io). The main parts are: Full technical documentation is available [here](https://adapter.sasjs.io). The main parts are:
### Instantiation ### Instantiation
The following code will instantiate an instance of the adapter: The following code will instantiate an instance of the adapter:
```javascript ```javascript
let sasJs = new SASjs.default( let sasJs = new SASjs.default({
{ appLoc: '/Your/SAS/Folder',
appLoc: "/Your/SAS/Folder", serverType: 'SAS9'
serverType:"SAS9" })
}
);
``` ```
If you've installed it via NPM, you can import it as a default import like so: If you've installed it via NPM, you can import it as a default import like so:
```js ```js
import SASjs from '@sasjs/adapter'; import SASjs from '@sasjs/adapter'
``` ```
You can then instantiate it with: You can then instantiate it with:
```js ```js
const sasJs = new SASjs({your config}) const sasJs = new SASjs({your config})
``` ```
@@ -96,7 +95,13 @@ const sasJs = new SASjs({your config})
More on the config later. More on the config later.
### SAS Logon ### SAS Logon
The login process can be handled directly, as below, or as a callback function to a SAS request.
All authentication from the adapter is done against SASLogon. There are two approaches that can be taken, which are configured using the `loginMechanism` attribute of the sasJs config object (above):
- `loginMechanism:'Redirected'` - this approach enables authentication through a SASLogon window, supporting complex authentication flows (such as 2FA) and avoids the need to handle passwords in the application itself. The styling of the window can be modified using CSS.
- `loginMechanism:'Default'` - this approach requires that the username and password are captured, and used within the `.login()` method. This can be helpful for development, or automated testing.
Sample code for logging in with the `Default` approach:
```javascript ```javascript
sasJs.logIn('USERNAME','PASSWORD' sasJs.logIn('USERNAME','PASSWORD'
@@ -109,82 +114,108 @@ sasJs.logIn('USERNAME','PASSWORD'
} }
``` ```
### Request / Response More examples of using authentication, and more, can be found in the [SASjs Seed Apps](https://github.com/search?q=topic%3Asasjs-app+org%3Asasjs+fork%3Atrue) on github.
### Request / Response
A simple request can be sent to SAS in the following fashion: A simple request can be sent to SAS in the following fashion:
```javascript ```javascript
sasJs.request("/path/to/my/service", dataObject) sasJs.request('/path/to/my/service', dataObject).then((response) => {
.then((response) => { // all tables are in the response object, eg:
// all tables are in the response object, eg: console.log(response.tablewith2cols1row[0].COL1.value)
console.log(response.tablewith2cols1row[0].COL1.value) })
})
``` ```
We supply the path to the SAS service, and a data object. The data object can be null (for services with no input), or can contain one or more tables in the following format: We supply the path to the SAS service, and a data object.
If the path starts with a `/` then it should be a full path to the service. If there is no leading `/` then it is relative to the `appLoc`.
The data object can be null (for services with no input), or can contain one or more "tables" in the following format:
```javascript ```javascript
let dataObject={ let dataObject = {
"tablewith2cols1row": [{ tablewith2cols1row: [
"col1": "val1", {
"col2": 42 col1: 'val1',
}], col2: 42
"tablewith1col2rows": [{ }
"col": "row1" ],
}, { tablewith1col2rows: [
"col": "row2" {
}] col: 'row1'
}; },
{
col: 'row2'
}
]
}
``` ```
There are optional parameters such as a config object and a callback login function. These tables (`tablewith2cols1row` and `tablewith1col2rows`) will be created in SAS WORK after running `%webout(FETCH)` in your SAS service.
The response object will contain returned tables and columns. Table names are always lowercase, and column names uppercase. The `request()` method also has optional parameters such as a config object and a callback login function.
The adapter will also cache the logs (if debug enabled) and even the work tables. For performance, it is best to keep debug mode off. The response object will contain returned tables and columns. Table names are always lowercase, and column names uppercase.
The adapter will also cache the logs (if debug enabled) and even the work tables. For performance, it is best to keep debug mode off.
### Verbose Mode
Set `verbose` to `true` to enable verbose mode that logs a summary of every HTTP response. Verbose mode can be disabled by calling `disableVerboseMode` method or enabled by `enableVerboseMode` method. Verbose mode also supports `bleached` mode that disables extra colors in req/res summary. To enable `bleached` verbose mode, pass `verbose` equal to `bleached` while instantiating an instance of `RequestClient` or to `setVerboseMode` method. Verbose mode can also be enabled/disabled by `startComputeJob` method.
### Session Manager
To execute a script on Viya a session has to be created first which is time-consuming (~15sec). That is why a Session Manager has been created which is implementing the following logic:
1. When the first session is requested, we also create one more session (hot session) for future requests. Please notice two pending POST requests to create a session within the same context: ![the first session request](./screenshots/session-manager-first-request.png)
2. When a subsequent request for a session is received and there is a hot session available (not expired), this session is returned and an asynchronous request to create another hot session is sent. Please notice that there is a pending POST request to create a new session while a job has been already finished execution (POST request with status 201): ![subsequent session request](./screenshots/subsequent-session-request.png)
3. When a subsequent request for a session is received and there is no available hot session, 2 requests are sent asynchronously to create a session. The first created session will be returned and another session will be reserved for future requests.
### Variable Types ### Variable Types
The SAS type (char/numeric) of the values is determined according to a set of rules: The SAS type (char/numeric) of the values is determined according to a set of rules:
* If the values are numeric, the SAS type is numeric - If the values are numeric, the SAS type is numeric
* If the values are all string, the SAS type is character - If the values are all string, the SAS type is character
* If the values contain a single character (a-Z + underscore) AND a numeric, then the SAS type is numeric (with special missing values). - If the values contain a single character (a-Z + underscore + .) AND a numeric, then the SAS type is numeric (with special missing values).
* `null` is set to either '.' or '' depending on the assigned or derived type per the above rules. If entire column is `null` then the type will be numeric. - `null` is set to either '.' or '' depending on the assigned or derived type per the above rules. If entire column is `null` then the type will be numeric.
The following table illustrates the formats applied to columns under various scenarios: The following table illustrates the formats applied to columns under various scenarios:
|JS Values |SAS Format| | JS Values | SAS Format |
|---|---| | ---------------- | ---------- |
|'a', 'a' |$char1.| | 'a', 'a' | $char1. |
|0, '_' |best.| | 0, '\_' | best. |
|'Z', 0 |best.| | 'Z', 0 | best. |
|'a', 'aaa' |$char3.| | 'a', 'aaa' | $char3. |
|null, 'a', 'aaa' | $char3.| | null, 'a', 'aaa' | $char3. |
|null, 'a', 0 | best.| | null, 'a', 0 | best. |
|null, null | best.| | null, null | best. |
|null, '' | $char1.| | null, '' | $char1. |
|null, 'a' | $char1.| | null, 'a' | $char1. |
|'a' | $char1.| | 'a' | $char1. |
|'a', null | $char1.| | 'a', null | $char1. |
|'a', null, 0 | best.| | 'a', null, 0 | best. |
Validation is also performed on the values. The following combinations will throw errors: Validation is also performed on the values. The following combinations will throw errors:
|JS Values |SAS Format| | JS Values | SAS Format |
|---|---| | --------------- | ---------------------------------------------------------- |
|null, 'aaaa', 0 | Error: mixed types. 'aaaa' is not a special missing value.| | null, 'aaaa', 0 | Error: mixed types. 'aaaa' is not a special missing value. |
|0, 'a', '!' | Error: mixed types. '!' is not a special missing value| | 0, 'a', '!' | Error: mixed types. '!' is not a special missing value |
|1.1, '.', 0| Error: mixed types. For regular nulls, use `null`| | 1.1, '.', 0 | Error: mixed types. For regular nulls, use `null` |
### Variable Format Override ### Variable Format Override
The auto-detect functionality above is thwarted in the following scenarios: The auto-detect functionality above is thwarted in the following scenarios:
* A character column containing only `null` values (is considered numeric) - A character column containing only `null` values (is considered numeric)
* A numeric column containing only special missing values (is considered character) - A numeric column containing only special missing values (is considered character)
To cater for these scenarios, an optional array of formats can be passed along with the data to ensure that SAS will read them in correctly. To cater for these scenarios, an optional array of formats can be passed along with the data to ensure that SAS will read them in correctly.
To understand these formats, it should be noted that the JSON data is NOT passed directly (as JSON) to SAS. It is first converted into CSV, and the header row is actually an `infile` statement in disguise. It looks a bit like this: To understand these formats, it should be noted that the JSON data is NOT passed directly (as JSON) to SAS. It is first converted into CSV, and the header row is actually an `infile` statement in disguise. It looks a bit like this:
```csv ```csv
CHARVAR1:$char4. CHARVAR2:$char1. NUMVAR:best. CHARVAR1:$char4. CHARVAR2:$char1. NUMVAR:best.
@@ -195,14 +226,13 @@ ABCD,X,.
To provide overrides to this header row, the tables object can be constructed as follows (with a leading '$' in the table name): To provide overrides to this header row, the tables object can be constructed as follows (with a leading '$' in the table name):
```javascript ```javascript
let specialData={ let specialData = {
"tablewith2cols2rows": [ tablewith2cols2rows: [
{"col1": "val1","specialMissingsCol": "A"}, { col1: 'val1', specialMissingsCol: 'A' },
{"col1": "val2","specialMissingsCol": "_"} { col1: 'val2', specialMissingsCol: '_' }
], ],
"$tablewith2cols2rows":{"formats":{"specialMissingsCol":"best."} $tablewith2cols2rows: { formats: { specialMissingsCol: 'best.' } }
} }
};
``` ```
It is not necessary to provide formats for ALL the columns, only the ones that need to be overridden. It is not necessary to provide formats for ALL the columns, only the ones that need to be overridden.
@@ -214,7 +244,7 @@ The SAS side is handled by a number of macros in the [macro core](https://github
The following snippet shows the process of SAS tables arriving / leaving: The following snippet shows the process of SAS tables arriving / leaving:
```sas ```sas
/* fetch all input tables sent from frontend - they arrive as work tables */ /* convert frontend input tables from into SASWORK datasets */
%webout(FETCH) %webout(FETCH)
/* some sas code */ /* some sas code */
@@ -226,40 +256,46 @@ run;
%webout(OBJ,a) /* Rows in table `a` are objects (easy to use) */ %webout(OBJ,a) /* Rows in table `a` are objects (easy to use) */
%webout(ARR,b) /* Rows in table `b` are arrays (compact) */ %webout(ARR,b) /* Rows in table `b` are arrays (compact) */
%webout(OBJ,c,fmt=N) /* Table `c` is sent unformatted (raw) */ %webout(OBJ,c,fmt=N) /* Table `c` is sent unformatted (raw) */
%webout(OBJ,c,label=d) /* Rename as `d` on JS side */ %webout(OBJ,c,dslabel=d) /* Rename table as `d` in output JSON */
%webout(OBJ,c,dslabel=e, maxobs=10) /* send only 10 rows back */
%webout(CLOSE) /* Close the JSON and add default variables */ %webout(CLOSE) /* Close the JSON and add default variables */
``` ```
By default, special SAS numeric missings (_a-Z) are converted to `null` in the JSON. If you'd like to preserve these, use the `missing=STRING` option as follows: By default, special SAS numeric missings (\_a-Z) are converted to `null` in the JSON. If you'd like to preserve these, use the `missing=STRING` option as follows:
```sas ```sas
%webout(OBJ,a,missing=STRING) %webout(OBJ,a,missing=STRING)
``` ```
In this case, special missings (such as `.a`, `.b`) are converted to javascript string values (`'A', 'B'`). In this case, special missings (such as `.a`, `.b`) are converted to javascript string values (`'A', 'B'`).
Where an entire column is made up of special missing numerics, there would be no way to distinguish it from a single-character column by looking at the values. To cater for this scenario, it is possible to export the variable types (and other attributes such as label and format) by adding a `showmeta` param to the `webout()` macro as follows: Where an entire column is made up of special missing numerics, there would be no way to distinguish it from a single-character column by looking at the values. To cater for this scenario, it is possible to export the variable types (and other attributes such as label and format) by adding a `showmeta` param to the `webout()` macro as follows:
```sas ```sas
%webout(OBJ,a,missing=STRING,showmeta=YES) %webout(OBJ,a,missing=STRING,showmeta=YES)
``` ```
The `%webout()` macro itself is just a wrapper for the [mp_jsonout](https://core.sasjs.io/mp__jsonout_8sas.html) macro.
## Configuration ## Configuration
Configuration on the client side involves passing an object on startup, which can also be passed with each request. Technical documentation on the SASjsConfig class is available [here](https://adapter.sasjs.io/classes/types.sasjsconfig.html). The main config items are: Configuration on the client side involves passing an object on startup, which can also be passed with each request. Technical documentation on the SASjsConfig class is available [here](https://github.com/sasjs/adapter/blob/master/src/types/SASjsConfig.ts). The main config items are:
* `appLoc` - this is the folder under which the SAS services will be created. - `appLoc` - this is the folder (eg in metadata or SAS Drive) under which the SAS services are created.
* `serverType` - either `SAS9`, `SASVIYA` or `SASJS`. The `SASJS` server type is for use with [sasjs/server](https://github.com/sasjs/server). - `serverType` - either `SAS9`, `SASVIYA` or `SASJS`. The `SASJS` server type is for use with [sasjs/server](https://github.com/sasjs/server).
* `serverUrl` - the location (including http protocol and port) of the SAS Server. Can be omitted, eg if serving directly from the SAS Web Server, or in streaming mode. - `serverUrl` - the location (including http protocol and port) of the SAS Server. Can be omitted, eg if serving directly from the SAS Web Server, or in streaming mode.
* `debug` - if `true` then SAS Logs and extra debug information is returned. - `debug` - if `true` then SAS Logs and extra debug information is returned.
* `LoginMechanism` - either `Default` or `Redirected`. If `Redirected` then authentication occurs through the injection of an additional screen, which contains the SASLogon prompt. This allows for more complex authentication flows (such as 2FA) and avoids the need to handle passwords in the application itself. The styling of the redirect flow can also be modified. If left at "Default" then the developer must capture the username and password and use these with the `.login()` method. - `verbose` - optional, if `true` then a summary of every HTTP response is logged.
* `useComputeApi` - Only relevant when the serverType is `SASVIYA`. If `true` the [Compute API](#using-the-compute-api) is used. If `false` the [JES API](#using-the-jes-api) is used. If `null` or `undefined` the [Web](#using-jes-web-app) approach is used. - `loginMechanism` - either `Default` or `Redirected`. See [SAS Logon](#sas-logon) section.
* `contextName` - Compute context on which the requests will be called. If missing or not provided, defaults to `Job Execution Compute context`. - `useComputeApi` - Only relevant when the serverType is `SASVIYA`. If `true` the [Compute API](#using-the-compute-api) is used. If `false` the [JES API](#using-the-jes-api) is used. If `null` or `undefined` the [Web](#using-jes-web-app) approach is used.
- `contextName` - Compute context on which the requests will be called. If missing or not provided, defaults to `Job Execution Compute context`.
- `requestHistoryLimit` - Request history limit. Increasing this limit may affect browser performance, especially with debug (logs) enabled. Default is 10.
The adapter supports a number of approaches for interfacing with Viya (`serverType` is `SASVIYA`). For maximum performance, be sure to [configure your compute context](https://sasjs.io/guide-viya/#shared-account-and-server-re-use) with `reuseServerProcesses` as `true` and a system account in `runServerAs`. This functionality is available since Viya 3.5. This configuration is supported when [creating contexts using the CLI](https://sasjs.io/sasjs-cli-context/#sasjs-context-create). The adapter supports a number of approaches for interfacing with Viya (`serverType` is `SASVIYA`). For maximum performance, be sure to [configure your compute context](https://sasjs.io/guide-viya/#shared-account-and-server-re-use) with `reuseServerProcesses` as `true` and a system account in `runServerAs`. This functionality is available since Viya 3.5. This configuration is supported when [creating contexts using the CLI](https://sasjs.io/sasjs-cli-context/#sasjs-context-create).
### Using JES Web App ### Using JES Web App
In this setup, all requests are routed through the JES web app, at `YOURSERVER/SASJobExecution?_program=/your/program`. This is the most reliable method, and also the slowest. One request is made to the JES app, and remaining requests (getting job uri, session spawning, passing parameters, running the program, fetching the log) are handled by the SAS server inside the JES app. In this setup, all requests are routed through the JES web app, at `YOURSERVER/SASJobExecution?_program=/your/program`. This is the most reliable method, and also the slowest. One request is made to the JES app, and remaining requests (getting job uri, session spawning, passing parameters, running the program, fetching the log) are handled by the SAS server inside the JES app.
``` ```
{ {
@@ -272,42 +308,42 @@ In this setup, all requests are routed through the JES web app, at `YOURSERVER/S
Note - to use the web approach, the `useComputeApi` property must be `undefined` or `null`. Note - to use the web approach, the `useComputeApi` property must be `undefined` or `null`.
### Using the JES API ### Using the JES API
Here we are running Jobs using the Job Execution Service except this time we are making the requests directly using the REST API instead of through the JES Web App. This is helpful when we need to call web services outside of a browser (eg with the SASjs CLI or other commandline tools). To save one network request, the adapter prefetches the JOB URIs and passes them in the `__job` parameter. Depending on your network bandwidth, it may or may not be faster than the JES Web approach.
Here we are running Jobs using the Job Execution Service except this time we are making the requests directly using the REST API instead of through the JES Web App. This is helpful when we need to call web services outside of a browser (eg with the SASjs CLI or other commandline tools). To save one network request, the adapter prefetches the JOB URIs and passes them in the `__job` parameter. Depending on your network bandwidth, it may or may not be faster than the JES Web approach.
This approach (`useComputeApi: false`) also ensures that jobs are displayed in Environment Manager. This approach (`useComputeApi: false`) also ensures that jobs are displayed in Environment Manager.
```json ```json
{ {
appLoc:"/Your/Path", "appLoc": "/Your/Path",
serverType:"SASVIYA", "serverType": "SASVIYA",
useComputeApi: false, "useComputeApi": false,
contextName: 'yourComputeContext' "contextName": "yourComputeContext"
} }
``` ```
### Using the Compute API ### Using the Compute API
This approach is by far the fastest, as a result of the optimisations we have built into the adapter. With this configuration, in the first sasjs request, we take a URI map of the services in the target folder, and create a session manager. This manager will spawn a additional session every time a request is made. Subsequent requests will use the existing 'hot' session, if it exists. Sessions are always deleted after every use, which actually makes this _less_ resource intensive than a typical JES web app, in which all sessions are kept alive by default for 15 minutes.
This approach is by far the fastest, as a result of the optimisations we have built into the adapter. With this configuration, in the first sasjs request, we take a URI map of the services in the target folder, and create a session manager. This manager will spawn a additional session every time a request is made. Subsequent requests will use the existing 'hot' session, if it exists. Sessions are always deleted after every use, which actually makes this _less_ resource intensive than a typical JES web app, in which all sessions are kept alive by default for 15 minutes.
With this approach (`useComputeApi: true`), the requests/logs will _not_ appear in the list in Environment manager. With this approach (`useComputeApi: true`), the requests/logs will _not_ appear in the list in Environment manager.
```json ```json
{ {
appLoc:"/Your/Path", "appLoc": "/Your/Path",
serverType:"SASVIYA", "serverType": "SASVIYA",
useComputeApi: true, "useComputeApi": true,
contextName: "yourComputeContext" "contextName": "yourComputeContext"
} }
``` ```
# More resources # More resources
For more information and examples specific to this adapter you can check out the [user guide](https://sasjs.io/sasjs-adapter/) or the [technical](http://adapter.sasjs.io/) documentation. For more information and examples specific to this adapter you can check out the [user guide](https://sasjs.io/sasjs-adapter/) or the [technical](http://adapter.sasjs.io/) documentation.
For more information on building web apps in general, check out these [resources](https://sasjs.io/training/resources/) or contact the [author](https://www.linkedin.com/in/allanbowe/) directly. For more information on building web apps in general, check out these [resources](https://sasjs.io/training/resources/) or contact the [author](https://www.linkedin.com/in/allanbowe/) directly.
If you are a SAS 9 or SAS Viya customer you can also request a copy of [Data Controller](https://datacontroller.io) - free for up to 5 users, this tool makes use of all parts of the SASjs framework. As a SAS customer you can also request a copy of [Data Controller](https://datacontroller.io) - free for up to 5 users, this tool makes use of all parts of the SASjs framework.
## Star Gazing ## Star Gazing
@@ -316,8 +352,11 @@ If you find this library useful, help us grow our star graph!
![](https://starchart.cc/sasjs/adapter.svg) ![](https://starchart.cc/sasjs/adapter.svg)
## Contributors ✨ ## Contributors ✨
<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --> <!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section -->
[![All Contributors](https://img.shields.io/badge/all_contributors-7-orange.svg?style=flat-square)](#contributors-)
[![All Contributors](https://img.shields.io/badge/all_contributors-9-orange.svg?style=flat-square)](#contributors-)
<!-- ALL-CONTRIBUTORS-BADGE:END --> <!-- ALL-CONTRIBUTORS-BADGE:END -->
Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)): Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/docs/en/emoji-key)):
@@ -326,15 +365,21 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d
<!-- prettier-ignore-start --> <!-- prettier-ignore-start -->
<!-- markdownlint-disable --> <!-- markdownlint-disable -->
<table> <table>
<tr> <tbody>
<td align="center"><a href="https://krishna-acondy.io/"><img src="https://avatars.githubusercontent.com/u/2980428?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Krishna Acondy</b></sub></a><br /><a href="https://github.com/sasjs/adapter/commits?author=krishna-acondy" title="Code">💻</a> <a href="#infra-krishna-acondy" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#blog-krishna-acondy" title="Blogposts">📝</a> <a href="#content-krishna-acondy" title="Content">🖋</a> <a href="#ideas-krishna-acondy" title="Ideas, Planning, & Feedback">🤔</a> <a href="#video-krishna-acondy" title="Videos">📹</a></td> <tr>
<td align="center"><a href="https://www.erudicat.com/"><img src="https://avatars.githubusercontent.com/u/25773492?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Yury Shkoda</b></sub></a><br /><a href="https://github.com/sasjs/adapter/commits?author=YuryShkoda" title="Code">💻</a> <a href="#infra-YuryShkoda" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#ideas-YuryShkoda" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/sasjs/adapter/commits?author=YuryShkoda" title="Tests">⚠️</a> <a href="#video-YuryShkoda" title="Videos">📹</a></td> <td align="center" valign="top" width="14.28%"><a href="https://krishna-acondy.io/"><img src="https://avatars.githubusercontent.com/u/2980428?v=4?s=100" width="100px;" alt="Krishna Acondy"/><br /><sub><b>Krishna Acondy</b></sub></a><br /><a href="https://github.com/sasjs/adapter/commits?author=krishna-acondy" title="Code">💻</a> <a href="#infra-krishna-acondy" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#blog-krishna-acondy" title="Blogposts">📝</a> <a href="#content-krishna-acondy" title="Content">🖋</a> <a href="#ideas-krishna-acondy" title="Ideas, Planning, & Feedback">🤔</a> <a href="#video-krishna-acondy" title="Videos">📹</a></td>
<td align="center"><a href="https://github.com/medjedovicm"><img src="https://avatars.githubusercontent.com/u/18329105?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Mihajlo Medjedovic</b></sub></a><br /><a href="https://github.com/sasjs/adapter/commits?author=medjedovicm" title="Code">💻</a> <a href="#infra-medjedovicm" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="https://github.com/sasjs/adapter/commits?author=medjedovicm" title="Tests">⚠️</a> <a href="https://github.com/sasjs/adapter/pulls?q=is%3Apr+reviewed-by%3Amedjedovicm" title="Reviewed Pull Requests">👀</a></td> <td align="center" valign="top" width="14.28%"><a href="https://www.erudicat.com/"><img src="https://avatars.githubusercontent.com/u/25773492?v=4?s=100" width="100px;" alt="Yury Shkoda"/><br /><sub><b>Yury Shkoda</b></sub></a><br /><a href="https://github.com/sasjs/adapter/commits?author=YuryShkoda" title="Code">💻</a> <a href="#infra-YuryShkoda" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="#ideas-YuryShkoda" title="Ideas, Planning, & Feedback">🤔</a> <a href="https://github.com/sasjs/adapter/commits?author=YuryShkoda" title="Tests">⚠️</a> <a href="#video-YuryShkoda" title="Videos">📹</a></td>
<td align="center"><a href="https://github.com/allanbowe"><img src="https://avatars.githubusercontent.com/u/4420615?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Allan Bowe</b></sub></a><br /><a href="https://github.com/sasjs/adapter/commits?author=allanbowe" title="Code">💻</a> <a href="https://github.com/sasjs/adapter/pulls?q=is%3Apr+reviewed-by%3Aallanbowe" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/sasjs/adapter/commits?author=allanbowe" title="Tests">⚠️</a> <a href="#mentoring-allanbowe" title="Mentoring">🧑‍🏫</a> <a href="#maintenance-allanbowe" title="Maintenance">🚧</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/medjedovicm"><img src="https://avatars.githubusercontent.com/u/18329105?v=4?s=100" width="100px;" alt="Mihajlo Medjedovic"/><br /><sub><b>Mihajlo Medjedovic</b></sub></a><br /><a href="https://github.com/sasjs/adapter/commits?author=medjedovicm" title="Code">💻</a> <a href="#infra-medjedovicm" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a> <a href="https://github.com/sasjs/adapter/commits?author=medjedovicm" title="Tests">⚠️</a> <a href="https://github.com/sasjs/adapter/pulls?q=is%3Apr+reviewed-by%3Amedjedovicm" title="Reviewed Pull Requests">👀</a></td>
<td align="center"><a href="https://github.com/saadjutt01"><img src="https://avatars.githubusercontent.com/u/8914650?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Muhammad Saad </b></sub></a><br /><a href="https://github.com/sasjs/adapter/commits?author=saadjutt01" title="Code">💻</a> <a href="https://github.com/sasjs/adapter/pulls?q=is%3Apr+reviewed-by%3Asaadjutt01" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/sasjs/adapter/commits?author=saadjutt01" title="Tests">⚠️</a> <a href="#mentoring-saadjutt01" title="Mentoring">🧑‍🏫</a> <a href="#infra-saadjutt01" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/allanbowe"><img src="https://avatars.githubusercontent.com/u/4420615?v=4?s=100" width="100px;" alt="Allan Bowe"/><br /><sub><b>Allan Bowe</b></sub></a><br /><a href="https://github.com/sasjs/adapter/commits?author=allanbowe" title="Code">💻</a> <a href="https://github.com/sasjs/adapter/pulls?q=is%3Apr+reviewed-by%3Aallanbowe" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/sasjs/adapter/commits?author=allanbowe" title="Tests">⚠️</a> <a href="#mentoring-allanbowe" title="Mentoring">🧑‍🏫</a> <a href="#maintenance-allanbowe" title="Maintenance">🚧</a></td>
<td align="center"><a href="https://github.com/sabhas"><img src="https://avatars.githubusercontent.com/u/82647447?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Sabir Hassan</b></sub></a><br /><a href="https://github.com/sasjs/adapter/commits?author=sabhas" title="Code">💻</a> <a href="https://github.com/sasjs/adapter/pulls?q=is%3Apr+reviewed-by%3Asabhas" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/sasjs/adapter/commits?author=sabhas" title="Tests">⚠️</a> <a href="#ideas-sabhas" title="Ideas, Planning, & Feedback">🤔</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/saadjutt01"><img src="https://avatars.githubusercontent.com/u/8914650?v=4?s=100" width="100px;" alt="Muhammad Saad "/><br /><sub><b>Muhammad Saad </b></sub></a><br /><a href="https://github.com/sasjs/adapter/commits?author=saadjutt01" title="Code">💻</a> <a href="https://github.com/sasjs/adapter/pulls?q=is%3Apr+reviewed-by%3Asaadjutt01" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/sasjs/adapter/commits?author=saadjutt01" title="Tests">⚠️</a> <a href="#mentoring-saadjutt01" title="Mentoring">🧑‍🏫</a> <a href="#infra-saadjutt01" title="Infrastructure (Hosting, Build-Tools, etc)">🚇</a></td>
<td align="center"><a href="https://github.com/VladislavParhomchik"><img src="https://avatars.githubusercontent.com/u/83717836?v=4?s=100" width="100px;" alt=""/><br /><sub><b>VladislavParhomchik</b></sub></a><br /><a href="https://github.com/sasjs/adapter/commits?author=VladislavParhomchik" title="Tests">⚠️</a> <a href="https://github.com/sasjs/adapter/pulls?q=is%3Apr+reviewed-by%3AVladislavParhomchik" title="Reviewed Pull Requests">👀</a></td> <td align="center" valign="top" width="14.28%"><a href="https://github.com/sabhas"><img src="https://avatars.githubusercontent.com/u/82647447?v=4?s=100" width="100px;" alt="Sabir Hassan"/><br /><sub><b>Sabir Hassan</b></sub></a><br /><a href="https://github.com/sasjs/adapter/commits?author=sabhas" title="Code">💻</a> <a href="https://github.com/sasjs/adapter/pulls?q=is%3Apr+reviewed-by%3Asabhas" title="Reviewed Pull Requests">👀</a> <a href="https://github.com/sasjs/adapter/commits?author=sabhas" title="Tests">⚠️</a> <a href="#ideas-sabhas" title="Ideas, Planning, & Feedback">🤔</a></td>
</tr> <td align="center" valign="top" width="14.28%"><a href="https://github.com/VladislavParhomchik"><img src="https://avatars.githubusercontent.com/u/83717836?v=4?s=100" width="100px;" alt="VladislavParhomchik"/><br /><sub><b>VladislavParhomchik</b></sub></a><br /><a href="https://github.com/sasjs/adapter/commits?author=VladislavParhomchik" title="Tests">⚠️</a> <a href="https://github.com/sasjs/adapter/pulls?q=is%3Apr+reviewed-by%3AVladislavParhomchik" title="Reviewed Pull Requests">👀</a></td>
</tr>
<tr>
<td align="center" valign="top" width="14.28%"><a href="http://rudvfaden.github.io/"><img src="https://avatars.githubusercontent.com/u/2445577?v=4?s=100" width="100px;" alt="Rud Faden"/><br /><sub><b>Rud Faden</b></sub></a><br /><a href="#userTesting-rudvfaden" title="User Testing">📓</a> <a href="https://github.com/sasjs/adapter/commits?author=rudvfaden" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/saramartinelli1992"><img src="https://avatars.githubusercontent.com/u/100193908?v=4?s=100" width="100px;" alt="Sara"/><br /><sub><b>Sara</b></sub></a><br /><a href="#userTesting-saramartinelli1992" title="User Testing">📓</a> <a href="#platform-saramartinelli1992" title="Packaging/porting to new platform">📦</a></td>
</tr>
</tbody>
</table> </table>
<!-- markdownlint-restore --> <!-- markdownlint-restore -->
+35
View File
@@ -0,0 +1,35 @@
const td = require('typedoc')
const ts = require('typescript')
const typedocJson = require('./typedoc.json')
async function createTSDocs() {
if (!typedocJson.entryPoints?.length) {
throw new Error(
'Typedoc error: entryPoints option is missing in typedoc configuration.'
)
}
if (!typedocJson.out) {
throw new Error(
'Typedoc error: out option is missing in typedoc configuration.'
)
}
const app = new td.Application()
app.options.addReader(new td.TSConfigReader())
app.bootstrap({
...typedocJson,
tsconfig: 'tsconfig.json'
})
const project = app.converter.convert(app.getEntryPoints() ?? [])
if (project) {
await app.generateDocs(project, typedocJson.out)
} else {
throw new Error('Typedoc error: error creating the TS docs.')
}
}
createTSDocs()
+18
View File
@@ -0,0 +1,18 @@
const { defineConfig } = require('cypress')
module.exports = defineConfig({
e2e: {
includeShadowDom: true,
chromeWebSecurity: false,
defaultCommandTimeout: 20000,
specPattern: 'cypress/integration/**/*.ts',
supportFile: 'cypress/support/index.js'
},
env: {
sasjsTestsUrl: 'http://localhost:3000',
username: '',
password: '',
screenshotOnRunFailure: false,
testingFinishTimeout: 600000
}
})
+75
View File
@@ -0,0 +1,75 @@
const sasjsTestsUrl = Cypress.env('sasjsTestsUrl')
const username = Cypress.env('username')
const password = Cypress.env('password')
const testingFinishTimeout = Cypress.env('testingFinishTimeout')
context('sasjs-tests', function () {
before(() => {
cy.visit(sasjsTestsUrl)
})
beforeEach(() => {
cy.visit(sasjsTestsUrl)
})
function loginIfNeeded() {
cy.get('login-form, tests-view', { timeout: 30000 }).should('exist')
cy.get('body').then(($body) => {
if ($body.find('login-form').length > 0) {
cy.get('login-form')
.shadow()
.find('#username')
.should('be.visible')
.type(username)
cy.get('login-form')
.shadow()
.find('#password')
.should('be.visible')
.type(password)
cy.get('login-form')
.shadow()
.find('#submit-btn')
.should('be.visible')
.click()
cy.get('login-form').should('not.exist') // Wait for login to finish
}
})
}
it('Should have all tests successful', () => {
loginIfNeeded()
cy.get('tests-view').shadow().find('#run-btn').should('be.visible').click()
cy.get('tests-view')
.shadow()
.find('#run-btn:disabled', {
timeout: testingFinishTimeout
})
.should('not.exist')
cy.get('test-card').shadow().find('.status-icon.failed').should('not.exist')
})
it('Should have all tests successful with debug on', () => {
loginIfNeeded()
cy.get('tests-view')
.shadow()
.find('#debug-toggle')
.should('be.visible')
.click()
cy.get('tests-view').shadow().find('#run-btn').should('be.visible').click()
cy.get('tests-view')
.shadow()
.find('#run-btn:disabled', {
timeout: testingFinishTimeout
})
.should('not.exist')
cy.get('test-card').shadow().find('.status-icon.failed').should('not.exist')
})
})
+31
View File
@@ -0,0 +1,31 @@
const wp = require('@cypress/webpack-preprocessor')
const webpackOptions = {
resolve: {
extensions: ['.ts', '.js']
},
module: {
rules: [
{
test: /\.ts$/,
loaders: ['ts-loader'],
exclude: [/node_modules/]
},
{
test: /\.(html|css)$/,
loader: 'raw-loader',
exclude: /\.async\.(html|css)$/
},
{
test: /\.async\.(html|css)$/,
loaders: ['file?name=[name].[hash].[ext]', 'extract']
}
]
}
}
const options = {
webpackOptions
}
module.exports = wp(options)
+42
View File
@@ -0,0 +1,42 @@
/// <reference types="cypress" />
// ***********************************************************
// This example plugins/index.js can be used to load plugins
//
// You can change the location of this file or turn off loading
// the plugins file with the 'pluginsFile' configuration option.
//
// You can read more here:
// https://on.cypress.io/plugins-guide
// ***********************************************************
// This function is called when a project is opened or re-opened (e.g. due to
// the project's config changing)
const wp = require('@cypress/webpack-preprocessor')
/**
* @type {Cypress.PluginConfig}
*/
module.exports = (on, config) => {
// `on` is used to hook into various events Cypress emits
// `config` is the resolved Cypress config
const options = {
webpackOptions: require('../webpack.config.js')
}
on('file:preprocessor', wp(options))
on('before:browser:launch', (browser = {}, launchOptions) => {
if (browser.name === 'chrome') {
launchOptions.args.push('--disable-site-isolation-trials')
launchOptions.args.push('--auto-open-devtools-for-tabs')
launchOptions.args.push('--aggressive-cache-discard')
launchOptions.args.push('--disable-cache')
launchOptions.args.push('--disable-application-cache')
launchOptions.args.push('--disable-offline-load-stale-cache')
launchOptions.args.push('--disk-cache-size=0')
return launchOptions
}
})
}
+25
View File
@@ -0,0 +1,25 @@
// ***********************************************
// This example commands.js shows you how to
// create various custom commands and overwrite
// existing commands.
//
// For more comprehensive examples of custom
// commands please read more here:
// https://on.cypress.io/custom-commands
// ***********************************************
//
//
// -- This is a parent command --
// Cypress.Commands.add('login', (email, password) => { ... })
//
//
// -- This is a child command --
// Cypress.Commands.add('drag', { prevSubject: 'element'}, (subject, options) => { ... })
//
//
// -- This is a dual command --
// Cypress.Commands.add('dismiss', { prevSubject: 'optional'}, (subject, options) => { ... })
//
//
// -- This will overwrite an existing command --
// Cypress.Commands.overwrite('visit', (originalFn, url, options) => { ... })
+20
View File
@@ -0,0 +1,20 @@
// ***********************************************************
// This example support/index.js is processed and
// loaded automatically before your test files.
//
// This is a great place to put global configuration and
// behavior that modifies Cypress.
//
// You can change the location of this file or turn off
// automatically serving support files with the
// 'supportFile' configuration option.
//
// You can read more here:
// https://on.cypress.io/configuration
// ***********************************************************
// Import commands.js using ES2015 syntax:
import './commands'
// Alternatively you can use CommonJS syntax:
// require('./commands')
+10
View File
@@ -0,0 +1,10 @@
{
"compilerOptions": {
"strict": true,
"baseUrl": "../node_modules",
"target": "es6",
"lib": ["es2019", "dom"],
"types": ["cypress"]
},
"include": ["**/*.ts"]
}
Binary file not shown.
+23
View File
@@ -0,0 +1,23 @@
module.exports = {
mode: 'development',
resolve: {
extensions: ['.ts', '.js']
},
module: {
rules: [
{
test: /\.ts$/,
exclude: [/node_modules/],
use: [
{
loader: 'ts-loader',
options: {
// skip typechecking for speed
transpileOnly: true
}
}
]
}
]
}
}
-1
View File
@@ -1 +0,0 @@
adapter.sasjs.io
-1
View File
@@ -1 +0,0 @@
theme: jekyll-theme-minimal
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 480 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 855 B

File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
@@ -1,231 +0,0 @@
<!doctype html>
<html class="default no-js">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>FileUploader | @sasjs/adapter</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../assets/css/main.css">
</head>
<body>
<header>
<div class="tsd-page-toolbar">
<div class="container">
<div class="table-wrap">
<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
<div class="field">
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
<input id="tsd-search-field" type="text" />
</div>
<ul class="results">
<li class="state loading">Preparing search index...</li>
<li class="state failure">The search index is not available</li>
</ul>
<ul class="results-priority" style="display:none">
</ul>
<a href="../index.html" class="title">@sasjs/adapter</a>
&emsp;<a href="https://github.com/sasjs/adapter" class="title">SASjs on Github</a>
&emsp;<a href="https://sasjs.io" class="title">SASjs.io</a>
&emsp;<a href="https://github.com/sasjs/cli" class="title">SASjs CLI</a>
&emsp;<a href="https://github.com/sasjs/react-seed-app" class="title">React Seed App</a>
</div>
<div class="table-cell" id="tsd-widgets">
<div id="tsd-filter">
<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
<div class="tsd-filter-group">
<div class="tsd-select" id="tsd-filter-visibility">
<span class="tsd-select-label">All</span>
<ul class="tsd-select-list">
<li data-value="public">Public</li>
<li data-value="protected">Public/Protected</li>
<li data-value="private" class="selected">All</li>
</ul>
</div>
<input type="checkbox" id="tsd-filter-inherited" checked />
<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
</div>
</div>
<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
</div>
</div>
</div>
</div>
<div class="tsd-page-title">
<div class="container">
<ul class="tsd-breadcrumb">
<li>
<a href="../modules/reflection-724.html"></a>
</li>
<li>
<a href="../modules/reflection-724.reflection-187.html"></a>
</li>
<li>
<a href="reflection-724.reflection-187.fileuploader.html">FileUploader</a>
</li>
</ul>
</div>
</div>
</header>
<div class="container container-main">
<div class="row">
<div class="col-3 col-menu menu-sticky-wrap menu-highlight">
<nav class="tsd-navigation outline primary">
<a style="margin-left:0em" href="../globals.html">Globals</a>
<ul style="display:none">
{&quot;SAS Adapter&quot;:{&quot;SASjs&quot;:&quot;classes/reflection-717.reflection-180.sasjs&quot;,&quot;Types&quot;:&quot;modules/types&quot;},&quot;SAS Viya API Client&quot;:&quot;classes/reflection-717.reflection-180.sasviyaapiclient&quot;,&quot;SAS 9 API Client&quot;:&quot;classes/reflection-717.reflection-180.sas9apiclient&quot;}
</ul>
</nav>
</div>
<div class="col-7 offset-3 col-content">
<h1>Class FileUploader</h1>
<section class="tsd-panel tsd-hierarchy">
<h3>Hierarchy</h3>
<ul class="tsd-hierarchy">
<li>
<span class="target">FileUploader</span>
</li>
</ul>
</section>
<section class="tsd-panel-group tsd-index-group">
<section class="tsd-panel tsd-index-panel">
<div class="tsd-index-content">
<section class="tsd-index-section ">
<h3>Constructors</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-constructor tsd-parent-kind-class"><a href="reflection-724.reflection-187.fileuploader.html#constructor" class="tsd-kind-icon">constructor</a></li>
</ul>
</section>
<section class="tsd-index-section ">
<h3>Methods</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-method tsd-parent-kind-class"><a href="reflection-724.reflection-187.fileuploader.html#uploadfile" class="tsd-kind-icon">uploadFile</a></li>
</ul>
</section>
</div>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Constructors</h2>
<section class="tsd-panel tsd-member tsd-kind-constructor tsd-parent-kind-class">
<a name="constructor" class="tsd-anchor"></a>
<h3>constructor</h3>
<ul class="tsd-signatures tsd-kind-constructor tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">new <wbr>File<wbr>Uploader<span class="tsd-signature-symbol">(</span>appLoc<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, serverUrl<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, jobsPath<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, setCsrfTokenWeb<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span>, csrfToken<span class="tsd-signature-symbol">?: </span><a href="../interfaces/types.csrftoken.html" class="tsd-signature-type">CsrfToken</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="reflection-724.reflection-187.fileuploader.html" class="tsd-signature-type">FileUploader</a></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in
<a href="https://github.com/sasjs/adapter/blob/master/src/FileUploader.ts#L7">
FileUploader.ts:7
</a>
</li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>appLoc: <span class="tsd-signature-type">string</span></h5>
</li>
<li>
<h5>serverUrl: <span class="tsd-signature-type">string</span></h5>
</li>
<li>
<h5>jobsPath: <span class="tsd-signature-type">string</span></h5>
</li>
<li>
<h5>setCsrfTokenWeb: <span class="tsd-signature-type">any</span></h5>
</li>
<li>
<h5><span class="tsd-flag ts-flagDefault value">Default value</span> csrfToken: <a href="../interfaces/types.csrftoken.html" class="tsd-signature-type">CsrfToken</a><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">null</span><span class="tsd-signature-symbol"> = null</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="reflection-724.reflection-187.fileuploader.html" class="tsd-signature-type">FileUploader</a></h4>
</li>
</ul>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Methods</h2>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="uploadfile" class="tsd-anchor"></a>
<h3>upload<wbr>File</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">upload<wbr>File<span class="tsd-signature-symbol">(</span>sasJob<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, files<span class="tsd-signature-symbol">: </span><a href="../interfaces/types.uploadfile.html" class="tsd-signature-type">UploadFile</a><span class="tsd-signature-symbol">[]</span>, params<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">any</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">&gt;</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in
<a href="https://github.com/sasjs/adapter/blob/master/src/FileUploader.ts#L20">
FileUploader.ts:20
</a>
</li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>sasJob: <span class="tsd-signature-type">string</span></h5>
</li>
<li>
<h5>files: <a href="../interfaces/types.uploadfile.html" class="tsd-signature-type">UploadFile</a><span class="tsd-signature-symbol">[]</span></h5>
</li>
<li>
<h5>params: <span class="tsd-signature-type">any</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">unknown</span><span class="tsd-signature-symbol">&gt;</span></h4>
</li>
</ul>
</section>
</section>
<!--{&quot;options&quot;:&quot;/Users/allan/git/adapter&quot;,&quot;tsconfig&quot;:&quot;/Users/allan/git/adapter&quot;,&quot;inputFiles&quot;:[&quot;/Users/allan/git/adapter/src/FileUploader.ts&quot;,&quot;/Users/allan/git/adapter/src/SAS9ApiClient.ts&quot;,&quot;/Users/allan/git/adapter/src/SASViyaApiClient.ts&quot;,&quot;/Users/allan/git/adapter/src/SASjs.ts&quot;,&quot;/Users/allan/git/adapter/src/SessionManager.ts&quot;,&quot;/Users/allan/git/adapter/src/index.ts&quot;,&quot;/Users/allan/git/adapter/src/types/Context.ts&quot;,&quot;/Users/allan/git/adapter/src/types/CsrfToken.ts&quot;,&quot;/Users/allan/git/adapter/src/types/ErrorResponse.ts&quot;,&quot;/Users/allan/git/adapter/src/types/Folder.ts&quot;,&quot;/Users/allan/git/adapter/src/types/Job.ts&quot;,&quot;/Users/allan/git/adapter/src/types/JobDefinition.ts&quot;,&quot;/Users/allan/git/adapter/src/types/JobResult.ts&quot;,&quot;/Users/allan/git/adapter/src/types/Link.ts&quot;,&quot;/Users/allan/git/adapter/src/types/SASjsConfig.ts&quot;,&quot;/Users/allan/git/adapter/src/types/SASjsRequest.ts&quot;,&quot;/Users/allan/git/adapter/src/types/SASjsWaitingRequest.ts&quot;,&quot;/Users/allan/git/adapter/src/types/ServerType.ts&quot;,&quot;/Users/allan/git/adapter/src/types/Session.ts&quot;,&quot;/Users/allan/git/adapter/src/types/UploadFile.ts&quot;,&quot;/Users/allan/git/adapter/src/types/index.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/asyncForEach.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/compareTimestamps.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/convertToCsv.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/formatDataForRequest.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/index.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/isAuthorizeFormRequired.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/isIeOrEdge.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/isLoginRequired.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/isLoginSuccess.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/isUri.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/isUrl.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/makeRequest.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/needsRetry.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/parseAndSubmitAuthorizeForm.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/parseGeneratedCode.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/parseSasViyaLog.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/parseSourceCode.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/parseWeboutResponse.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/serialize.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/splitChunks.ts&quot;],&quot;mode&quot;:1,&quot;includeDeclarations&quot;:true,&quot;entryPoint&quot;:&quot;&quot;,&quot;exclude&quot;:[&quot;**/*+(index|.spec|.e2e).ts&quot;],&quot;externalPattern&quot;:[],&quot;excludeExternals&quot;:true,&quot;excludeNotExported&quot;:true,&quot;excludeNotDocumented&quot;:false,&quot;excludePrivate&quot;:true,&quot;excludeProtected&quot;:false,&quot;ignoreCompilerErrors&quot;:true,&quot;disableSources&quot;:false,&quot;includes&quot;:&quot;&quot;,&quot;media&quot;:&quot;&quot;,&quot;out&quot;:&quot;docs&quot;,&quot;json&quot;:&quot;&quot;,&quot;theme&quot;:&quot;./node_modules/typedoc-neo-theme/bin/default&quot;,&quot;name&quot;:&quot;&quot;,&quot;includeVersion&quot;:false,&quot;excludeTags&quot;:[],&quot;readme&quot;:&quot;&quot;,&quot;defaultCategory&quot;:&quot;Other&quot;,&quot;categoryOrder&quot;:[],&quot;categorizeByGroup&quot;:true,&quot;gitRevision&quot;:&quot;&quot;,&quot;gitRemote&quot;:&quot;origin&quot;,&quot;gaID&quot;:&quot;&quot;,&quot;gaSite&quot;:&quot;auto&quot;,&quot;hideGenerator&quot;:false,&quot;toc&quot;:[],&quot;disableOutputCheck&quot;:true,&quot;help&quot;:false,&quot;version&quot;:false,&quot;plugin&quot;:[],&quot;logger&quot;:&quot;console&quot;,&quot;listInvalidSymbolLinks&quot;:false,&quot;links&quot;:[{&quot;label&quot;:&quot;SASjs on Github&quot;,&quot;url&quot;:&quot;https://github.com/sasjs/adapter&quot;},{&quot;label&quot;:&quot;SASjs.io&quot;,&quot;url&quot;:&quot;https://sasjs.io&quot;},{&quot;label&quot;:&quot;SASjs CLI&quot;,&quot;url&quot;:&quot;https://github.com/sasjs/cli&quot;},{&quot;label&quot;:&quot;React Seed App&quot;,&quot;url&quot;:&quot;https://github.com/sasjs/react-seed-app&quot;}],&quot;outline&quot;:[{&quot;SAS Adapter&quot;:{&quot;SASjs&quot;:&quot;classes/reflection-717.reflection-180.sasjs&quot;,&quot;Types&quot;:&quot;modules/types&quot;},&quot;SAS Viya API Client&quot;:&quot;classes/reflection-717.reflection-180.sasviyaapiclient&quot;,&quot;SAS 9 API Client&quot;:&quot;classes/reflection-717.reflection-180.sas9apiclient&quot;}],&quot;source&quot;:[{&quot;path&quot;:&quot;https://github.com/sasjs/adapter/blob/master/src/&quot;,&quot;line&quot;:&quot;L&quot;}],&quot;disableAutoModuleName&quot;:&quot;false&quot;}-->
</div>
<div class="col-2 col-menu secondary-menu">
<nav class="tsd-navigation secondary menu-sticky">
<ul class="before-current">
</ul>
<ul class="current">
<li class="current tsd-kind-class tsd-parent-kind-module root">
<a href="reflection-724.reflection-187.fileuploader.html" class="tsd-kind-icon">File<wbr>Uploader</a>
<ul>
<li class=" tsd-kind-constructor tsd-parent-kind-class">
<a href="reflection-724.reflection-187.fileuploader.html#constructor" class="tsd-kind-icon">constructor</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="reflection-724.reflection-187.fileuploader.html#uploadfile" class="tsd-kind-icon">upload<wbr>File</a>
</li>
</ul>
</li>
</ul>
<ul class="after-current">
<li class=" tsd-kind-class tsd-parent-kind-module root">
<a href="reflection-724.reflection-187.sas9apiclient.html" class="tsd-kind-icon">SAS9<wbr>Api<wbr>Client</a>
</li>
<li class=" tsd-kind-class tsd-parent-kind-module root">
<a href="reflection-724.reflection-187.sasviyaapiclient.html" class="tsd-kind-icon">SASViya<wbr>Api<wbr>Client</a>
</li>
<li class=" tsd-kind-class tsd-parent-kind-module root">
<a href="reflection-724.reflection-187.sasjs.html" class="tsd-kind-icon">SASjs</a>
</li>
<li class=" tsd-kind-class tsd-parent-kind-module root">
<a href="reflection-724.reflection-187.sessionmanager.html" class="tsd-kind-icon">Session<wbr>Manager</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<footer class="with-border-bottom">
</footer>
<div class="container tsd-generator">
<p>Generated using <a href="http://typedoc.org/" target="_blank">TypeDoc</a></p>
</div>
<div class="overlay"></div>
<script src="../assets/js/main.js"></script>
</body>
</html>
@@ -1,312 +0,0 @@
<!doctype html>
<html class="default no-js">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>SAS9ApiClient | @sasjs/adapter</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../assets/css/main.css">
</head>
<body>
<header>
<div class="tsd-page-toolbar">
<div class="container">
<div class="table-wrap">
<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
<div class="field">
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
<input id="tsd-search-field" type="text" />
</div>
<ul class="results">
<li class="state loading">Preparing search index...</li>
<li class="state failure">The search index is not available</li>
</ul>
<ul class="results-priority" style="display:none">
</ul>
<a href="../index.html" class="title">@sasjs/adapter</a>
&emsp;<a href="https://github.com/sasjs/adapter" class="title">SASjs on Github</a>
&emsp;<a href="https://sasjs.io" class="title">SASjs.io</a>
&emsp;<a href="https://github.com/sasjs/cli" class="title">SASjs CLI</a>
&emsp;<a href="https://github.com/sasjs/react-seed-app" class="title">React Seed App</a>
</div>
<div class="table-cell" id="tsd-widgets">
<div id="tsd-filter">
<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
<div class="tsd-filter-group">
<div class="tsd-select" id="tsd-filter-visibility">
<span class="tsd-select-label">All</span>
<ul class="tsd-select-list">
<li data-value="public">Public</li>
<li data-value="protected">Public/Protected</li>
<li data-value="private" class="selected">All</li>
</ul>
</div>
<input type="checkbox" id="tsd-filter-inherited" checked />
<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
</div>
</div>
<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
</div>
</div>
</div>
</div>
<div class="tsd-page-title">
<div class="container">
<ul class="tsd-breadcrumb">
<li>
<a href="../modules/reflection-724.html"></a>
</li>
<li>
<a href="../modules/reflection-724.reflection-187.html"></a>
</li>
<li>
<a href="reflection-724.reflection-187.sas9apiclient.html">SAS9ApiClient</a>
</li>
</ul>
</div>
</div>
</header>
<div class="container container-main">
<div class="row">
<div class="col-3 col-menu menu-sticky-wrap menu-highlight">
<nav class="tsd-navigation outline primary">
<a style="margin-left:0em" href="../globals.html">Globals</a>
<ul style="display:none">
{&quot;SAS Adapter&quot;:{&quot;SASjs&quot;:&quot;classes/reflection-717.reflection-180.sasjs&quot;,&quot;Types&quot;:&quot;modules/types&quot;},&quot;SAS Viya API Client&quot;:&quot;classes/reflection-717.reflection-180.sasviyaapiclient&quot;,&quot;SAS 9 API Client&quot;:&quot;classes/reflection-717.reflection-180.sas9apiclient&quot;}
</ul>
</nav>
</div>
<div class="col-7 offset-3 col-content">
<h1>Class SAS9ApiClient</h1>
<section class="tsd-panel tsd-comment"><div class="tsd-comment tsd-typography tsd-comment-shorttext">
<div class="lead">
<p>A client for interfacing with the SAS9 REST API.</p>
</div>
</div></section>
<section class="tsd-panel tsd-hierarchy">
<h3>Hierarchy</h3>
<ul class="tsd-hierarchy">
<li>
<span class="target">SAS9ApiClient</span>
</li>
</ul>
</section>
<section class="tsd-panel-group tsd-index-group">
<section class="tsd-panel tsd-index-panel">
<div class="tsd-index-content">
<section class="tsd-index-section ">
<h3>Constructors</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-constructor tsd-parent-kind-class"><a href="reflection-724.reflection-187.sas9apiclient.html#constructor" class="tsd-kind-icon">constructor</a></li>
</ul>
</section>
<section class="tsd-index-section ">
<h3>Methods</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-method tsd-parent-kind-class"><a href="reflection-724.reflection-187.sas9apiclient.html#executescript" class="tsd-kind-icon">executeScript</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="reflection-724.reflection-187.sas9apiclient.html#getconfig" class="tsd-kind-icon">getConfig</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="reflection-724.reflection-187.sas9apiclient.html#setconfig" class="tsd-kind-icon">setConfig</a></li>
</ul>
</section>
</div>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Constructors</h2>
<section class="tsd-panel tsd-member tsd-kind-constructor tsd-parent-kind-class">
<a name="constructor" class="tsd-anchor"></a>
<h3>constructor</h3>
<ul class="tsd-signatures tsd-kind-constructor tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">new SAS9<wbr>Api<wbr>Client<span class="tsd-signature-symbol">(</span>serverUrl<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="reflection-724.reflection-187.sas9apiclient.html" class="tsd-signature-type">SAS9ApiClient</a></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in
<a href="https://github.com/sasjs/adapter/blob/master/src/SAS9ApiClient.ts#L7">
SAS9ApiClient.ts:7
</a>
</li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>serverUrl: <span class="tsd-signature-type">string</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="reflection-724.reflection-187.sas9apiclient.html" class="tsd-signature-type">SAS9ApiClient</a></h4>
</li>
</ul>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Methods</h2>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="executescript" class="tsd-anchor"></a>
<h3>execute<wbr>Script</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">execute<wbr>Script<span class="tsd-signature-symbol">(</span>linesOfCode<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span>, serverName<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, repositoryName<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in
<a href="https://github.com/sasjs/adapter/blob/master/src/SAS9ApiClient.ts#L35">
SAS9ApiClient.ts:35
</a>
</li>
</ul>
</aside>
<div class="tsd-comment tsd-typography tsd-comment-shorttext">
<div class="lead">
<p>Executes code on a SAS9 server.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>linesOfCode: <span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">[]</span></h5>
<div class="tsd-comment tsd-typography tsd-comment-text">
<p>an array of code lines to execute.</p>
</div>
</li>
<li>
<h5>serverName: <span class="tsd-signature-type">string</span></h5>
<div class="tsd-comment tsd-typography tsd-comment-text">
<p>the server to execute the code on.</p>
</div>
</li>
<li>
<h5>repositoryName: <span class="tsd-signature-type">string</span></h5>
<div class="tsd-comment tsd-typography tsd-comment-text">
<p>the repository to execute the code in.</p>
</div>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">&gt;</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="getconfig" class="tsd-anchor"></a>
<h3>get<wbr>Config</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">get<wbr>Config<span class="tsd-signature-symbol">(</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">object</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in
<a href="https://github.com/sasjs/adapter/blob/master/src/SAS9ApiClient.ts#L15">
SAS9ApiClient.ts:15
</a>
</li>
</ul>
</aside>
<div class="tsd-comment tsd-typography tsd-comment-shorttext">
<div class="lead">
<p>Returns an object containing server URL.</p>
</div>
</div>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">object</span></h4>
<ul class="tsd-parameters">
<li class="tsd-parameter">
<h5>server<wbr>Url<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span></h5>
</li>
</ul>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="setconfig" class="tsd-anchor"></a>
<h3>set<wbr>Config</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">set<wbr>Config<span class="tsd-signature-symbol">(</span>serverUrl<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in
<a href="https://github.com/sasjs/adapter/blob/master/src/SAS9ApiClient.ts#L25">
SAS9ApiClient.ts:25
</a>
</li>
</ul>
</aside>
<div class="tsd-comment tsd-typography tsd-comment-shorttext">
<div class="lead">
<p>Updates server URL which is not null.</p>
</div>
</div>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>serverUrl: <span class="tsd-signature-type">string</span></h5>
<div class="tsd-comment tsd-typography tsd-comment-text">
<p>URL of the server to be set.</p>
</div>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
</li>
</ul>
</section>
</section>
<!--{&quot;options&quot;:&quot;/Users/allan/git/adapter&quot;,&quot;tsconfig&quot;:&quot;/Users/allan/git/adapter&quot;,&quot;inputFiles&quot;:[&quot;/Users/allan/git/adapter/src/FileUploader.ts&quot;,&quot;/Users/allan/git/adapter/src/SAS9ApiClient.ts&quot;,&quot;/Users/allan/git/adapter/src/SASViyaApiClient.ts&quot;,&quot;/Users/allan/git/adapter/src/SASjs.ts&quot;,&quot;/Users/allan/git/adapter/src/SessionManager.ts&quot;,&quot;/Users/allan/git/adapter/src/index.ts&quot;,&quot;/Users/allan/git/adapter/src/types/Context.ts&quot;,&quot;/Users/allan/git/adapter/src/types/CsrfToken.ts&quot;,&quot;/Users/allan/git/adapter/src/types/ErrorResponse.ts&quot;,&quot;/Users/allan/git/adapter/src/types/Folder.ts&quot;,&quot;/Users/allan/git/adapter/src/types/Job.ts&quot;,&quot;/Users/allan/git/adapter/src/types/JobDefinition.ts&quot;,&quot;/Users/allan/git/adapter/src/types/JobResult.ts&quot;,&quot;/Users/allan/git/adapter/src/types/Link.ts&quot;,&quot;/Users/allan/git/adapter/src/types/SASjsConfig.ts&quot;,&quot;/Users/allan/git/adapter/src/types/SASjsRequest.ts&quot;,&quot;/Users/allan/git/adapter/src/types/SASjsWaitingRequest.ts&quot;,&quot;/Users/allan/git/adapter/src/types/ServerType.ts&quot;,&quot;/Users/allan/git/adapter/src/types/Session.ts&quot;,&quot;/Users/allan/git/adapter/src/types/UploadFile.ts&quot;,&quot;/Users/allan/git/adapter/src/types/index.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/asyncForEach.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/compareTimestamps.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/convertToCsv.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/formatDataForRequest.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/index.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/isAuthorizeFormRequired.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/isIeOrEdge.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/isLoginRequired.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/isLoginSuccess.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/isUri.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/isUrl.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/makeRequest.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/needsRetry.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/parseAndSubmitAuthorizeForm.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/parseGeneratedCode.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/parseSasViyaLog.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/parseSourceCode.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/parseWeboutResponse.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/serialize.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/splitChunks.ts&quot;],&quot;mode&quot;:1,&quot;includeDeclarations&quot;:true,&quot;entryPoint&quot;:&quot;&quot;,&quot;exclude&quot;:[&quot;**/*+(index|.spec|.e2e).ts&quot;],&quot;externalPattern&quot;:[],&quot;excludeExternals&quot;:true,&quot;excludeNotExported&quot;:true,&quot;excludeNotDocumented&quot;:false,&quot;excludePrivate&quot;:true,&quot;excludeProtected&quot;:false,&quot;ignoreCompilerErrors&quot;:true,&quot;disableSources&quot;:false,&quot;includes&quot;:&quot;&quot;,&quot;media&quot;:&quot;&quot;,&quot;out&quot;:&quot;docs&quot;,&quot;json&quot;:&quot;&quot;,&quot;theme&quot;:&quot;./node_modules/typedoc-neo-theme/bin/default&quot;,&quot;name&quot;:&quot;&quot;,&quot;includeVersion&quot;:false,&quot;excludeTags&quot;:[],&quot;readme&quot;:&quot;&quot;,&quot;defaultCategory&quot;:&quot;Other&quot;,&quot;categoryOrder&quot;:[],&quot;categorizeByGroup&quot;:true,&quot;gitRevision&quot;:&quot;&quot;,&quot;gitRemote&quot;:&quot;origin&quot;,&quot;gaID&quot;:&quot;&quot;,&quot;gaSite&quot;:&quot;auto&quot;,&quot;hideGenerator&quot;:false,&quot;toc&quot;:[],&quot;disableOutputCheck&quot;:true,&quot;help&quot;:false,&quot;version&quot;:false,&quot;plugin&quot;:[],&quot;logger&quot;:&quot;console&quot;,&quot;listInvalidSymbolLinks&quot;:false,&quot;links&quot;:[{&quot;label&quot;:&quot;SASjs on Github&quot;,&quot;url&quot;:&quot;https://github.com/sasjs/adapter&quot;},{&quot;label&quot;:&quot;SASjs.io&quot;,&quot;url&quot;:&quot;https://sasjs.io&quot;},{&quot;label&quot;:&quot;SASjs CLI&quot;,&quot;url&quot;:&quot;https://github.com/sasjs/cli&quot;},{&quot;label&quot;:&quot;React Seed App&quot;,&quot;url&quot;:&quot;https://github.com/sasjs/react-seed-app&quot;}],&quot;outline&quot;:[{&quot;SAS Adapter&quot;:{&quot;SASjs&quot;:&quot;classes/reflection-717.reflection-180.sasjs&quot;,&quot;Types&quot;:&quot;modules/types&quot;},&quot;SAS Viya API Client&quot;:&quot;classes/reflection-717.reflection-180.sasviyaapiclient&quot;,&quot;SAS 9 API Client&quot;:&quot;classes/reflection-717.reflection-180.sas9apiclient&quot;}],&quot;source&quot;:[{&quot;path&quot;:&quot;https://github.com/sasjs/adapter/blob/master/src/&quot;,&quot;line&quot;:&quot;L&quot;}],&quot;disableAutoModuleName&quot;:&quot;false&quot;}-->
</div>
<div class="col-2 col-menu secondary-menu">
<nav class="tsd-navigation secondary menu-sticky">
<ul class="before-current">
<li class=" tsd-kind-class tsd-parent-kind-module root">
<a href="reflection-724.reflection-187.fileuploader.html" class="tsd-kind-icon">File<wbr>Uploader</a>
</li>
</ul>
<ul class="current">
<li class="current tsd-kind-class tsd-parent-kind-module root">
<a href="reflection-724.reflection-187.sas9apiclient.html" class="tsd-kind-icon">SAS9<wbr>Api<wbr>Client</a>
<ul>
<li class=" tsd-kind-constructor tsd-parent-kind-class">
<a href="reflection-724.reflection-187.sas9apiclient.html#constructor" class="tsd-kind-icon">constructor</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="reflection-724.reflection-187.sas9apiclient.html#executescript" class="tsd-kind-icon">execute<wbr>Script</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="reflection-724.reflection-187.sas9apiclient.html#getconfig" class="tsd-kind-icon">get<wbr>Config</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="reflection-724.reflection-187.sas9apiclient.html#setconfig" class="tsd-kind-icon">set<wbr>Config</a>
</li>
</ul>
</li>
</ul>
<ul class="after-current">
<li class=" tsd-kind-class tsd-parent-kind-module root">
<a href="reflection-724.reflection-187.sasviyaapiclient.html" class="tsd-kind-icon">SASViya<wbr>Api<wbr>Client</a>
</li>
<li class=" tsd-kind-class tsd-parent-kind-module root">
<a href="reflection-724.reflection-187.sasjs.html" class="tsd-kind-icon">SASjs</a>
</li>
<li class=" tsd-kind-class tsd-parent-kind-module root">
<a href="reflection-724.reflection-187.sessionmanager.html" class="tsd-kind-icon">Session<wbr>Manager</a>
</li>
</ul>
</nav>
</div>
</div>
</div>
<footer class="with-border-bottom">
</footer>
<div class="container tsd-generator">
<p>Generated using <a href="http://typedoc.org/" target="_blank">TypeDoc</a></p>
</div>
<div class="overlay"></div>
<script src="../assets/js/main.js"></script>
</body>
</html>
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -1,271 +0,0 @@
<!doctype html>
<html class="default no-js">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<title>SessionManager | @sasjs/adapter</title>
<meta name="description" content="">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="stylesheet" href="../assets/css/main.css">
</head>
<body>
<header>
<div class="tsd-page-toolbar">
<div class="container">
<div class="table-wrap">
<div class="table-cell" id="tsd-search" data-index="../assets/js/search.json" data-base="..">
<div class="field">
<label for="tsd-search-field" class="tsd-widget search no-caption">Search</label>
<input id="tsd-search-field" type="text" />
</div>
<ul class="results">
<li class="state loading">Preparing search index...</li>
<li class="state failure">The search index is not available</li>
</ul>
<ul class="results-priority" style="display:none">
</ul>
<a href="../index.html" class="title">@sasjs/adapter</a>
&emsp;<a href="https://github.com/sasjs/adapter" class="title">SASjs on Github</a>
&emsp;<a href="https://sasjs.io" class="title">SASjs.io</a>
&emsp;<a href="https://github.com/sasjs/cli" class="title">SASjs CLI</a>
&emsp;<a href="https://github.com/sasjs/react-seed-app" class="title">React Seed App</a>
</div>
<div class="table-cell" id="tsd-widgets">
<div id="tsd-filter">
<a href="#" class="tsd-widget options no-caption" data-toggle="options">Options</a>
<div class="tsd-filter-group">
<div class="tsd-select" id="tsd-filter-visibility">
<span class="tsd-select-label">All</span>
<ul class="tsd-select-list">
<li data-value="public">Public</li>
<li data-value="protected">Public/Protected</li>
<li data-value="private" class="selected">All</li>
</ul>
</div>
<input type="checkbox" id="tsd-filter-inherited" checked />
<label class="tsd-widget" for="tsd-filter-inherited">Inherited</label>
</div>
</div>
<a href="#" class="tsd-widget menu no-caption" data-toggle="menu">Menu</a>
</div>
</div>
</div>
</div>
<div class="tsd-page-title">
<div class="container">
<ul class="tsd-breadcrumb">
<li>
<a href="../modules/reflection-724.html"></a>
</li>
<li>
<a href="../modules/reflection-724.reflection-187.html"></a>
</li>
<li>
<a href="reflection-724.reflection-187.sessionmanager.html">SessionManager</a>
</li>
</ul>
</div>
</div>
</header>
<div class="container container-main">
<div class="row">
<div class="col-3 col-menu menu-sticky-wrap menu-highlight">
<nav class="tsd-navigation outline primary">
<a style="margin-left:0em" href="../globals.html">Globals</a>
<ul style="display:none">
{&quot;SAS Adapter&quot;:{&quot;SASjs&quot;:&quot;classes/reflection-717.reflection-180.sasjs&quot;,&quot;Types&quot;:&quot;modules/types&quot;},&quot;SAS Viya API Client&quot;:&quot;classes/reflection-717.reflection-180.sasviyaapiclient&quot;,&quot;SAS 9 API Client&quot;:&quot;classes/reflection-717.reflection-180.sas9apiclient&quot;}
</ul>
</nav>
</div>
<div class="col-7 offset-3 col-content">
<h1>Class SessionManager</h1>
<section class="tsd-panel tsd-hierarchy">
<h3>Hierarchy</h3>
<ul class="tsd-hierarchy">
<li>
<span class="target">SessionManager</span>
</li>
</ul>
</section>
<section class="tsd-panel-group tsd-index-group">
<section class="tsd-panel tsd-index-panel">
<div class="tsd-index-content">
<section class="tsd-index-section ">
<h3>Constructors</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-constructor tsd-parent-kind-class"><a href="reflection-724.reflection-187.sessionmanager.html#constructor" class="tsd-kind-icon">constructor</a></li>
</ul>
</section>
<section class="tsd-index-section ">
<h3>Methods</h3>
<ul class="tsd-index-list">
<li class="tsd-kind-method tsd-parent-kind-class"><a href="reflection-724.reflection-187.sessionmanager.html#clearsession" class="tsd-kind-icon">clearSession</a></li>
<li class="tsd-kind-method tsd-parent-kind-class"><a href="reflection-724.reflection-187.sessionmanager.html#getsession" class="tsd-kind-icon">getSession</a></li>
</ul>
</section>
</div>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Constructors</h2>
<section class="tsd-panel tsd-member tsd-kind-constructor tsd-parent-kind-class">
<a name="constructor" class="tsd-anchor"></a>
<h3>constructor</h3>
<ul class="tsd-signatures tsd-kind-constructor tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">new <wbr>Session<wbr>Manager<span class="tsd-signature-symbol">(</span>serverUrl<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, contextName<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, setCsrfToken<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">function</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><a href="reflection-724.reflection-187.sessionmanager.html" class="tsd-signature-type">SessionManager</a></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in
<a href="https://github.com/sasjs/adapter/blob/master/src/SessionManager.ts#L6">
SessionManager.ts:6
</a>
</li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>serverUrl: <span class="tsd-signature-type">string</span></h5>
</li>
<li>
<h5>contextName: <span class="tsd-signature-type">string</span></h5>
</li>
<li>
<h5>setCsrfToken: <span class="tsd-signature-type">function</span></h5>
<ul class="tsd-parameters">
<li class="tsd-parameter-siganture">
<ul class="tsd-signatures tsd-kind-type-literal">
<li class="tsd-signature tsd-kind-icon"><span class="tsd-signature-symbol">(</span>csrfToken<span class="tsd-signature-symbol">: </span><a href="../interfaces/types.csrftoken.html" class="tsd-signature-type">CsrfToken</a><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">void</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>csrfToken: <a href="../interfaces/types.csrftoken.html" class="tsd-signature-type">CsrfToken</a></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">void</span></h4>
</li>
</ul>
</li>
</ul>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <a href="reflection-724.reflection-187.sessionmanager.html" class="tsd-signature-type">SessionManager</a></h4>
</li>
</ul>
</section>
</section>
<section class="tsd-panel-group tsd-member-group ">
<h2>Methods</h2>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="clearsession" class="tsd-anchor"></a>
<h3>clear<wbr>Session</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">clear<wbr>Session<span class="tsd-signature-symbol">(</span>id<span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">string</span>, accessToken<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in
<a href="https://github.com/sasjs/adapter/blob/master/src/SessionManager.ts#L37">
SessionManager.ts:37
</a>
</li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5>id: <span class="tsd-signature-type">string</span></h5>
</li>
<li>
<h5><span class="tsd-flag ts-flagOptional">Optional</span> accessToken: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">void</span><span class="tsd-signature-symbol">&gt;</span></h4>
</li>
</ul>
</section>
<section class="tsd-panel tsd-member tsd-kind-method tsd-parent-kind-class">
<a name="getsession" class="tsd-anchor"></a>
<h3>get<wbr>Session</h3>
<ul class="tsd-signatures tsd-kind-method tsd-parent-kind-class">
<li class="tsd-signature tsd-kind-icon">get<wbr>Session<span class="tsd-signature-symbol">(</span>accessToken<span class="tsd-signature-symbol">?: </span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span><span class="tsd-signature-symbol">)</span><span class="tsd-signature-symbol">: </span><span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><a href="../interfaces/types.session.html" class="tsd-signature-type">Session</a><span class="tsd-signature-symbol">&gt;</span></li>
</ul>
<ul class="tsd-descriptions">
<li class="tsd-description">
<aside class="tsd-sources">
<ul>
<li>Defined in
<a href="https://github.com/sasjs/adapter/blob/master/src/SessionManager.ts#L19">
SessionManager.ts:19
</a>
</li>
</ul>
</aside>
<h4 class="tsd-parameters-title">Parameters</h4>
<ul class="tsd-parameters">
<li>
<h5><span class="tsd-flag ts-flagOptional">Optional</span> accessToken: <span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><span class="tsd-signature-type">string</span></h5>
</li>
</ul>
<h4 class="tsd-returns-title">Returns <span class="tsd-signature-type">Promise</span><span class="tsd-signature-symbol">&lt;</span><span class="tsd-signature-type">undefined</span><span class="tsd-signature-symbol"> | </span><a href="../interfaces/types.session.html" class="tsd-signature-type">Session</a><span class="tsd-signature-symbol">&gt;</span></h4>
</li>
</ul>
</section>
</section>
<!--{&quot;options&quot;:&quot;/Users/allan/git/adapter&quot;,&quot;tsconfig&quot;:&quot;/Users/allan/git/adapter&quot;,&quot;inputFiles&quot;:[&quot;/Users/allan/git/adapter/src/FileUploader.ts&quot;,&quot;/Users/allan/git/adapter/src/SAS9ApiClient.ts&quot;,&quot;/Users/allan/git/adapter/src/SASViyaApiClient.ts&quot;,&quot;/Users/allan/git/adapter/src/SASjs.ts&quot;,&quot;/Users/allan/git/adapter/src/SessionManager.ts&quot;,&quot;/Users/allan/git/adapter/src/index.ts&quot;,&quot;/Users/allan/git/adapter/src/types/Context.ts&quot;,&quot;/Users/allan/git/adapter/src/types/CsrfToken.ts&quot;,&quot;/Users/allan/git/adapter/src/types/ErrorResponse.ts&quot;,&quot;/Users/allan/git/adapter/src/types/Folder.ts&quot;,&quot;/Users/allan/git/adapter/src/types/Job.ts&quot;,&quot;/Users/allan/git/adapter/src/types/JobDefinition.ts&quot;,&quot;/Users/allan/git/adapter/src/types/JobResult.ts&quot;,&quot;/Users/allan/git/adapter/src/types/Link.ts&quot;,&quot;/Users/allan/git/adapter/src/types/SASjsConfig.ts&quot;,&quot;/Users/allan/git/adapter/src/types/SASjsRequest.ts&quot;,&quot;/Users/allan/git/adapter/src/types/SASjsWaitingRequest.ts&quot;,&quot;/Users/allan/git/adapter/src/types/ServerType.ts&quot;,&quot;/Users/allan/git/adapter/src/types/Session.ts&quot;,&quot;/Users/allan/git/adapter/src/types/UploadFile.ts&quot;,&quot;/Users/allan/git/adapter/src/types/index.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/asyncForEach.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/compareTimestamps.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/convertToCsv.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/formatDataForRequest.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/index.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/isAuthorizeFormRequired.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/isIeOrEdge.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/isLoginRequired.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/isLoginSuccess.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/isUri.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/isUrl.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/makeRequest.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/needsRetry.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/parseAndSubmitAuthorizeForm.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/parseGeneratedCode.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/parseSasViyaLog.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/parseSourceCode.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/parseWeboutResponse.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/serialize.ts&quot;,&quot;/Users/allan/git/adapter/src/utils/splitChunks.ts&quot;],&quot;mode&quot;:1,&quot;includeDeclarations&quot;:true,&quot;entryPoint&quot;:&quot;&quot;,&quot;exclude&quot;:[&quot;**/*+(index|.spec|.e2e).ts&quot;],&quot;externalPattern&quot;:[],&quot;excludeExternals&quot;:true,&quot;excludeNotExported&quot;:true,&quot;excludeNotDocumented&quot;:false,&quot;excludePrivate&quot;:true,&quot;excludeProtected&quot;:false,&quot;ignoreCompilerErrors&quot;:true,&quot;disableSources&quot;:false,&quot;includes&quot;:&quot;&quot;,&quot;media&quot;:&quot;&quot;,&quot;out&quot;:&quot;docs&quot;,&quot;json&quot;:&quot;&quot;,&quot;theme&quot;:&quot;./node_modules/typedoc-neo-theme/bin/default&quot;,&quot;name&quot;:&quot;&quot;,&quot;includeVersion&quot;:false,&quot;excludeTags&quot;:[],&quot;readme&quot;:&quot;&quot;,&quot;defaultCategory&quot;:&quot;Other&quot;,&quot;categoryOrder&quot;:[],&quot;categorizeByGroup&quot;:true,&quot;gitRevision&quot;:&quot;&quot;,&quot;gitRemote&quot;:&quot;origin&quot;,&quot;gaID&quot;:&quot;&quot;,&quot;gaSite&quot;:&quot;auto&quot;,&quot;hideGenerator&quot;:false,&quot;toc&quot;:[],&quot;disableOutputCheck&quot;:true,&quot;help&quot;:false,&quot;version&quot;:false,&quot;plugin&quot;:[],&quot;logger&quot;:&quot;console&quot;,&quot;listInvalidSymbolLinks&quot;:false,&quot;links&quot;:[{&quot;label&quot;:&quot;SASjs on Github&quot;,&quot;url&quot;:&quot;https://github.com/sasjs/adapter&quot;},{&quot;label&quot;:&quot;SASjs.io&quot;,&quot;url&quot;:&quot;https://sasjs.io&quot;},{&quot;label&quot;:&quot;SASjs CLI&quot;,&quot;url&quot;:&quot;https://github.com/sasjs/cli&quot;},{&quot;label&quot;:&quot;React Seed App&quot;,&quot;url&quot;:&quot;https://github.com/sasjs/react-seed-app&quot;}],&quot;outline&quot;:[{&quot;SAS Adapter&quot;:{&quot;SASjs&quot;:&quot;classes/reflection-717.reflection-180.sasjs&quot;,&quot;Types&quot;:&quot;modules/types&quot;},&quot;SAS Viya API Client&quot;:&quot;classes/reflection-717.reflection-180.sasviyaapiclient&quot;,&quot;SAS 9 API Client&quot;:&quot;classes/reflection-717.reflection-180.sas9apiclient&quot;}],&quot;source&quot;:[{&quot;path&quot;:&quot;https://github.com/sasjs/adapter/blob/master/src/&quot;,&quot;line&quot;:&quot;L&quot;}],&quot;disableAutoModuleName&quot;:&quot;false&quot;}-->
</div>
<div class="col-2 col-menu secondary-menu">
<nav class="tsd-navigation secondary menu-sticky">
<ul class="before-current">
<li class=" tsd-kind-class tsd-parent-kind-module root">
<a href="reflection-724.reflection-187.fileuploader.html" class="tsd-kind-icon">File<wbr>Uploader</a>
</li>
<li class=" tsd-kind-class tsd-parent-kind-module root">
<a href="reflection-724.reflection-187.sas9apiclient.html" class="tsd-kind-icon">SAS9<wbr>Api<wbr>Client</a>
</li>
<li class=" tsd-kind-class tsd-parent-kind-module root">
<a href="reflection-724.reflection-187.sasviyaapiclient.html" class="tsd-kind-icon">SASViya<wbr>Api<wbr>Client</a>
</li>
<li class=" tsd-kind-class tsd-parent-kind-module root">
<a href="reflection-724.reflection-187.sasjs.html" class="tsd-kind-icon">SASjs</a>
</li>
</ul>
<ul class="current">
<li class="current tsd-kind-class tsd-parent-kind-module root">
<a href="reflection-724.reflection-187.sessionmanager.html" class="tsd-kind-icon">Session<wbr>Manager</a>
<ul>
<li class=" tsd-kind-constructor tsd-parent-kind-class">
<a href="reflection-724.reflection-187.sessionmanager.html#constructor" class="tsd-kind-icon">constructor</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="reflection-724.reflection-187.sessionmanager.html#clearsession" class="tsd-kind-icon">clear<wbr>Session</a>
</li>
<li class=" tsd-kind-method tsd-parent-kind-class">
<a href="reflection-724.reflection-187.sessionmanager.html#getsession" class="tsd-kind-icon">get<wbr>Session</a>
</li>
</ul>
</li>
</ul>
<ul class="after-current">
</ul>
</nav>
</div>
</div>
</div>
<footer class="with-border-bottom">
</footer>
<div class="container tsd-generator">
<p>Generated using <a href="http://typedoc.org/" target="_blank">TypeDoc</a></p>
</div>
<div class="overlay"></div>
<script src="../assets/js/main.js"></script>
</body>
</html>
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More