@sasjs/utils 2.50.0 → 2.51.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/reviewer-lottery.yml +5 -5
- package/package.json +1 -1
- package/sasjsCli/getPreCode.d.ts +5 -0
- package/sasjsCli/getPreCode.js +100 -0
- package/sasjsCli/getPreCode.js.map +1 -0
- package/sasjsCli/index.d.ts +1 -0
- package/sasjsCli/index.js +1 -0
- package/sasjsCli/index.js.map +1 -1
- package/sasjsCli/loadDependenciesFile.js +21 -14
- package/sasjsCli/loadDependenciesFile.js.map +1 -1
|
@@ -2,11 +2,11 @@ groups:
|
|
|
2
2
|
- name: SASjs Devs # name of the group
|
|
3
3
|
reviewers: 1 # how many reviewers do you want to assign?
|
|
4
4
|
usernames: # github usernames of the reviewers
|
|
5
|
-
- krishna-acondy
|
|
5
|
+
# - krishna-acondy
|
|
6
6
|
- YuryShkoda
|
|
7
7
|
- medjedovicm
|
|
8
8
|
- sabhas
|
|
9
|
-
- name: SASjs QA
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
# - name: SASjs QA
|
|
10
|
+
# reviewers: 1
|
|
11
|
+
# usernames:
|
|
12
|
+
# - VladislavParhomchik
|
package/package.json
CHANGED
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import { ServerType } from '../types';
|
|
2
|
+
export declare const callWeboutMacro: (macro: string) => string;
|
|
3
|
+
export declare const preCodeEnd = "/* provide additional debug info */\n%global _program;\n%put &=syscc;\n%put user=%mf_getuser();\n%put pgm=&_program;\n%put timestamp=%sysfunc(datetime(),datetime19.);\n";
|
|
4
|
+
export declare const preCodeViya = "/* if calling viya service with _job param, _program will conflict */\n/* so we provide instead as __program */\n%global __program _program;\n%let _program=%sysfunc(coalescec(&__program,&_program));\n";
|
|
5
|
+
export declare function getPreCode(serverType: ServerType, macroCorePath: string): Promise<string>;
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
|
+
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
|
+
return new (P || (P = Promise))(function (resolve, reject) {
|
|
5
|
+
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
6
|
+
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
7
|
+
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
8
|
+
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
9
|
+
});
|
|
10
|
+
};
|
|
11
|
+
var __generator = (this && this.__generator) || function (thisArg, body) {
|
|
12
|
+
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
|
|
13
|
+
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
|
|
14
|
+
function verb(n) { return function (v) { return step([n, v]); }; }
|
|
15
|
+
function step(op) {
|
|
16
|
+
if (f) throw new TypeError("Generator is already executing.");
|
|
17
|
+
while (_) try {
|
|
18
|
+
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
|
|
19
|
+
if (y = 0, t) op = [op[0] & 2, t.value];
|
|
20
|
+
switch (op[0]) {
|
|
21
|
+
case 0: case 1: t = op; break;
|
|
22
|
+
case 4: _.label++; return { value: op[1], done: false };
|
|
23
|
+
case 5: _.label++; y = op[1]; op = [0]; continue;
|
|
24
|
+
case 7: op = _.ops.pop(); _.trys.pop(); continue;
|
|
25
|
+
default:
|
|
26
|
+
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
|
|
27
|
+
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
|
|
28
|
+
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
|
|
29
|
+
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
|
|
30
|
+
if (t[2]) _.ops.pop();
|
|
31
|
+
_.trys.pop(); continue;
|
|
32
|
+
}
|
|
33
|
+
op = body.call(thisArg, _);
|
|
34
|
+
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
|
|
35
|
+
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
|
|
36
|
+
}
|
|
37
|
+
};
|
|
38
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
39
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
40
|
+
};
|
|
41
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
42
|
+
exports.getPreCode = exports.preCodeViya = exports.preCodeEnd = exports.callWeboutMacro = void 0;
|
|
43
|
+
var types_1 = require("../types");
|
|
44
|
+
var file_1 = require("../file");
|
|
45
|
+
var path_1 = __importDefault(require("path"));
|
|
46
|
+
var callWeboutMacro = function (macro) {
|
|
47
|
+
return "%macro webout(action,ds,dslabel=,fmt=,missing=NULL,showmeta=NO,maxobs=MAX);\n %".concat(macro, "(&action,ds=&ds,dslabel=&dslabel,fmt=&fmt\n ,missing=&missing\n ,showmeta=&showmeta\n ,maxobs=&maxobs\n ) %mend;\n");
|
|
48
|
+
};
|
|
49
|
+
exports.callWeboutMacro = callWeboutMacro;
|
|
50
|
+
exports.preCodeEnd = "/* provide additional debug info */\n%global _program;\n%put &=syscc;\n%put user=%mf_getuser();\n%put pgm=&_program;\n%put timestamp=%sysfunc(datetime(),datetime19.);\n";
|
|
51
|
+
exports.preCodeViya = "/* if calling viya service with _job param, _program will conflict */\n/* so we provide instead as __program */\n%global __program _program;\n%let _program=%sysfunc(coalescec(&__program,&_program));\n";
|
|
52
|
+
function getPreCode(serverType, macroCorePath) {
|
|
53
|
+
return __awaiter(this, void 0, void 0, function () {
|
|
54
|
+
var mf_getuser, mp_jsonout, content, _a, _b, _c, _d;
|
|
55
|
+
return __generator(this, function (_e) {
|
|
56
|
+
switch (_e.label) {
|
|
57
|
+
case 0: return [4 /*yield*/, (0, file_1.readFile)(path_1.default.join(macroCorePath, 'base', 'mf_getuser.sas'))];
|
|
58
|
+
case 1:
|
|
59
|
+
mf_getuser = _e.sent();
|
|
60
|
+
return [4 /*yield*/, (0, file_1.readFile)(path_1.default.join(macroCorePath, 'base', 'mp_jsonout.sas'))];
|
|
61
|
+
case 2:
|
|
62
|
+
mp_jsonout = _e.sent();
|
|
63
|
+
content = mf_getuser + mp_jsonout;
|
|
64
|
+
_a = serverType;
|
|
65
|
+
switch (_a) {
|
|
66
|
+
case types_1.ServerType.SasViya: return [3 /*break*/, 3];
|
|
67
|
+
case types_1.ServerType.Sas9: return [3 /*break*/, 5];
|
|
68
|
+
case types_1.ServerType.Sasjs: return [3 /*break*/, 7];
|
|
69
|
+
}
|
|
70
|
+
return [3 /*break*/, 9];
|
|
71
|
+
case 3:
|
|
72
|
+
_b = content;
|
|
73
|
+
return [4 /*yield*/, (0, file_1.readFile)(path_1.default.join(macroCorePath, 'viya', 'mv_webout.sas'))];
|
|
74
|
+
case 4:
|
|
75
|
+
content = _b + _e.sent();
|
|
76
|
+
content += exports.preCodeViya + (0, exports.callWeboutMacro)('mv_webout');
|
|
77
|
+
return [3 /*break*/, 9];
|
|
78
|
+
case 5:
|
|
79
|
+
_c = content;
|
|
80
|
+
return [4 /*yield*/, (0, file_1.readFile)(path_1.default.join(macroCorePath, 'meta', 'mm_webout.sas'))];
|
|
81
|
+
case 6:
|
|
82
|
+
content = _c + _e.sent();
|
|
83
|
+
content += (0, exports.callWeboutMacro)('mm_webout');
|
|
84
|
+
return [3 /*break*/, 9];
|
|
85
|
+
case 7:
|
|
86
|
+
_d = content;
|
|
87
|
+
return [4 /*yield*/, (0, file_1.readFile)(path_1.default.join(macroCorePath, 'server', 'ms_webout.sas'))];
|
|
88
|
+
case 8:
|
|
89
|
+
content = _d + _e.sent();
|
|
90
|
+
content += (0, exports.callWeboutMacro)('ms_webout');
|
|
91
|
+
return [3 /*break*/, 9];
|
|
92
|
+
case 9:
|
|
93
|
+
content += exports.preCodeEnd;
|
|
94
|
+
return [2 /*return*/, content];
|
|
95
|
+
}
|
|
96
|
+
});
|
|
97
|
+
});
|
|
98
|
+
}
|
|
99
|
+
exports.getPreCode = getPreCode;
|
|
100
|
+
//# sourceMappingURL=getPreCode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"getPreCode.js","sourceRoot":"","sources":["../../src/sasjsCli/getPreCode.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,kCAAqC;AACrC,gCAAkC;AAClC,8CAAuB;AAEhB,IAAM,eAAe,GAAG,UAAC,KAAa;IAC3C,OAAA,0FACG,KAAK,iIAKT;AANC,CAMD,CAAA;AAPY,QAAA,eAAe,mBAO3B;AACY,QAAA,UAAU,GAAG,0KAKyB,CAAA;AAEtC,QAAA,WAAW,GAAG,0MAI1B,CAAA;AAED,SAAsB,UAAU,CAC9B,UAAsB,EACtB,aAAqB;;;;;wBAEF,qBAAM,IAAA,eAAQ,EAC/B,cAAI,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,gBAAgB,CAAC,CACnD,EAAA;;oBAFK,UAAU,GAAG,SAElB;oBACkB,qBAAM,IAAA,eAAQ,EAC/B,cAAI,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,gBAAgB,CAAC,CACnD,EAAA;;oBAFK,UAAU,GAAG,SAElB;oBAEG,OAAO,GAAG,UAAU,GAAG,UAAU,CAAA;oBAE7B,KAAA,UAAU,CAAA;;6BACX,kBAAU,CAAC,OAAO,CAAC,CAAnB,wBAAkB;6BAQlB,kBAAU,CAAC,IAAI,CAAC,CAAhB,wBAAe;6BAQf,kBAAU,CAAC,KAAK,CAAC,CAAjB,wBAAgB;;;;oBAfnB,KAAA,OAAO,CAAA;oBAAI,qBAAM,IAAA,eAAQ,EACvB,cAAI,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,eAAe,CAAC,CAClD,EAAA;;oBAFD,OAAO,GAAP,KAAW,SAEV,CAAA;oBACD,OAAO,IAAI,mBAAW,GAAG,IAAA,uBAAe,EAAC,WAAW,CAAC,CAAA;oBAErD,wBAAK;;oBAGL,KAAA,OAAO,CAAA;oBAAI,qBAAM,IAAA,eAAQ,EACvB,cAAI,CAAC,IAAI,CAAC,aAAa,EAAE,MAAM,EAAE,eAAe,CAAC,CAClD,EAAA;;oBAFD,OAAO,GAAP,KAAW,SAEV,CAAA;oBACD,OAAO,IAAI,IAAA,uBAAe,EAAC,WAAW,CAAC,CAAA;oBAEvC,wBAAK;;oBAGL,KAAA,OAAO,CAAA;oBAAI,qBAAM,IAAA,eAAQ,EACvB,cAAI,CAAC,IAAI,CAAC,aAAa,EAAE,QAAQ,EAAE,eAAe,CAAC,CACpD,EAAA;;oBAFD,OAAO,GAAP,KAAW,SAEV,CAAA;oBACD,OAAO,IAAI,IAAA,uBAAe,EAAC,WAAW,CAAC,CAAA;oBAEvC,wBAAK;;oBAGT,OAAO,IAAI,kBAAU,CAAA;oBAErB,sBAAO,OAAO,EAAA;;;;CACf;AA1CD,gCA0CC"}
|
package/sasjsCli/index.d.ts
CHANGED
package/sasjsCli/index.js
CHANGED
|
@@ -17,4 +17,5 @@ __exportStar(require("./loadDependenciesFile"), exports);
|
|
|
17
17
|
__exportStar(require("./prioritiseDependencyOverrides"), exports);
|
|
18
18
|
__exportStar(require("./validateFileRef"), exports);
|
|
19
19
|
__exportStar(require("./getDependencies"), exports);
|
|
20
|
+
__exportStar(require("./getPreCode"), exports);
|
|
20
21
|
//# sourceMappingURL=index.js.map
|
package/sasjsCli/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sasjsCli/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uDAAoC;AACpC,gDAA6B;AAC7B,4CAAyB;AACzB,yDAAsC;AACtC,kEAA+C;AAC/C,oDAAiC;AACjC,oDAAiC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/sasjsCli/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,uDAAoC;AACpC,gDAA6B;AAC7B,4CAAyB;AACzB,yDAAsC;AACtC,kEAA+C;AAC/C,oDAAiC;AACjC,oDAAiC;AACjC,+CAA4B"}
|
|
@@ -62,16 +62,16 @@ var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {
|
|
|
62
62
|
};
|
|
63
63
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
64
64
|
exports.getAllDependencies = exports.loadDependenciesFile = void 0;
|
|
65
|
-
var file_1 = require("../file");
|
|
66
65
|
var types_1 = require("../types");
|
|
67
66
|
var utils_1 = require("../utils");
|
|
68
67
|
var _1 = require("./");
|
|
68
|
+
var file_1 = require("../file");
|
|
69
69
|
var loadDependenciesFile = function (_a) {
|
|
70
70
|
var filePath = _a.filePath, fileContent = _a.fileContent, configuration = _a.configuration, target = _a.target, type = _a.type, programFolders = _a.programFolders, macroFolders = _a.macroFolders, buildSourceFolder = _a.buildSourceFolder, macroCorePath = _a.macroCorePath, binaryFolders = _a.binaryFolders, compileTree = _a.compileTree;
|
|
71
71
|
return __awaiter(void 0, void 0, void 0, function () {
|
|
72
|
-
var _b, init, initPath, term, termPath, startUpVars, initLeaf, termLeaf, fileDependencyPaths, initDependencyPaths, termDependencyPaths, allDependencyPaths, initProgramDependencies, termProgramDependencies, programDependencies, binariesDeps, dependenciesContent;
|
|
73
|
-
return __generator(this, function (
|
|
74
|
-
switch (
|
|
72
|
+
var _b, init, initPath, term, termPath, startUpVars, initLeaf, termLeaf, fileDependencyPaths, initDependencyPaths, termDependencyPaths, allDependencyPaths, initProgramDependencies, termProgramDependencies, programDependencies, binariesDeps, dependenciesContent, _c;
|
|
73
|
+
return __generator(this, function (_d) {
|
|
74
|
+
switch (_d.label) {
|
|
75
75
|
case 0: return [4 /*yield*/, (0, _1.getInitTerm)({
|
|
76
76
|
configuration: configuration,
|
|
77
77
|
target: target,
|
|
@@ -80,37 +80,37 @@ var loadDependenciesFile = function (_a) {
|
|
|
80
80
|
compileTree: compileTree
|
|
81
81
|
})];
|
|
82
82
|
case 1:
|
|
83
|
-
_b =
|
|
83
|
+
_b = _d.sent(), init = _b.init, initPath = _b.initPath, term = _b.term, termPath = _b.termPath, startUpVars = _b.startUpVars, initLeaf = _b.initLeaf, termLeaf = _b.termLeaf;
|
|
84
84
|
if (type !== types_1.SASJsFileType.file) {
|
|
85
85
|
fileContent = "\n* ".concat(type, " start;\n").concat(fileContent, "\n* ").concat(type, " end;");
|
|
86
86
|
}
|
|
87
87
|
return [4 /*yield*/, (0, _1.getDependencyPaths)("".concat(fileContent, "\n").concat(init, "\n").concat(term), macroFolders, macroCorePath, compileTree)];
|
|
88
88
|
case 2:
|
|
89
|
-
fileDependencyPaths =
|
|
89
|
+
fileDependencyPaths = _d.sent();
|
|
90
90
|
return [4 /*yield*/, (0, _1.getDependencyPaths)(init, macroFolders, macroCorePath, compileTree, initLeaf)];
|
|
91
91
|
case 3:
|
|
92
|
-
initDependencyPaths =
|
|
92
|
+
initDependencyPaths = _d.sent();
|
|
93
93
|
return [4 /*yield*/, (0, _1.getDependencyPaths)(term, macroFolders, macroCorePath, compileTree, termLeaf)];
|
|
94
94
|
case 4:
|
|
95
|
-
termDependencyPaths =
|
|
95
|
+
termDependencyPaths = _d.sent();
|
|
96
96
|
allDependencyPaths = __spreadArray(__spreadArray(__spreadArray([], __read(initDependencyPaths), false), __read(fileDependencyPaths), false), __read(termDependencyPaths), false);
|
|
97
97
|
return [4 /*yield*/, (0, _1.getDependencies)(initPath, init, programFolders, _1.DependencyType.Include, compileTree)];
|
|
98
98
|
case 5:
|
|
99
|
-
initProgramDependencies =
|
|
99
|
+
initProgramDependencies = _d.sent();
|
|
100
100
|
return [4 /*yield*/, (0, _1.getDependencies)(termPath, term, programFolders, _1.DependencyType.Include, compileTree)];
|
|
101
101
|
case 6:
|
|
102
|
-
termProgramDependencies =
|
|
102
|
+
termProgramDependencies = _d.sent();
|
|
103
103
|
return [4 /*yield*/, (0, _1.getDependencies)(filePath, fileContent, programFolders, _1.DependencyType.Include, compileTree)];
|
|
104
104
|
case 7:
|
|
105
|
-
programDependencies =
|
|
105
|
+
programDependencies = _d.sent();
|
|
106
106
|
return [4 /*yield*/, (0, _1.getDependencies)(filePath, fileContent, binaryFolders, _1.DependencyType.Binary, compileTree)];
|
|
107
107
|
case 8:
|
|
108
|
-
binariesDeps =
|
|
108
|
+
binariesDeps = _d.sent();
|
|
109
109
|
return [4 /*yield*/, (0, exports.getAllDependencies)(allDependencyPaths, compileTree)
|
|
110
110
|
// There is no need to add any wrapping comments for file content if SASJsFileType===File
|
|
111
111
|
];
|
|
112
112
|
case 9:
|
|
113
|
-
dependenciesContent =
|
|
113
|
+
dependenciesContent = _d.sent();
|
|
114
114
|
// There is no need to add any wrapping comments for file content if SASJsFileType===File
|
|
115
115
|
if (type === types_1.SASJsFileType.file) {
|
|
116
116
|
fileContent = [
|
|
@@ -128,7 +128,14 @@ var loadDependenciesFile = function (_a) {
|
|
|
128
128
|
fileContent = "* SAS Macros start;\n".concat(initProgramDependencies, "\n").concat(termProgramDependencies, "\n").concat(dependenciesContent, "\n* SAS Macros end;\n* SAS Includes start;\n").concat(programDependencies, "\n* SAS Includes end;\n* Binary Files start;\n").concat(binariesDeps, "\n* Binary Files end;\n\n ").concat(init).concat(fileContent).concat(term);
|
|
129
129
|
fileContent = "* ".concat(type, " Variables start;\n").concat(startUpVars, "\n* ").concat(type, " Variables end;\n").concat(fileContent);
|
|
130
130
|
}
|
|
131
|
-
|
|
131
|
+
if (!((type === types_1.SASJsFileType.service || type === types_1.SASJsFileType.test) &&
|
|
132
|
+
target)) return [3 /*break*/, 11];
|
|
133
|
+
_c = "".concat;
|
|
134
|
+
return [4 /*yield*/, (0, _1.getPreCode)(target.serverType, macroCorePath)];
|
|
135
|
+
case 10:
|
|
136
|
+
fileContent = _c.apply("", [_d.sent(), "\n"]).concat(fileContent);
|
|
137
|
+
_d.label = 11;
|
|
138
|
+
case 11: return [2 /*return*/, fileContent];
|
|
132
139
|
}
|
|
133
140
|
});
|
|
134
141
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loadDependenciesFile.js","sourceRoot":"","sources":["../../src/sasjsCli/loadDependenciesFile.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,
|
|
1
|
+
{"version":3,"file":"loadDependenciesFile.js","sourceRoot":"","sources":["../../src/sasjsCli/loadDependenciesFile.ts"],"names":[],"mappings":"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"}
|