1
0
mirror of https://github.com/sasjs/core.git synced 2026-01-05 00:20:05 +00:00

Compare commits

..

2 Commits

Author SHA1 Message Date
github-actions
5ba3ca2c57 chore: updating all.sas 2025-02-18 13:14:03 +00:00
Henrik Forsell
cbe83c6d8d Added SORTSEQ=LINGUISTIC to list 2025-02-18 12:40:26 +01:00
10 changed files with 1933 additions and 62 deletions

View File

@@ -3,12 +3,10 @@ client
tls-client tls-client
dev tun dev tun
# this will connect with whatever proto DNS tells us (https://community.openvpn.net/openvpn/ticket/934) # this will connect with whatever proto DNS tells us (https://community.openvpn.net/openvpn/ticket/934)
proto udp proto tcp
remote vpn.4gl.io 7194 remote vpn.4gl.io 7494
resolv-retry infinite resolv-retry infinite
# this will fallback from udp6 to udp4 as well cipher AES-256-CBC
connect-timeout 5
data-ciphers AES-256-CBC:AES-256-GCM
auth SHA256 auth SHA256
script-security 2 script-security 2
keepalive 10 120 keepalive 10 120

View File

@@ -8,7 +8,7 @@ on:
jobs: jobs:
test: test:
runs-on: ubuntu-22.04 runs-on: ubuntu-latest
strategy: strategy:
matrix: matrix:
@@ -34,10 +34,6 @@ jobs:
USER_KEY: ${{ secrets.USER_KEY }} USER_KEY: ${{ secrets.USER_KEY }}
TLS_KEY: ${{ secrets.TLS_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 - name: Install Open VPN
run: | run: |
sudo apt install apt-transport-https sudo apt install apt-transport-https
@@ -46,13 +42,8 @@ jobs:
sudo wget -O /etc/apt/sources.list.d/openvpn3.list https://swupdate.openvpn.net/community/openvpn3/repos/openvpn3-jammy.list 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 update
sudo apt install openvpn3=17~betaUb22042+jammy sudo apt install openvpn3=17~betaUb22042+jammy
- name: Start Open VPN 3 - name: Start Open VPN 3
run: openvpn3 session-start --config .github/vpn/config.ovpn run: openvpn3 session-start --config .github/vpn/config.ovpn
- name: Fetch SASJS server
run: curl ${{ secrets.SASJS_SERVER_URL }}/SASjsApi/info
- name: Install Doxygen - name: Install Doxygen
run: sudo apt-get install doxygen run: sudo apt-get install doxygen

19
all.sas
View File

@@ -7157,11 +7157,10 @@ data &outds(keep=name type length varnum format label ddtype fmtname);
else if formatd=0 then format=cats(fmtname,formatl,'.'); else if formatd=0 then format=cats(fmtname,formatl,'.');
else format=cats(fmtname,formatl,'.',formatd); else format=cats(fmtname,formatl,'.',formatd);
type='N'; type='N';
if format=:'DATETIME' or format=:'E8601DT' or format=:'NLDATM' if format=:'DATETIME' or format=:'E8601DT' then ddtype='DATETIME';
then ddtype='DATETIME';
else if format=:'DATE' or format=:'DDMMYY' or format=:'MMDDYY' else if format=:'DATE' or format=:'DDMMYY' or format=:'MMDDYY'
or format=:'YYMMDD' or format=:'E8601DA' or format=:'B8601DA' or format=:'YYMMDD' or format=:'E8601DA' or format=:'B8601DA'
or format=:'MONYY' or format=:'NLDATE' or format=:'MONYY'
then ddtype='DATE'; then ddtype='DATE';
else if format=:'TIME' then ddtype='TIME'; else if format=:'TIME' then ddtype='TIME';
else ddtype='NUMERIC'; else ddtype='NUMERIC';
@@ -9676,7 +9675,6 @@ options
%if "%substr(&sysver,1,1)" ne "4" and "%substr(&sysver,1,1)" ne "5" %then %do; %if "%substr(&sysver,1,1)" ne "4" and "%substr(&sysver,1,1)" ne "5" %then %do;
noautocorrect /* disallow misspelled procedure names */ noautocorrect /* disallow misspelled procedure names */
dsoptions=note2err /* undocumented - convert bad NOTEs to ERRs */ dsoptions=note2err /* undocumented - convert bad NOTEs to ERRs */
/* turn off with dsoptions=nonote2err */
%end; %end;
; ;
@@ -17687,25 +17685,22 @@ run;
%mend mm_getcols;/** %mend mm_getcols;/**
@file mm_getdetails.sas @file mm_getdetails.sas
@brief extracts metadata attributes and associations for a particular uri @brief extracts metadata attributes and associations for a particular uri
@param [in] uri the metadata object for which to return @param [in] uri the metadata object for which to return
attributes / associations attributes / associations
@param [in] sortoptions= Enables sorting of the output datasets, for example,
`SORTSEQ=LINGUISTIC`
@param [out] outattrs= (work.attributes) @param [out] outattrs= (work.attributes)
The dataset to create that contains the list of attributes The dataset to create that contains the list of attributes
@param [out] outassocs= (work.associations) @param [out] outassocs= (work.associations)
The dataset to contain the list of associations The dataset to contain the list of associations
<h4> Related Files </h4> @version 9.2
@li mm_getobjects.sas @author Allan Bowe
@li mm_gettypes.sas
**/ **/
%macro mm_getdetails(uri %macro mm_getdetails(uri
,outattrs=work.attributes ,outattrs=work.attributes
,outassocs=work.associations ,outassocs=work.associations
,sortoptions=
)/*/STORE SOURCE*/; )/*/STORE SOURCE*/;
data &outassocs; data &outassocs;
@@ -17730,7 +17725,7 @@ data &outassocs;
n1+1; n1+1;
end; end;
run; run;
proc sort &sortoptions; proc sort SORTSEQ=LINGUISTIC;
by assoc name; by assoc name;
run; run;
@@ -17750,7 +17745,7 @@ data &outattrs;
n1+1; n1+1;
end; end;
run; run;
proc sort &sortoptions; proc sort SORTSEQ=LINGUISTIC;
by type name; by type name;
run; run;

View File

@@ -53,11 +53,10 @@ data &outds(keep=name type length varnum format label ddtype fmtname);
else if formatd=0 then format=cats(fmtname,formatl,'.'); else if formatd=0 then format=cats(fmtname,formatl,'.');
else format=cats(fmtname,formatl,'.',formatd); else format=cats(fmtname,formatl,'.',formatd);
type='N'; type='N';
if format=:'DATETIME' or format=:'E8601DT' or format=:'NLDATM' if format=:'DATETIME' or format=:'E8601DT' then ddtype='DATETIME';
then ddtype='DATETIME';
else if format=:'DATE' or format=:'DDMMYY' or format=:'MMDDYY' else if format=:'DATE' or format=:'DDMMYY' or format=:'MMDDYY'
or format=:'YYMMDD' or format=:'E8601DA' or format=:'B8601DA' or format=:'YYMMDD' or format=:'E8601DA' or format=:'B8601DA'
or format=:'MONYY' or format=:'NLDATE' or format=:'MONYY'
then ddtype='DATE'; then ddtype='DATE';
else if format=:'TIME' then ddtype='TIME'; else if format=:'TIME' then ddtype='TIME';
else ddtype='NUMERIC'; else ddtype='NUMERIC';

View File

@@ -70,7 +70,6 @@ options
%if "%substr(&sysver,1,1)" ne "4" and "%substr(&sysver,1,1)" ne "5" %then %do; %if "%substr(&sysver,1,1)" ne "4" and "%substr(&sysver,1,1)" ne "5" %then %do;
noautocorrect /* disallow misspelled procedure names */ noautocorrect /* disallow misspelled procedure names */
dsoptions=note2err /* undocumented - convert bad NOTEs to ERRs */ dsoptions=note2err /* undocumented - convert bad NOTEs to ERRs */
/* turn off with dsoptions=nonote2err */
%end; %end;
; ;

View File

@@ -80,8 +80,8 @@ function mcf_getfmttype(fmtnm $) $8;
/* apply lookups */ /* apply lookups */
if cats(fmt) in ('DATETIME','B8601DN','B8601DN','B8601DT','B8601DT' if cats(fmt) in ('DATETIME','B8601DN','B8601DN','B8601DT','B8601DT'
,'B8601DZ','B8601DZ','DATEAMPM','DTDATE','DTMONYY','DTWKDATX','DTYEAR' ,'B8601DZ','B8601DZ','DATEAMPM','DTDATE','DTMONYY','DTWKDATX','DTYEAR'
,'DTYYQC','E8601DN','E8601DN','E8601DT','E8601DT','E8601DZ','E8601DZ' ,'DTYYQC','E8601DN','E8601DN','E8601DT','E8601DT','E8601DZ','E8601DZ')
,'NLDATM') then return('DATETIME'); then return('DATETIME');
else if fmt in ('DATE','YYMMDD','B8601DA','B8601DA','DAY','DDMMYY' else if fmt in ('DATE','YYMMDD','B8601DA','B8601DA','DAY','DDMMYY'
,'DDMMYYB','DDMMYYC','DDMMYYD','DDMMYYN','DDMMYYP','DDMMYYS','DDMMYYx' ,'DDMMYYB','DDMMYYC','DDMMYYD','DDMMYYN','DDMMYYP','DDMMYYS','DDMMYYx'
,'DOWNAME','E8601DA','E8601DA','JULDAY','JULIAN','MMDDYY','MMDDYYB' ,'DOWNAME','E8601DA','E8601DA','JULDAY','JULIAN','MMDDYY','MMDDYYB'
@@ -92,7 +92,7 @@ function mcf_getfmttype(fmtnm $) $8;
,'YYMMD','YYMMDDB','YYMMDDC','YYMMDDD','YYMMDDN','YYMMDDP','YYMMDDS' ,'YYMMD','YYMMDDB','YYMMDDC','YYMMDDD','YYMMDDN','YYMMDDP','YYMMDDS'
,'YYMMDDx','YYMMN','YYMMP','YYMMS','YYMMx','YYMON','YYQ','YYQC','YYQD' ,'YYMMDDx','YYMMN','YYMMP','YYMMS','YYMMx','YYMON','YYQ','YYQC','YYQD'
,'YYQN','YYQP','YYQR','YYQRC','YYQRD','YYQRN','YYQRP','YYQRS','YYQRx' ,'YYQN','YYQP','YYQR','YYQRC','YYQRD','YYQRN','YYQRP','YYQRS','YYQRx'
,'YYQS','YYQx','YYQZ','NLDATE') then return('DATE'); ,'YYQS','YYQx','YYQZ') then return('DATE');
else if fmt in ('TIME','B8601LZ','B8601LZ','B8601TM','B8601TM','B8601TZ' else if fmt in ('TIME','B8601LZ','B8601LZ','B8601TM','B8601TM','B8601TZ'
,'B8601TZ','E8601LZ','E8601LZ','E8601TM','E8601TM','E8601TZ','E8601TZ' ,'B8601TZ','E8601LZ','E8601LZ','E8601TM','E8601TM','E8601TZ','E8601TZ'
,'HHMM','HOUR','MMSS','TIMEAMPM','TOD') then return('TIME'); ,'HHMM','HOUR','MMSS','TIMEAMPM','TOD') then return('TIME');

View File

@@ -1,25 +1,22 @@
/** /**
@file mm_getdetails.sas @file mm_getdetails.sas
@brief extracts metadata attributes and associations for a particular uri @brief extracts metadata attributes and associations for a particular uri
@param [in] uri the metadata object for which to return @param [in] uri the metadata object for which to return
attributes / associations attributes / associations
@param [in] sortoptions= Enables sorting of the output datasets, for example,
`SORTSEQ=LINGUISTIC`
@param [out] outattrs= (work.attributes) @param [out] outattrs= (work.attributes)
The dataset to create that contains the list of attributes The dataset to create that contains the list of attributes
@param [out] outassocs= (work.associations) @param [out] outassocs= (work.associations)
The dataset to contain the list of associations The dataset to contain the list of associations
<h4> Related Files </h4> @version 9.2
@li mm_getobjects.sas @author Allan Bowe
@li mm_gettypes.sas
**/ **/
%macro mm_getdetails(uri %macro mm_getdetails(uri
,outattrs=work.attributes ,outattrs=work.attributes
,outassocs=work.associations ,outassocs=work.associations
,sortoptions=
)/*/STORE SOURCE*/; )/*/STORE SOURCE*/;
data &outassocs; data &outassocs;
@@ -44,7 +41,7 @@ data &outassocs;
n1+1; n1+1;
end; end;
run; run;
proc sort &sortoptions; proc sort SORTSEQ=LINGUISTIC;
by assoc name; by assoc name;
run; run;
@@ -64,7 +61,7 @@ data &outattrs;
n1+1; n1+1;
end; end;
run; run;
proc sort &sortoptions; proc sort SORTSEQ=LINGUISTIC;
by type name; by type name;
run; run;

1896
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -7,7 +7,7 @@
"Viya", "Viya",
"SASjs" "SASjs"
], ],
"author": "Allan Bowe", "author": "Allan Bowe <support@macropeople.com>",
"repository": { "repository": {
"type": "git", "type": "git",
"url": "git+https://github.com/sasjs/core.git" "url": "git+https://github.com/sasjs/core.git"
@@ -26,10 +26,13 @@
"homepage": "https://core.sasjs.io", "homepage": "https://core.sasjs.io",
"main": "index.js", "main": "index.js",
"scripts": { "scripts": {
"build": "npx @sasjs/cli cbd -t server", "build": "sasjs cbd -t server",
"docs": "npx @sasjs/cli doc -t docsonly && ./sasjs/utils/build.sh", "docs": "sasjs doc -t docsonly && ./sasjs/utils/build.sh",
"test": "npx @sasjs/cli test -t server", "test": "sasjs test -t server",
"lint": "npx @sasjs/cli lint", "lint": "sasjs lint",
"prepare": "git rev-parse --git-dir && git config core.hooksPath ./.git-hooks || true" "prepare": "git rev-parse --git-dir && git config core.hooksPath ./.git-hooks || true"
},
"devDependencies": {
"@sasjs/cli": "^4.4.1"
} }
} }

View File

@@ -1,27 +1,22 @@
#!/bin/bash #!/bin/bash
#################################################################### ####################################################################
# PROJECT: SASjs Core Docs Build # PROJECT: Macro Core Docs Build #
# To execute, use the npm command (npm run docs) # To execute, use the npm command (npm run docs) #
# Target repo will have github action to create sitemap
# https://github.com/marketplace/actions/generate-sitemap
#################################################################### ####################################################################
# refresh github pages site # refresh github pages site
rm -rf sasjsbuild/docsite rm -rf sasjsbuild/docsite
git clone git@github.com:sasjs/core.github.io.git sasjsbuild/docsite git clone git@github.com:sasjs/core.github.io.git sasjsbuild/docsite
rm -rf sasjsbuild/docsite/*.html rm -rf sasjsbuild/docsite/*
rm -rf sasjsbuild/docsite/*.js mv sasjsbuild/docs/* sasjsbuild/docsite/
rm -rf sasjsbuild/docsite/*.png
rm -rf sasjsbuild/docsite/*.dot
rm -rf sasjsbuild/docsite/*.css
rm -rf sasjsbuild/docsite/*.svg
rm -rf search
cp -R sasjsbuild/docs/* sasjsbuild/docsite/
cd sasjsbuild/docsite/ cd sasjsbuild/docsite/
git config user.name sasjs
echo 'core.sasjs.io' > CNAME echo 'core.sasjs.io' > CNAME
git add . git add .
git commit -m "build.sh build on $(date +%F:%H:%M:%S)" git commit -m "build.sh build on $(date +%F:%H:%M:%S)"
git push git push
npx sitemap-generator-cli https://core.sasjs.io
git add .
git commit -m "adding sitemap"
git push
echo "check it out: https://sasjs.github.io/core.github.io/files.html" echo "check it out: https://sasjs.github.io/core.github.io/files.html"