Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

edgedb

Package Overview
Dependencies
Maintainers
4
Versions
322
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

edgedb - npm Package Compare versions

Comparing version 0.19.0-alpha.1 to 0.19.0-alpha.2

1

dist/index.node.d.ts

@@ -30,1 +30,2 @@ /*!

export * as $ from "./reflection";
export declare const qer: unique symbol;

3

dist/index.node.js

@@ -42,3 +42,3 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
exports.$ = exports.reflection = exports.defaultBackoff = exports.RetryOptions = exports.RetryCondition = exports.IsolationLevel = exports._RawConnection = exports.createClient = void 0;
exports.qer = exports.$ = exports.reflection = exports.defaultBackoff = exports.RetryOptions = exports.RetryCondition = exports.IsolationLevel = exports._RawConnection = exports.createClient = void 0;
var client_1 = require("./client");

@@ -59,1 +59,2 @@ Object.defineProperty(exports, "createClient", { enumerable: true, get: function () { return client_1.createClient; } });

exports.$ = __importStar(require("./reflection"));
exports.qer = Symbol("asdf");

@@ -245,5 +245,5 @@ #!/usr/bin/env node

try {
const [header, ..._config] = (await (0, adapter_node_1.readFileUtf8)(adapter_node_1.path.join(outputDir, "config.json"))).split("\n");
if (header === generate_1.configFileHeader) {
config = JSON.parse(_config.join("\n"));
const configFile = await (0, adapter_node_1.readFileUtf8)(adapter_node_1.path.join(outputDir, "config.json"));
if (configFile.startsWith(generate_1.configFileHeader)) {
config = JSON.parse(configFile.slice(generate_1.configFileHeader.length));
if (config.target === options.target) {

@@ -250,0 +250,0 @@ return true;

@@ -242,3 +242,3 @@ "use strict";

f.writeln([(0, builders_1.t) `};\n\n`]);
f.addImport({ getType: true }, "./syntax/literal");
f.addImport({ $getType: true }, "./syntax/literal");
f.writeln([

@@ -261,3 +261,3 @@ (0, builders_1.r) `function literalToTypeSet(type`,

}
f.writeln([(0, builders_1.r) ` return getType("${typesByName[type].id}")(type);`]);
f.writeln([(0, builders_1.r) ` return $getType("${typesByName[type].id}")(type);`]);
f.writeln([(0, builders_1.r) ` }`]);

@@ -264,0 +264,0 @@ }

@@ -51,9 +51,5 @@ "use strict";

code.nl();
code.writeln([(0, builders_1.dts) `declare `, (0, builders_1.t) `function set(): null;`]);
code.writeln([
(0, builders_1.dts) `declare `,
(0, builders_1.t) `function set<Type extends BaseType>(
type: Type
): $expr_Set<TypeSet<unwrapCastableType<Type>, Cardinality.Empty>>;
`,
(0, builders_1.dts) `declare `,
(0, builders_1.t) `function set<

@@ -137,2 +133,3 @@ Expr extends castMaps.orScalarLiteral<TypeSet>

(0, builders_1.r) `) {
// if no arg
// if arg

@@ -144,20 +141,6 @@ // return empty set

// return shared parent of scalars
if (
_exprs.length === 1 &&
Object.values(TypeKind).includes(_exprs[0].__kind__)
) {
const element`,
(0, builders_1.ts) `: BaseType`,
(0, builders_1.r) ` = _exprs[0]`,
(0, builders_1.ts) ` as any`,
(0, builders_1.r) `;
return $expressionify({
__kind__: ExpressionKind.Set,
__element__: element,
__cardinality__: Cardinality.Empty,
__exprs__: [],
})`,
(0, builders_1.ts) ` as any`,
(0, builders_1.r) `;
if(_exprs.length === 0){
return null;
}
const exprs`,

@@ -164,0 +147,0 @@ (0, builders_1.ts) `: TypeSet[]`,

@@ -92,4 +92,10 @@ "use strict";

backlinks := (SELECT DETACHED Link FILTER .target = Type) {
real_cardinality := "AtMostOne" IF EXISTS (select .constraints filter .name = 'std::exclusive') ELSE "Many",
name := '<' ++ .name ++ '[IS ' ++ std::assert_exists(.source.name) ++ ']',
real_cardinality := "AtMostOne"
IF
EXISTS (select .constraints filter .name = 'std::exclusive')
ELSE
"Many",
name := '<' ++ .name ++ '[is ' ++ std::assert_exists(
.source.name if .source.name[:9] != 'default::' else .source.name[9:]
) ++ ']',
stub := .name,

@@ -96,0 +102,0 @@ target_id := .source.id,

@@ -1,2 +0,3 @@

import { Expression, ExpressionKind, BaseType, CastableNonArrayType, CastableArrayType, unwrapCastableType, TypeSet } from "../reflection";
import { Expression, ExpressionKind, BaseType, CastableNonArrayType, CastableArrayType, unwrapCastableType, TypeSet, Cardinality } from "../reflection";
export declare function cast<Target extends CastableNonArrayType | CastableArrayType>(target: Target, arg: null): $expr_Cast<Target, TypeSet<Target, Cardinality.Empty>>;
export declare function cast<Target extends CastableNonArrayType | CastableArrayType, Expr extends TypeSet>(target: Target, expr: Expr): $expr_Cast<Target, Expr>;

@@ -7,3 +8,3 @@ export declare type $expr_Cast<Target extends BaseType = BaseType, Expr extends TypeSet = TypeSet> = Expression<{

__kind__: ExpressionKind.Cast;
__expr__: Expr;
__expr__: Expr | null;
}>;

@@ -9,3 +9,3 @@ "use strict";

__element__: target,
__cardinality__: expr.__cardinality__,
__cardinality__: expr === null ? reflection_1.Cardinality.Empty : expr.__cardinality__,
__expr__: expr,

@@ -12,0 +12,0 @@ __kind__: reflection_1.ExpressionKind.Cast,

@@ -9,12 +9,18 @@ import {

TypeSet,
Cardinality,
} from "../reflection";
import {$expressionify} from "./path";
export function cast<Target extends CastableNonArrayType | CastableArrayType>(
target: Target,
arg: null
): $expr_Cast<Target, TypeSet<Target, Cardinality.Empty>>;
export function cast<
Target extends CastableNonArrayType | CastableArrayType,
Expr extends TypeSet
>(target: Target, expr: Expr): $expr_Cast<Target, Expr> {
>(target: Target, expr: Expr): $expr_Cast<Target, Expr>;
export function cast(target: BaseType, expr: any) {
return $expressionify({
__element__: target,
__cardinality__: expr.__cardinality__,
__cardinality__: expr === null ? Cardinality.Empty : expr.__cardinality__,
__expr__: expr,

@@ -32,3 +38,3 @@ __kind__: ExpressionKind.Cast,

__kind__: ExpressionKind.Cast;
__expr__: Expr;
__expr__: Expr | null;
}>;

@@ -5,3 +5,3 @@ "use strict";

const reflection_1 = require("../reflection");
const set_1 = require("./set");
const cast_1 = require("./cast");
const castMaps_1 = require("@generated/castMaps");

@@ -80,3 +80,3 @@ const literal_1 = require("./literal");

const argType = (0, reflection_1.makeType)(typeSpec, argDef.typeId, literal_1.literal);
positionalArgs.push((0, set_1.set)(argType));
positionalArgs.push((0, cast_1.cast)(argType, null));
}

@@ -83,0 +83,0 @@ }

@@ -13,3 +13,3 @@ import {

} from "../reflection";
import {set} from "./set";
import {cast} from "./cast";
import {isImplicitlyCastableTo, literalToTypeSet} from "@generated/castMaps";

@@ -154,3 +154,3 @@ import {literal} from "./literal";

const argType = makeType<any>(typeSpec, argDef.typeId, literal);
positionalArgs.push(set(argType));
positionalArgs.push(cast(argType, null));
}

@@ -157,0 +157,0 @@ } else {

@@ -6,3 +6,3 @@ "use strict";

const path_1 = require("./path");
const set_1 = require("./set");
const cast_1 = require("./cast");
function unlessConflict(conflictGetter) {

@@ -52,3 +52,3 @@ const expr = {

const wrappedVal = val === null
? (0, set_1.set)(pointer.target)
? (0, cast_1.cast)(pointer.target, null)
: pointer.target(val);

@@ -55,0 +55,0 @@ newShape[key] = setModify

@@ -20,3 +20,3 @@ import {

import {$expressionify, $getScopedExpr} from "./path";
import {set} from "./set";
import {cast} from "./cast";
import {$expr_PathNode} from "../reflection/path";

@@ -168,3 +168,3 @@

val === null
? set(pointer.target)
? cast(pointer.target, null)
: (pointer.target as scalarTypeWithConstructor<ScalarType>)(val);

@@ -171,0 +171,0 @@ newShape[key] = setModify

import { BaseType, BaseTypeToTsType, unwrapCastableType, ScalarType } from "../reflection";
import { $expr_Literal } from "../reflection/literal";
export declare function literal<T extends BaseType>(type: T, value: BaseTypeToTsType<unwrapCastableType<T>>): $expr_Literal<unwrapCastableType<T>>;
export declare function getType(id: string): (val: any) => $expr_Literal<ScalarType>;
export declare function getTypeByName(name: string): (val: any) => $expr_Literal<ScalarType>;
export declare function $getType(id: string): (val: any) => $expr_Literal<ScalarType>;
export declare function $getTypeByName(name: string): (val: any) => $expr_Literal<ScalarType>;
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getTypeByName = exports.getType = exports.literal = void 0;
exports.$getTypeByName = exports.$getType = exports.literal = void 0;
const reflection_1 = require("../reflection");

@@ -19,9 +19,9 @@ const path_1 = require("./path");

]);
function getType(id) {
function $getType(id) {
return (0, reflection_1.makeType)(__spec__1.spec, id, literal);
}
exports.getType = getType;
function getTypeByName(name) {
exports.$getType = $getType;
function $getTypeByName(name) {
return (0, reflection_1.makeType)(__spec__1.spec, nameMapping.get(name), literal);
}
exports.getTypeByName = getTypeByName;
exports.$getTypeByName = $getTypeByName;

@@ -30,7 +30,7 @@ import {

export function getType(id: string): (val: any) => $expr_Literal<ScalarType> {
export function $getType(id: string): (val: any) => $expr_Literal<ScalarType> {
return makeType(spec, id, literal) as any;
}
export function getTypeByName(
export function $getTypeByName(
name: string

@@ -37,0 +37,0 @@ ): (val: any) => $expr_Literal<ScalarType> {

@@ -108,3 +108,4 @@ "use strict";

target[prop] === undefined) {
return jsonDestructure.call(proxy, prop);
const parsedProp = Number.isInteger(Number(prop)) ? Number(prop) : prop;
return jsonDestructure.call(proxy, parsedProp);
}

@@ -111,0 +112,0 @@ return target[prop];

@@ -169,3 +169,4 @@ import {

) {
return jsonDestructure.call(proxy, prop);
const parsedProp = Number.isInteger(Number(prop)) ? Number(prop) : prop;
return jsonDestructure.call(proxy, parsedProp);
}

@@ -172,0 +173,0 @@ return (target as any)[prop];

@@ -24,6 +24,6 @@ import type { $bool, $number } from "@generated/modules/std";

export declare type LimitExpression = TypeSet<$number, Cardinality.Empty | Cardinality.One | Cardinality.AtMostOne>;
export declare type SelectModifierNames = "filter" | "order" | "offset" | "limit";
export declare type SelectModifierNames = "filter" | "order_by" | "offset" | "limit";
export declare type SelectModifiers = {
filter?: SelectFilterExpression;
order?: OrderByExpression;
order_by?: OrderByExpression;
offset?: OffsetExpression | number;

@@ -34,3 +34,3 @@ limit?: LimitExpression | number;

filter?: SelectFilterExpression;
order?: OrderByObjExpr[];
order_by?: OrderByObjExpr[];
offset?: OffsetExpression;

@@ -49,3 +49,3 @@ limit?: LimitExpression;

filter<Filter extends SelectFilterExpression>(filter: Filter | ((scope: Root extends ObjectTypeSet ? $scopify<Root["__element__"]> : stripSet<Root>) => Filter)): this;
order(order: OrderByExpression | ((scope: Root extends ObjectTypeSet ? $scopify<Root["__element__"]> : stripSet<Root>) => OrderByExpression)): this;
order_by(order_by: OrderByExpression | ((scope: Root extends ObjectTypeSet ? $scopify<Root["__element__"]> : stripSet<Root>) => OrderByExpression)): this;
offset(offset: OffsetExpression | number | ((scope: Root extends ObjectTypeSet ? $scopify<Root["__element__"]> : stripSet<Root>) => OffsetExpression | number)): this;

@@ -52,0 +52,0 @@ limit(limit: LimitExpression | number | ((scope: Root extends ObjectTypeSet ? $scopify<Root["__element__"]> : stripSet<Root>) => LimitExpression | number)): this;

@@ -74,5 +74,7 @@ "use strict";

}
if (mods.order) {
const orderExprs = Array.isArray(mods.order) ? mods.order : [mods.order];
mods.order = orderExprs.map(expr => typeof expr.__element__ === "undefined"
if (mods.order_by) {
const orderExprs = Array.isArray(mods.order_by)
? mods.order_by
: [mods.order_by];
mods.order_by = orderExprs.map(expr => typeof expr.__element__ === "undefined"
? expr

@@ -84,3 +86,3 @@ : { expression: expr });

typeof mods.offset === "number"
? (0, literal_1.getTypeByName)("std::number")(mods.offset)
? (0, literal_1.$getTypeByName)("std::number")(mods.offset)
: mods.offset;

@@ -92,3 +94,3 @@ card = reflection_1.cardinalityUtil.overrideLowerBound(card, "Zero");

if (typeof expr === "number") {
expr = (0, literal_1.getTypeByName)("std::number")(expr);
expr = (0, literal_1.$getTypeByName)("std::number")(expr);
}

@@ -139,8 +141,8 @@ else if (expr.__kind__ === reflection_1.ExpressionKind.Set) {

firstArg instanceof edgedb_1.ConfigMemory) {
const literal = (0, castMaps_1.literalToTypeSet)(firstArg);
const literalExpr = (0, castMaps_1.literalToTypeSet)(firstArg);
return (0, path_1.$expressionify)($selectify({
__kind__: reflection_1.ExpressionKind.Select,
__element__: literal.__element__,
__cardinality__: literal.__cardinality__,
__expr__: literal,
__element__: literalExpr.__element__,
__cardinality__: literalExpr.__cardinality__,
__expr__: literalExpr,
__modifiers__: {},

@@ -212,3 +214,3 @@ }));

if (key === "filter" ||
key === "order" ||
key === "order_by" ||
key === "offset" ||

@@ -221,3 +223,3 @@ key === "limit") {

throw new Error(`Invalid select shape key '${key}' on scalar expression, ` +
`only modifiers are allowed (filter, order, offset and limit)`);
`only modifiers are allowed (filter, order_by, offset and limit)`);
}

@@ -224,0 +226,0 @@ shape[key] = resolveShapeElement(key, value, scope);

@@ -41,3 +41,3 @@ import {

import {$expressionify, $getScopedExpr} from "./path";
import {getTypeByName, literal} from "./literal";
import {$getTypeByName, literal} from "./literal";
import {spec} from "@generated/__spec__";

@@ -84,7 +84,7 @@ import {

export type SelectModifierNames = "filter" | "order" | "offset" | "limit";
export type SelectModifierNames = "filter" | "order_by" | "offset" | "limit";
export type SelectModifiers = {
filter?: SelectFilterExpression;
order?: OrderByExpression;
order_by?: OrderByExpression;
offset?: OffsetExpression | number;

@@ -96,3 +96,3 @@ limit?: LimitExpression | number;

filter?: SelectFilterExpression;
order?: OrderByObjExpr[];
order_by?: OrderByObjExpr[];
offset?: OffsetExpression;

@@ -117,4 +117,4 @@ limit?: LimitExpression;

// filter: Mods["filter"];
// order: Mods["order"] extends OrderByExpression
// ? NormaliseOrderByModifier<Mods["order"]>
// order_by: Mods["order_by"] extends OrderByExpression
// ? NormaliseOrderByModifier<Mods["order_by"]>
// : [];

@@ -151,4 +151,4 @@ // offset: Mods["offset"] extends number

): this;
order(
order:
order_by(
order_by:
| OrderByExpression

@@ -390,5 +390,7 @@ | ((

}
if (mods.order) {
const orderExprs = Array.isArray(mods.order) ? mods.order : [mods.order];
mods.order = orderExprs.map(expr =>
if (mods.order_by) {
const orderExprs = Array.isArray(mods.order_by)
? mods.order_by
: [mods.order_by];
mods.order_by = orderExprs.map(expr =>
typeof (expr as any).__element__ === "undefined"

@@ -402,3 +404,3 @@ ? expr

typeof mods.offset === "number"
? (getTypeByName("std::number")(mods.offset) as any)
? ($getTypeByName("std::number")(mods.offset) as any)
: mods.offset;

@@ -410,3 +412,3 @@ card = cardinalityUtil.overrideLowerBound(card, "Zero");

if (typeof expr === "number") {
expr = getTypeByName("std::number")(expr) as any;
expr = $getTypeByName("std::number")(expr) as any;
} else if ((expr as any).__kind__ === ExpressionKind.Set) {

@@ -492,3 +494,3 @@ expr = (expr as any).__exprs__[0];

// parent: any,
// modName: "filter" | "order" | "offset" | "limit",
// modName: "filter" | "order_by" | "offset" | "limit",
// modGetter: any

@@ -516,10 +518,10 @@ // ) {

// break;
// case "order":
// const order =
// case "order_by":
// const ordering =
// typeof (modExpr as any).__element__ === "undefined"
// ? modExpr
// : {expression: modExpr};
// modifiers.order = modifiers.order
// ? [...modifiers.order, order]
// : [order];
// modifiers.order_by = modifiers.order_by
// ? [...modifiers.order_by, ordering]
// : [ordering];
// break;

@@ -561,3 +563,3 @@ // case "offset":

// filter: (filter: any) => updateModifier(expr, "filter", filter),
// order: (order: any) => updateModifier(expr, "order", order),
// order_by: (order_by: any) => updateModifier(expr, "order_by", order_by),
// offset: (offset: any) => updateModifier(expr, "offset", offset),

@@ -720,9 +722,9 @@ // limit: (limit: any) => updateModifier(expr, "limit", limit),

) {
const literal = literalToTypeSet(firstArg);
const literalExpr = literalToTypeSet(firstArg);
return $expressionify(
$selectify({
__kind__: ExpressionKind.Select,
__element__: literal.__element__,
__cardinality__: literal.__cardinality__,
__expr__: literal,
__element__: literalExpr.__element__,
__cardinality__: literalExpr.__cardinality__,
__expr__: literalExpr,
__modifiers__: {},

@@ -818,3 +820,3 @@ })

key === "filter" ||
key === "order" ||
key === "order_by" ||
key === "offset" ||

@@ -828,3 +830,3 @@ key === "limit"

`Invalid select shape key '${key}' on scalar expression, ` +
`only modifiers are allowed (filter, order, offset and limit)`
`only modifiers are allowed (filter, order_by, offset and limit)`
);

@@ -831,0 +833,0 @@ }

@@ -7,2 +7,12 @@ "use strict";

const reservedKeywords_1 = require("../reflection/reservedKeywords");
const topLevelExprKinds = new Set([
reflection_1.ExpressionKind.Delete,
reflection_1.ExpressionKind.For,
reflection_1.ExpressionKind.Insert,
reflection_1.ExpressionKind.InsertUnlessConflict,
reflection_1.ExpressionKind.Select,
reflection_1.ExpressionKind.Update,
reflection_1.ExpressionKind.With,
reflection_1.ExpressionKind.WithParams,
]);
function shapeToEdgeQL(shape, ctx, pointerKeys = null, keysOnly = false) {

@@ -336,3 +346,10 @@ if (shape === null) {

return `<${expr.__element__.__name__}>{}`;
return `{ ${exprs.map(ex => renderEdgeQL(ex, ctx)).join(", ")} }`;
return `{ ${exprs
.map(ex => {
const renderedExpr = renderEdgeQL(ex, ctx);
return topLevelExprKinds.has(ex.__kind__)
? `(${renderedExpr})`
: renderedExpr;
})
.join(", ")} }`;
}

@@ -364,2 +381,5 @@ else {

else if (expr.__kind__ === reflection_1.ExpressionKind.Cast) {
if (expr.__expr__ === null) {
return `<${expr.__element__.__name__}>{}`;
}
return `<${expr.__element__.__name__}>${renderEdgeQL(expr.__expr__, ctx)}`;

@@ -377,3 +397,3 @@ }

const needsScalarVar = (expr.__modifiers__.filter ||
expr.__modifiers__.order ||
expr.__modifiers__.order_by ||
expr.__modifiers__.offset ||

@@ -396,4 +416,4 @@ expr.__modifiers__.limit) &&

}
if (expr.__modifiers__.order) {
modifiers.push(...expr.__modifiers__.order.map(({ expression, direction, empty }, i) => {
if (expr.__modifiers__.order_by) {
modifiers.push(...expr.__modifiers__.order_by.map(({ expression, direction, empty }, i) => {
return `${i === 0 ? "ORDER BY" : " THEN"} ${renderEdgeQL(expression, ctx)}${direction ? " " + direction : ""}${empty ? " " + empty : ""}`;

@@ -571,2 +591,4 @@ }));

case reflection_1.ExpressionKind.Cast:
if (expr.__expr__ === null)
break;
childExprs.push(...walkExprTree(expr.__expr__, parentScope, ctx));

@@ -603,4 +625,4 @@ break;

}
if (modifiers.order) {
for (const orderExpr of modifiers.order) {
if (modifiers.order_by) {
for (const orderExpr of modifiers.order_by) {
childExprs.push(...walkExprTree(orderExpr.expression, expr, ctx));

@@ -607,0 +629,0 @@ }

@@ -81,2 +81,13 @@ import {

const topLevelExprKinds = new Set([
ExpressionKind.Delete,
ExpressionKind.For,
ExpressionKind.Insert,
ExpressionKind.InsertUnlessConflict,
ExpressionKind.Select,
ExpressionKind.Update,
ExpressionKind.With,
ExpressionKind.WithParams,
]);
function shapeToEdgeQL(

@@ -514,2 +525,3 @@ shape: object | null,

// console.log(expr.__kind__);
if (expr.__kind__ === ExpressionKind.With) {

@@ -575,3 +587,10 @@ return renderEdgeQL(expr.__expr__, ctx);

if (exprs.length === 0) return `<${expr.__element__.__name__}>{}`;
return `{ ${exprs.map(ex => renderEdgeQL(ex, ctx)).join(", ")} }`;
return `{ ${exprs
.map(ex => {
const renderedExpr = renderEdgeQL(ex, ctx);
return topLevelExprKinds.has((ex as SomeExpression).__kind__)
? `(${renderedExpr})`
: renderedExpr;
})
.join(", ")} }`;
} else {

@@ -599,2 +618,5 @@ throw new Error(

} else if (expr.__kind__ === ExpressionKind.Cast) {
if (expr.__expr__ === null) {
return `<${expr.__element__.__name__}>{}`;
}
return `<${expr.__element__.__name__}>${renderEdgeQL(expr.__expr__, ctx)}`;

@@ -623,3 +645,3 @@ } else if (expr.__kind__ === ExpressionKind.Select) {

(expr.__modifiers__.filter ||
expr.__modifiers__.order ||
expr.__modifiers__.order_by ||
expr.__modifiers__.offset ||

@@ -651,5 +673,5 @@ expr.__modifiers__.limit) &&

}
if (expr.__modifiers__.order) {
if (expr.__modifiers__.order_by) {
modifiers.push(
...expr.__modifiers__.order.map(
...expr.__modifiers__.order_by.map(
({expression, direction, empty}, i) => {

@@ -749,2 +771,3 @@ return `${i === 0 ? "ORDER BY" : " THEN"} ${renderEdgeQL(

}
return `(${renderEdgeQL(args[0], ctx)})[${index}]`;

@@ -901,2 +924,3 @@ }

case ExpressionKind.Cast:
if (expr.__expr__ === null) break;
childExprs.push(...walkExprTree(expr.__expr__, parentScope, ctx));

@@ -933,4 +957,4 @@ break;

}
if (modifiers.order) {
for (const orderExpr of modifiers.order) {
if (modifiers.order_by) {
for (const orderExpr of modifiers.order_by) {
childExprs.push(...walkExprTree(orderExpr.expression, expr, ctx));

@@ -937,0 +961,0 @@ }

@@ -13,3 +13,3 @@ {

},
"version": "0.19.0-alpha.1",
"version": "0.19.0-alpha.2",
"main": "./dist/index.node.js",

@@ -16,0 +16,0 @@ "types": "./dist/index.node.d.ts",

@@ -57,5 +57,9 @@ # The official Node.js client library for EdgeDB

We use TypeScript, yarn, prettier, and tslint to develop edgedb-js.
To run the test suite, run `yarn test`. To lint or format the code, run
`yarn lint` / `yarn format`.
```bash
$ git clone git@github.com:edgedb/edgedb-js.git
$ cd edgedb-js
$ yarn # install dependencies
$ yarn build # compile TypeScript
$ yarn tests # run tests
```

@@ -62,0 +66,0 @@ ## License

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc