@anuma/sdk 8.0.0 → 8.0.2

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.
@@ -39754,10 +39754,18 @@ function hasSql(clauses) {
39754
39754
  (clause) => clause.type === "sql" || "conditions" in clause && hasSql(clause.conditions)
39755
39755
  );
39756
39756
  }
39757
+ function encodeSqlParameters(sql, values) {
39758
+ if (values.length === 0) return sql;
39759
+ const tokens = /[eE]'(?:\\[\s\S]|''|[^'\\])*'|'(?:''|[^'])*'|"(?:""|[^"])*"|(\$(?:[a-zA-Z_]\w*)?\$)[\s\S]*?\1|--[^\r\n]*|\/\*[\s\S]*?\*\/|\$\d+|\?/g;
39760
+ if (sql.match(tokens)?.some((token) => /^\$\d+$/.test(token))) return sql;
39761
+ let index = 0;
39762
+ return sql.replace(tokens, (token) => token === "?" ? `$${++index}` : token);
39763
+ }
39757
39764
  function encodeQuery(query, qualify, countMode = false, idsOnly = false) {
39758
39765
  const { table, description, associations } = query;
39759
39766
  if (description.sql) {
39760
- return [description.sql.sql, description.sql.values];
39767
+ const { sql, values } = description.sql;
39768
+ return [encodeSqlParameters(sql, values), values];
39761
39769
  }
39762
39770
  const params = [];
39763
39771
  const hasToManyJoins = associations.some((a) => a.info.type === "has_many");
@@ -37988,10 +37988,18 @@ function hasSql(clauses) {
37988
37988
  (clause) => clause.type === "sql" || "conditions" in clause && hasSql(clause.conditions)
37989
37989
  );
37990
37990
  }
37991
+ function encodeSqlParameters(sql, values) {
37992
+ if (values.length === 0) return sql;
37993
+ const tokens = /[eE]'(?:\\[\s\S]|''|[^'\\])*'|'(?:''|[^'])*'|"(?:""|[^"])*"|(\$(?:[a-zA-Z_]\w*)?\$)[\s\S]*?\1|--[^\r\n]*|\/\*[\s\S]*?\*\/|\$\d+|\?/g;
37994
+ if (sql.match(tokens)?.some((token) => /^\$\d+$/.test(token))) return sql;
37995
+ let index = 0;
37996
+ return sql.replace(tokens, (token) => token === "?" ? `$${++index}` : token);
37997
+ }
37991
37998
  function encodeQuery(query, qualify, countMode = false, idsOnly = false) {
37992
37999
  const { table, description, associations } = query;
37993
38000
  if (description.sql) {
37994
- return [description.sql.sql, description.sql.values];
38001
+ const { sql, values } = description.sql;
38002
+ return [encodeSqlParameters(sql, values), values];
37995
38003
  }
37996
38004
  const params = [];
37997
38005
  const hasToManyJoins = associations.some((a) => a.info.type === "has_many");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@anuma/sdk",
3
- "version": "8.0.0",
3
+ "version": "8.0.2",
4
4
  "description": "",
5
5
  "main": "./dist/index.cjs",
6
6
  "module": "./dist/index.mjs",