@stoplight/spectral-core 1.21.0-beta-0.2 → 1.21.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.
@@ -1,10 +1,10 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Replacer = void 0;
4
- const expr_eval_fork_1 = require("expr-eval-fork");
4
+ const tslib_1 = require("tslib");
5
+ const simple_eval_1 = (0, tslib_1.__importDefault)(require("simple-eval"));
5
6
  class Replacer {
6
7
  constructor(count) {
7
- console.log('THIS IS Replacer constructor');
8
8
  this.regex = new RegExp(`#?${'{'.repeat(count)}([^}\n]+)${'}'.repeat(count)}`, 'g');
9
9
  this.functions = {};
10
10
  }
@@ -12,36 +12,16 @@ class Replacer {
12
12
  this.functions[name] = filter;
13
13
  }
14
14
  print(input, values) {
15
- console.log('THIS IS PRINT FUNCTION');
16
- const parser = new expr_eval_fork_1.Parser();
17
- const functions = parser.functions;
18
- functions.toUpperCase = (value) => {
19
- return String(value).toUpperCase();
20
- };
21
- functions.concat = (...args) => {
22
- return args.map(String).join('');
23
- };
24
- Object.entries(this.functions).forEach(([name, fn]) => {
25
- functions[name] = fn.bind(values);
26
- });
27
- const context = values;
28
- return input.replace(this.regex, (_substr, identifier, index) => {
29
- if (index < 0 || index >= input.length) {
30
- return '';
31
- }
15
+ return input.replace(this.regex, (substr, identifier, index) => {
32
16
  const shouldEvaluate = input[index] === '#';
33
17
  if (shouldEvaluate) {
34
- const expression = identifier.trim();
35
- if (/constructor|process|require|global|mainModule|fs|child_process/.test(expression)) {
36
- throw new Error('Disallowed expression detected');
37
- }
38
- try {
39
- return String(parser.evaluate(expression, context));
40
- }
41
- catch (error) {
42
- console.error('Expression evaluation error:', error);
43
- return '';
44
- }
18
+ return String((0, simple_eval_1.default)(identifier, {
19
+ ...Object.entries(this.functions).reduce((fns, [name, fn]) => {
20
+ fns[name] = fn.bind(values);
21
+ return fns;
22
+ }, {}),
23
+ ...values,
24
+ }));
45
25
  }
46
26
  if (!(identifier in values)) {
47
27
  return '';
@@ -1 +1 @@
1
- {"version":3,"file":"replacer.js","sourceRoot":"","sources":["../../src/utils/replacer.ts"],"names":[],"mappings":";;;AAEA,mDAA+C;AAI/C,MAAa,QAAQ;IAInB,YAAY,KAAa;QACvB,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;QAC5C,IAAI,CAAC,KAAK,GAAG,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAEpF,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACtB,CAAC;IAEM,WAAW,CAAC,IAAY,EAAE,MAAsB;QACrD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;IAChC,CAAC;IAgDM,KAAK,CAAC,KAAa,EAAE,MAAS;QACnC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;QACtC,MAAM,MAAM,GAAG,IAAI,uBAAM,EAAE,CAAC;QAG5B,MAAM,SAAS,GAAG,MAAM,CAAC,SAAwD,CAAC;QAClF,SAAS,CAAC,WAAW,GAAG,CAAC,KAAY,EAAS,EAAE;YAC9C,OAAO,MAAM,CAAC,KAAK,CAAC,CAAC,WAAW,EAAE,CAAC;QACrC,CAAC,CAAC;QAEF,SAAS,CAAC,MAAM,GAAG,CAAC,GAAG,IAAa,EAAS,EAAE;YAC7C,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACnC,CAAC,CAAC;QAEF,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;YACpD,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAgC,CAAC;QACnE,CAAC,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAA0C,CAAC;QAE3D,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,OAAO,EAAE,UAAkB,EAAE,KAAa,EAAE,EAAE;YAC9E,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,IAAI,KAAK,CAAC,MAAM,EAAE;gBACtC,OAAO,EAAE,CAAC;aACX;YAED,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC;YAE5C,IAAI,cAAc,EAAE;gBAClB,MAAM,UAAU,GAAG,UAAU,CAAC,IAAI,EAAE,CAAC;gBAGrC,IAAI,gEAAgE,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE;oBACrF,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;iBACnD;gBAGD,IAAI;oBACF,OAAO,MAAM,CAAC,MAAM,CAAC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC;iBACrD;gBAAC,OAAO,KAAK,EAAE;oBACd,OAAO,CAAC,KAAK,CAAC,8BAA8B,EAAE,KAAK,CAAC,CAAC;oBACrD,OAAO,EAAE,CAAC;iBACX;aACF;YAED,IAAI,CAAC,CAAC,UAAU,IAAI,MAAM,CAAC,EAAE;gBAC3B,OAAO,EAAE,CAAC;aACX;YAED,OAAO,MAAM,CAAC,MAAM,CAAC,UAAqB,CAAC,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAhHD,4BAgHC"}
1
+ {"version":3,"file":"replacer.js","sourceRoot":"","sources":["../../src/utils/replacer.ts"],"names":[],"mappings":";;;;AACA,2EAAgC;AAIhC,MAAa,QAAQ;IAInB,YAAY,KAAa;QACvB,IAAI,CAAC,KAAK,GAAG,IAAI,MAAM,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,YAAY,GAAG,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;QAEpF,IAAI,CAAC,SAAS,GAAG,EAAE,CAAC;IACtB,CAAC;IAEM,WAAW,CAAC,IAAY,EAAE,MAAsB;QACrD,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC;IAChC,CAAC;IAEM,KAAK,CAAC,KAAa,EAAE,MAAS;QACnC,OAAO,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE;YAE7D,MAAM,cAAc,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,GAAG,CAAC;YAE5C,IAAI,cAAc,EAAE;gBAClB,OAAO,MAAM,CACX,IAAA,qBAAK,EAAC,UAAU,EAAE;oBAChB,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,EAAE,EAAE;wBAC3D,GAAG,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;wBAC5B,OAAO,GAAG,CAAC;oBACb,CAAC,EAAE,EAAE,CAAC;oBACN,GAAG,MAAM;iBACV,CAAC,CACH,CAAC;aACH;YAED,IAAI,CAAC,CAAC,UAAU,IAAI,MAAM,CAAC,EAAE;gBAC3B,OAAO,EAAE,CAAC;aACX;YAGD,OAAO,MAAM,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC;QACpC,CAAC,CAAC,CAAC;IACL,CAAC;CACF;AAvCD,4BAuCC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@stoplight/spectral-core",
3
- "version": "1.21.0-beta-0.2",
3
+ "version": "1.21.0",
4
4
  "sideEffects": false,
5
5
  "homepage": "https://github.com/stoplightio/spectral",
6
6
  "bugs": "https://github.com/stoplightio/spectral/issues",
@@ -47,13 +47,13 @@
47
47
  "ajv-errors": "~3.0.0",
48
48
  "ajv-formats": "~2.1.1",
49
49
  "es-aggregate-error": "^1.0.7",
50
- "expr-eval-fork": "^3.0.1",
51
50
  "jsonpath-plus": "^10.3.0",
52
51
  "lodash": "~4.17.23",
53
52
  "lodash.topath": "^4.5.2",
54
53
  "minimatch": "3.1.2",
55
54
  "nimma": "0.2.3",
56
55
  "pony-cause": "^1.1.1",
56
+ "simple-eval": "1.0.1",
57
57
  "tslib": "^2.8.1"
58
58
  },
59
59
  "devDependencies": {