@graffy/pg 0.15.23 → 0.15.24-alpha.1

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.
Files changed (3) hide show
  1. package/index.cjs +18 -13
  2. package/index.mjs +16 -12
  3. package/package.json +2 -2
package/index.cjs CHANGED
@@ -27,7 +27,8 @@ var __objRest = (source, exclude) => {
27
27
  }
28
28
  return target;
29
29
  };
30
- Object.defineProperties(exports, { __esModule: { value: true }, [Symbol.toStringTag]: { value: "Module" } });
30
+ Object.defineProperty(exports, "__esModule", { value: true });
31
+ exports[Symbol.toStringTag] = "Module";
31
32
  var common = require("@graffy/common");
32
33
  var pg$1 = require("pg");
33
34
  var sql = require("sql-template-tag");
@@ -177,9 +178,9 @@ const lookup = (prop) => {
177
178
  const aggSql = {
178
179
  $sum: (prop) => sql__default["default"]`sum((${lookup(prop)})::numeric)`,
179
180
  $card: (prop) => sql__default["default"]`count(distinct(${lookup(prop)}))`,
180
- $avg: (prop) => sql__default["default"]`sum((${lookup(prop)})::numeric)`,
181
- $max: (prop) => sql__default["default"]`sum((${lookup(prop)})::numeric)`,
182
- $min: (prop) => sql__default["default"]`sum((${lookup(prop)})::numeric)`
181
+ $avg: (prop) => sql__default["default"]`avg((${lookup(prop)})::numeric)`,
182
+ $max: (prop) => sql__default["default"]`max((${lookup(prop)})::numeric)`,
183
+ $min: (prop) => sql__default["default"]`min((${lookup(prop)})::numeric)`
183
184
  };
184
185
  const getSelectCols = (table, projection = null) => {
185
186
  if (!projection)
@@ -345,10 +346,13 @@ const getArgMeta = (key, { prefix, idCol, verDefault }) => getJsonBuildTrusted({
345
346
  $ref: sql__default["default"]`jsonb_build_array(${sql.join(prefix.map((k) => sql__default["default"]`${k}::text`))}, "${sql.raw(idCol)}")`,
346
347
  $ver: sql.raw(verDefault)
347
348
  });
348
- const getAggMeta = (key, $group, { verDefault }) => getJsonBuildTrusted({
349
- $key: sql.join([key, getJsonBuildTrusted({ $group })].filter(Boolean), " || "),
350
- $ver: sql.raw(verDefault)
351
- });
349
+ const getAggMeta = (key, $group, { verDefault }) => {
350
+ let $key = sql.join([key, getJsonBuildTrusted({ $group })].filter(Boolean), " || ");
351
+ return getJsonBuildTrusted({
352
+ $key,
353
+ $ver: sql.raw(verDefault)
354
+ });
355
+ };
352
356
  function getArgSql(_a, options) {
353
357
  var _b = _a, { $first, $last, $after, $before, $since, $until, $all, $cursor: _ } = _b, rest = __objRest(_b, ["$first", "$last", "$after", "$before", "$since", "$until", "$all", "$cursor"]);
354
358
  const _a2 = rest, { $order, $group } = _a2, filter = __objRest(_a2, ["$order", "$group"]);
@@ -360,14 +364,14 @@ function getArgSql(_a, options) {
360
364
  const groupCols = Array.isArray($group) && $group.length && $group.map(lookup);
361
365
  const group = groupCols ? sql.join(groupCols, ", ") : void 0;
362
366
  const hasRangeArg = $before || $after || $since || $until || $first || $last || $all || $order;
363
- let key;
367
+ let filterKey;
364
368
  const where = [];
365
369
  if (!common.isEmpty(filter)) {
366
370
  where.push(getSql(filter, options));
367
- key = sql__default["default"]`${JSON.stringify(filter)}::jsonb`;
371
+ filterKey = sql__default["default"]`${JSON.stringify(filter)}::jsonb`;
368
372
  }
369
373
  if (!hasRangeArg)
370
- return { meta: meta(key), where, group, limit: 1 };
374
+ return { meta: meta(filterKey), where, group, limit: 1 };
371
375
  const orderCols = ($order || [idCol]).map((orderItem) => orderItem[0] === "!" ? sql__default["default"]`-(${lookup(orderItem.slice(1))})::float8` : lookup(orderItem));
372
376
  Object.entries({ $after, $before, $since, $until }).forEach(([name, value]) => {
373
377
  if (value)
@@ -375,10 +379,11 @@ function getArgSql(_a, options) {
375
379
  });
376
380
  const order = !$group && sql.join(($order || [idCol]).map((orderItem) => orderItem[0] === "!" ? sql__default["default"]`${lookup(orderItem.slice(1))} ${$last ? sql__default["default"]`ASC` : sql__default["default"]`DESC`}` : sql__default["default"]`${lookup(orderItem)} ${$last ? sql__default["default"]`DESC` : sql__default["default"]`ASC`}`), `, `);
377
381
  const orderKey = $order && getJsonBuildTrusted({ $order: sql__default["default"]`${JSON.stringify($order)}::jsonb` });
378
- const cursorKey = getJsonBuildTrusted({
382
+ const cursorKey = $group !== true && getJsonBuildTrusted({
379
383
  $cursor: sql__default["default"]`jsonb_build_array(${sql.join(groupCols || orderCols)})`
380
384
  });
381
- key = sql__default["default"]`(${sql.join([key, orderKey, cursorKey].filter(Boolean), ` || `)})`;
385
+ const keys = [filterKey, orderKey, cursorKey].filter(Boolean);
386
+ const key = keys.length > 0 ? sql__default["default"]`(${sql.join(keys, ` || `)})` : void 0;
382
387
  return {
383
388
  meta: meta(key),
384
389
  where,
package/index.mjs CHANGED
@@ -170,9 +170,9 @@ const lookup = (prop) => {
170
170
  const aggSql = {
171
171
  $sum: (prop) => sql`sum((${lookup(prop)})::numeric)`,
172
172
  $card: (prop) => sql`count(distinct(${lookup(prop)}))`,
173
- $avg: (prop) => sql`sum((${lookup(prop)})::numeric)`,
174
- $max: (prop) => sql`sum((${lookup(prop)})::numeric)`,
175
- $min: (prop) => sql`sum((${lookup(prop)})::numeric)`
173
+ $avg: (prop) => sql`avg((${lookup(prop)})::numeric)`,
174
+ $max: (prop) => sql`max((${lookup(prop)})::numeric)`,
175
+ $min: (prop) => sql`min((${lookup(prop)})::numeric)`
176
176
  };
177
177
  const getSelectCols = (table, projection = null) => {
178
178
  if (!projection)
@@ -338,10 +338,13 @@ const getArgMeta = (key, { prefix, idCol, verDefault }) => getJsonBuildTrusted({
338
338
  $ref: sql`jsonb_build_array(${join(prefix.map((k) => sql`${k}::text`))}, "${raw(idCol)}")`,
339
339
  $ver: raw(verDefault)
340
340
  });
341
- const getAggMeta = (key, $group, { verDefault }) => getJsonBuildTrusted({
342
- $key: join([key, getJsonBuildTrusted({ $group })].filter(Boolean), " || "),
343
- $ver: raw(verDefault)
344
- });
341
+ const getAggMeta = (key, $group, { verDefault }) => {
342
+ let $key = join([key, getJsonBuildTrusted({ $group })].filter(Boolean), " || ");
343
+ return getJsonBuildTrusted({
344
+ $key,
345
+ $ver: raw(verDefault)
346
+ });
347
+ };
345
348
  function getArgSql(_a, options) {
346
349
  var _b = _a, { $first, $last, $after, $before, $since, $until, $all, $cursor: _ } = _b, rest = __objRest(_b, ["$first", "$last", "$after", "$before", "$since", "$until", "$all", "$cursor"]);
347
350
  const _a2 = rest, { $order, $group } = _a2, filter = __objRest(_a2, ["$order", "$group"]);
@@ -353,14 +356,14 @@ function getArgSql(_a, options) {
353
356
  const groupCols = Array.isArray($group) && $group.length && $group.map(lookup);
354
357
  const group = groupCols ? join(groupCols, ", ") : void 0;
355
358
  const hasRangeArg = $before || $after || $since || $until || $first || $last || $all || $order;
356
- let key;
359
+ let filterKey;
357
360
  const where = [];
358
361
  if (!isEmpty(filter)) {
359
362
  where.push(getSql(filter, options));
360
- key = sql`${JSON.stringify(filter)}::jsonb`;
363
+ filterKey = sql`${JSON.stringify(filter)}::jsonb`;
361
364
  }
362
365
  if (!hasRangeArg)
363
- return { meta: meta(key), where, group, limit: 1 };
366
+ return { meta: meta(filterKey), where, group, limit: 1 };
364
367
  const orderCols = ($order || [idCol]).map((orderItem) => orderItem[0] === "!" ? sql`-(${lookup(orderItem.slice(1))})::float8` : lookup(orderItem));
365
368
  Object.entries({ $after, $before, $since, $until }).forEach(([name, value]) => {
366
369
  if (value)
@@ -368,10 +371,11 @@ function getArgSql(_a, options) {
368
371
  });
369
372
  const order = !$group && join(($order || [idCol]).map((orderItem) => orderItem[0] === "!" ? sql`${lookup(orderItem.slice(1))} ${$last ? sql`ASC` : sql`DESC`}` : sql`${lookup(orderItem)} ${$last ? sql`DESC` : sql`ASC`}`), `, `);
370
373
  const orderKey = $order && getJsonBuildTrusted({ $order: sql`${JSON.stringify($order)}::jsonb` });
371
- const cursorKey = getJsonBuildTrusted({
374
+ const cursorKey = $group !== true && getJsonBuildTrusted({
372
375
  $cursor: sql`jsonb_build_array(${join(groupCols || orderCols)})`
373
376
  });
374
- key = sql`(${join([key, orderKey, cursorKey].filter(Boolean), ` || `)})`;
377
+ const keys = [filterKey, orderKey, cursorKey].filter(Boolean);
378
+ const key = keys.length > 0 ? sql`(${join(keys, ` || `)})` : void 0;
375
379
  return {
376
380
  meta: meta(key),
377
381
  where,
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@graffy/pg",
3
3
  "description": "The standard Postgres module for Graffy. Each instance this module mounts a Postgres table as a Graffy subtree.",
4
4
  "author": "aravind (https://github.com/aravindet)",
5
- "version": "0.15.23",
5
+ "version": "0.15.24-alpha.1",
6
6
  "main": "./index.cjs",
7
7
  "exports": {
8
8
  "import": "./index.mjs",
@@ -16,7 +16,7 @@
16
16
  },
17
17
  "license": "Apache-2.0",
18
18
  "dependencies": {
19
- "@graffy/common": "0.15.23",
19
+ "@graffy/common": "0.15.24-alpha.1",
20
20
  "sql-template-tag": "^4.1.0",
21
21
  "debug": "^4.3.3"
22
22
  },