🚀 Big News: Socket Acquires Coana to Bring Reachability Analysis to Every Appsec Team.Learn more
Socket
Book a DemoInstallSign in
Socket

edgedb

Package Overview
Dependencies
Maintainers
4
Versions
419
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

to
0.18.0-alpha.7

0

dist/codecs/datetime.js

@@ -0,0 +0,0 @@ "use strict";

7

dist/reflection/generators/generateFunctionTypes.js

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

function generateReturnCardinality(name, params, returnTypemod, hasNamedParams, anytypes, preservesOptionality = false) {
if (returnTypemod === "SetOfType" && name !== "std::if_else") {
if (returnTypemod === "SetOfType" &&
name !== "std::if_else" &&
name !== "std::assert_exists") {
return `$.Cardinality.Many`;

@@ -281,2 +283,5 @@ }

}
if (name === "std::assert_exists") {
return `$.cardinalityUtil.overrideLowerBound<${cardinalities[0].genTypeName}["__cardinality__"], "One">`;
}
const paramCardinalities = cardinalities.map(param => {

@@ -283,0 +288,0 @@ if (param.typemod === "SetOfType") {

11

dist/reflection/generators/generateObjectTypes.js

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

const ptrToLine = ptr => {
var _a, _b;
var _a, _b, _c;
const card = `$.Cardinality.${ptr.real_cardinality}`;

@@ -114,3 +114,4 @@ const target = types.get(ptr.target_id);

writable: (_a = ptr.is_writable) !== null && _a !== void 0 ? _a : false,
lines: ((_b = ptr.pointers) !== null && _b !== void 0 ? _b : [])
hasDefault: (_b = ptr.has_default) !== null && _b !== void 0 ? _b : false,
lines: ((_c = ptr.pointers) !== null && _c !== void 0 ? _c : [])
.filter(p => p.name !== "@target" && p.name !== "@source")

@@ -139,3 +140,3 @@ .map(ptrToLine),

body.writeln([
(0, builders_1.t) `${(0, genutil_1.quote)(line.key)}: $.LinkDesc<${line.staticType}, ${line.card}, {}, ${line.isExclusive.toString()}, ${line.writable.toString()}>;`,
(0, builders_1.t) `${(0, genutil_1.quote)(line.key)}: $.LinkDesc<${line.staticType}, ${line.card}, {}, ${line.isExclusive.toString()}, ${line.writable.toString()}, ${line.hasDefault.toString()}>;`,
]);

@@ -155,3 +156,3 @@ }

body.writeln([
(0, builders_1.t) `}, ${line.isExclusive.toString()}, ${line.writable.toString()}>;`,
(0, builders_1.t) `}, ${line.isExclusive.toString()}, ${line.writable.toString()}, ${line.hasDefault.toString()}>;`,
]);

@@ -162,3 +163,3 @@ }

body.writeln([
(0, builders_1.t) `${(0, genutil_1.quote)(line.key)}: $.PropertyDesc<${line.staticType}, ${line.card}, ${line.isExclusive.toString()}, ${line.writable.toString()}>;`,
(0, builders_1.t) `${(0, genutil_1.quote)(line.key)}: $.PropertyDesc<${line.staticType}, ${line.card}, ${line.isExclusive.toString()}, ${line.writable.toString()}, ${line.hasDefault.toString()}>;`,
]);

@@ -165,0 +166,0 @@ }

@@ -12,2 +12,3 @@ import { Executor } from "../../ifaces";

is_writable: boolean;
has_default: boolean;
pointers: ReadonlyArray<Pointer> | null;

@@ -14,0 +15,0 @@ };

@@ -83,2 +83,3 @@ "use strict";

is_writable := len(.computed_fields) = 0 AND .readonly = false,
has_default := EXISTS .default,
[IS Link].pointers: {

@@ -85,0 +86,0 @@ real_cardinality := ("One" IF .required ELSE "AtMostOne") IF <str>.cardinality = "One" ELSE ("AtLeastOne" IF .required ELSE "Many"),

@@ -96,3 +96,3 @@ import type { Executor } from "../ifaces";

export declare type PropertyTypes = ScalarType | EnumType | ArrayType | TupleType | NamedTupleType;
export interface PropertyDesc<Type extends BaseType = BaseType, Card extends Cardinality = Cardinality, Exclusive extends boolean = boolean, Writable extends boolean = boolean> {
export interface PropertyDesc<Type extends BaseType = BaseType, Card extends Cardinality = Cardinality, Exclusive extends boolean = boolean, Writable extends boolean = boolean, HasDefault extends boolean = boolean> {
__kind__: "property";

@@ -103,2 +103,3 @@ target: Type;

writable: Writable;
hasDefault: HasDefault;
}

@@ -109,3 +110,3 @@ export declare type $scopify<Type extends ObjectType> = $expr_PathNode<TypeSet<Type, Cardinality.One>, null, true>;

};
export interface LinkDesc<Type extends ObjectType = any, Card extends Cardinality = Cardinality, LinkProps extends PropertyShape = any, Exclusive extends boolean = boolean, Writable extends boolean = boolean> {
export interface LinkDesc<Type extends ObjectType = any, Card extends Cardinality = Cardinality, LinkProps extends PropertyShape = any, Exclusive extends boolean = boolean, Writable extends boolean = boolean, HasDefault extends boolean = boolean> {
__kind__: "link";

@@ -117,2 +118,3 @@ target: Type;

writable: Writable;
hasDefault: HasDefault;
}

@@ -119,0 +121,0 @@ export declare type ObjectTypePointers = {

@@ -0,0 +0,0 @@ import {

@@ -106,12 +106,19 @@ "use strict";

}
let cardinality = funcDef.returnTypemod === "SetOfType"
? reflection_1.Cardinality.Many
: reflection_1.cardinalityUtil.multiplyCardinalitiesVariadic(paramCardinalities);
if (funcDef.returnTypemod === "OptionalType" &&
!funcDef.preservesOptionality) {
cardinality = reflection_1.cardinalityUtil.overrideLowerBound(cardinality, "Zero");
}
let cardinality;
if (funcName === "if_else") {
cardinality = reflection_1.cardinalityUtil.multiplyCardinalities(reflection_1.cardinalityUtil.orCardinalities(positionalArgs[0].__cardinality__, positionalArgs[2].__cardinality__), positionalArgs[1].__cardinality__);
}
else if (funcName === "std::assert_exists") {
cardinality = reflection_1.cardinalityUtil.overrideLowerBound(positionalArgs[0].__cardinality__, "One");
}
else {
cardinality =
funcDef.returnTypemod === "SetOfType"
? reflection_1.Cardinality.Many
: reflection_1.cardinalityUtil.multiplyCardinalitiesVariadic(paramCardinalities);
if (funcDef.returnTypemod === "OptionalType" &&
!funcDef.preservesOptionality) {
cardinality = reflection_1.cardinalityUtil.overrideLowerBound(cardinality, "Zero");
}
}
return {

@@ -118,0 +125,0 @@ kind: funcDef.kind,

@@ -196,14 +196,3 @@ import {

let cardinality =
funcDef.returnTypemod === "SetOfType"
? Cardinality.Many
: cardinalityUtil.multiplyCardinalitiesVariadic(paramCardinalities);
if (
funcDef.returnTypemod === "OptionalType" &&
!funcDef.preservesOptionality
) {
cardinality = cardinalityUtil.overrideLowerBound(cardinality, "Zero");
}
let cardinality: Cardinality;
if (funcName === "if_else") {

@@ -217,2 +206,19 @@ cardinality = cardinalityUtil.multiplyCardinalities(

);
} else if (funcName === "std::assert_exists") {
cardinality = cardinalityUtil.overrideLowerBound(
positionalArgs[0].__cardinality__,
"One"
);
} else {
cardinality =
funcDef.returnTypemod === "SetOfType"
? Cardinality.Many
: cardinalityUtil.multiplyCardinalitiesVariadic(paramCardinalities);
if (
funcDef.returnTypemod === "OptionalType" &&
!funcDef.preservesOptionality
) {
cardinality = cardinalityUtil.overrideLowerBound(cardinality, "Zero");
}
}

@@ -219,0 +225,0 @@

import { Cardinality, Expression, ExpressionKind, LinkDesc, ObjectTypeSet, ObjectTypePointers, PropertyDesc, stripBacklinks, stripNonWritables, typeutil, $scopify, stripSet, TypeSet, QueryableExpression } from "../reflection";
import type { pointerToAssignmentExpression } from "./casting";
import { $expr_PathNode } from "../reflection/path";
declare type pointerIsOptional<T extends PropertyDesc | LinkDesc> = T["cardinality"] extends Cardinality.Many | Cardinality.Empty | Cardinality.AtMostOne ? true : false;
export declare type pointerIsOptional<T extends PropertyDesc | LinkDesc> = T["cardinality"] extends Cardinality.Many | Cardinality.Empty | Cardinality.AtMostOne ? true : false;
export declare type InsertShape<Root extends ObjectTypeSet> = typeutil.stripNever<stripNonWritables<stripBacklinks<Root["__element__"]["__pointers__"]>>> extends infer Shape ? Shape extends ObjectTypePointers ? typeutil.addQuestionMarks<{
[k in keyof Shape]: pointerToAssignmentExpression<Shape[k]> | (pointerIsOptional<Shape[k]> extends true ? undefined : never);
[k in keyof Shape]: pointerToAssignmentExpression<Shape[k]> | (pointerIsOptional<Shape[k]> extends true ? undefined | null : never) | (Shape[k]["hasDefault"] extends true ? undefined : never);
}> : never : never;

@@ -53,5 +53,9 @@ interface UnlessConflict {

}, isUpdate?: boolean): {
[key: string]: TypeSet;
[key: string]: TypeSet | {
"+=": TypeSet;
} | {
"-=": TypeSet;
};
};
export declare function insert<Root extends $expr_PathNode>(root: Root, shape: InsertShape<Root>): $expr_Insert<Root>;
export {};

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

const path_1 = require("./path");
const set_1 = require("./set");
const query_1 = require("./query");

@@ -34,3 +35,4 @@ function unlessConflict(conflictGetter) {

let val = _val;
if (isUpdate && typeof _val === "object") {
let setModify = null;
if (isUpdate && _val != null && typeof _val === "object") {
const valKeys = Object.keys(_val);

@@ -40,5 +42,6 @@ if (valKeys.length === 1 &&

val = _val[valKeys[0]];
setModify = valKeys[0];
}
}
if (val === null || val === void 0 ? void 0 : val.__kind__) {
if ((val === null || val === void 0 ? void 0 : val.__kind__) || val === undefined) {
newShape[key] = _val;

@@ -48,6 +51,11 @@ }

const pointer = root.__element__.__pointers__[key];
if (!pointer || pointer.__kind__ !== "property") {
if (!pointer || (pointer.__kind__ !== "property" && val !== null)) {
throw new Error(`Could not find property pointer for ${isUpdate ? "update" : "insert"} shape key: '${key}'`);
}
newShape[key] = pointer.target(_val);
const wrappedVal = val === null
? (0, set_1.set)(pointer.target)
: pointer.target(val);
newShape[key] = setModify
? { [setModify]: wrappedVal }
: wrappedVal;
}

@@ -54,0 +62,0 @@ }

@@ -21,6 +21,7 @@ import {

import {$expressionify, $getScopedExpr} from "./path";
import {set} from "./set";
import {$queryify} from "./query";
import {$expr_PathNode} from "../reflection/path";
type pointerIsOptional<T extends PropertyDesc | LinkDesc> =
export type pointerIsOptional<T extends PropertyDesc | LinkDesc> =
T["cardinality"] extends

@@ -40,3 +41,6 @@ | Cardinality.Many

| pointerToAssignmentExpression<Shape[k]>
| (pointerIsOptional<Shape[k]> extends true ? undefined : never);
| (pointerIsOptional<Shape[k]> extends true
? undefined | null
: never)
| (Shape[k]["hasDefault"] extends true ? undefined : never);
}>

@@ -137,7 +141,10 @@ : never

isUpdate: boolean = false
): {[key: string]: TypeSet} {
const newShape: {[key: string]: TypeSet} = {};
): {[key: string]: TypeSet | {"+=": TypeSet} | {"-=": TypeSet}} {
const newShape: {
[key: string]: TypeSet | {"+=": TypeSet} | {"-=": TypeSet};
} = {};
for (const [key, _val] of Object.entries(shape)) {
let val = _val;
if (isUpdate && typeof _val === "object") {
let setModify: string | null = null;
if (isUpdate && _val != null && typeof _val === "object") {
const valKeys = Object.keys(_val);

@@ -149,9 +156,10 @@ if (

val = _val[valKeys[0]];
setModify = valKeys[0];
}
}
if (val?.__kind__) {
if (val?.__kind__ || val === undefined) {
newShape[key] = _val;
} else {
const pointer = root.__element__.__pointers__[key];
if (!pointer || pointer.__kind__ !== "property") {
if (!pointer || (pointer.__kind__ !== "property" && val !== null)) {
throw new Error(

@@ -163,5 +171,9 @@ `Could not find property pointer for ${

}
newShape[key] = (
pointer.target as scalarTypeWithConstructor<ScalarType>
)(_val);
const wrappedVal =
val === null
? set(pointer.target)
: (pointer.target as scalarTypeWithConstructor<ScalarType>)(val);
newShape[key] = setModify
? ({[setModify]: wrappedVal} as any)
: wrappedVal;
}

@@ -168,0 +180,0 @@ }

@@ -74,2 +74,3 @@ "use strict";

writable: false,
hasDefault: false,
};

@@ -76,0 +77,0 @@ }

@@ -127,2 +127,3 @@ import {

writable: false,
hasDefault: false,
};

@@ -129,0 +130,0 @@ }

@@ -1,10 +0,11 @@

import { QueryableExpression, ExpressionKind, ObjectTypePointers, TypeSet, ObjectTypeSet, stripBacklinks, stripNonWritables, typeutil, ObjectTypeExpression, $scopify } from "../reflection";
import { QueryableExpression, ExpressionKind, ObjectTypePointers, TypeSet, ObjectTypeSet, stripBacklinks, stripNonWritables, typeutil, ObjectTypeExpression, $scopify, Cardinality } from "../reflection";
import type { pointerToAssignmentExpression } from "./casting";
import { SelectModifiers, NormalisedSelectModifiers, ComputeSelectCardinality } from "./select";
import { pointerIsOptional } from "./insert";
export declare type UpdateShape<Root extends ObjectTypeSet> = typeutil.stripNever<stripNonWritables<stripBacklinks<Root["__element__"]["__pointers__"]>>> extends infer Shape ? Shape extends ObjectTypePointers ? {
[k in keyof Shape]?: pointerToAssignmentExpression<Shape[k]> extends infer S ? S | {
[k in keyof Shape]?: (pointerToAssignmentExpression<Shape[k]> extends infer S ? S | (Shape[k]["cardinality"] extends Cardinality.Many | Cardinality.AtLeastOne ? {
"+=": S;
} | {
"-=": S;
} : never;
} : never) : never) | (pointerIsOptional<Shape[k]> extends true ? undefined | null : never);
} : never : never;

@@ -11,0 +12,0 @@ export declare type $expr_Update<Set extends TypeSet = TypeSet, Expr extends ObjectTypeSet = ObjectTypeSet, Shape extends UpdateShape<Expr> = any> = QueryableExpression<{

@@ -12,2 +12,3 @@ import {

$scopify,
Cardinality,
} from "../reflection";

@@ -23,3 +24,3 @@ import type {pointerToAssignmentExpression} from "./casting";

} from "./select";
import {$normaliseInsertShape} from "./insert";
import {$normaliseInsertShape, pointerIsOptional} from "./insert";
import {$queryify} from "./query";

@@ -36,7 +37,15 @@

? {
[k in keyof Shape]?: pointerToAssignmentExpression<
Shape[k]
> extends infer S
? S | {"+=": S} | {"-=": S}
: never;
[k in keyof Shape]?:
| (pointerToAssignmentExpression<Shape[k]> extends infer S
?
| S
| (Shape[k]["cardinality"] extends
| Cardinality.Many
| Cardinality.AtLeastOne
? {"+=": S} | {"-=": S}
: never)
: never)
| (pointerIsOptional<Shape[k]> extends true
? undefined | null
: never);
}

@@ -43,0 +52,0 @@ : never

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

},
"version": "0.18.0-alpha.6",
"version": "0.18.0-alpha.7",
"main": "./dist/index.node.js",

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

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