You're Invited:Meet the Socket Team at BlackHat and DEF CON in Las Vegas, Aug 4-6.RSVP
Socket
Book a DemoInstallSign in
Socket

@zenstackhq/sdk

Package Overview
Dependencies
Maintainers
2
Versions
254
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@zenstackhq/sdk - npm Package Compare versions

Comparing version

to
3.0.0-alpha.13

54

dist/index.d.ts
import * as _zenstackhq_language_ast from '@zenstackhq/language/ast';
import { DataModelField, DataModel, TypeDef, Enum, EnumField, FunctionDecl, Attribute, AttributeParam, TypeDefField, DataModelFieldAttribute, DataModelAttribute, AstNode, Model, Reference, InvocationExpr } from '@zenstackhq/language/ast';
import { DataField, DataModel, TypeDef, Enum, EnumField, FunctionDecl, Attribute, AttributeParam, DataFieldAttribute, DataModelAttribute, AstNode, Model, Reference, InvocationExpr } from '@zenstackhq/language/ast';
import { AttributeTarget } from '@zenstackhq/language/utils';
import { MaybePromise } from 'langium';
declare function isIdField(field: DataModelField): boolean;
declare function hasAttribute(decl: DataModel | TypeDef | DataModelField | Enum | EnumField | FunctionDecl | Attribute | AttributeParam, name: string): boolean;
declare function getAttribute(decl: DataModel | TypeDef | DataModelField | TypeDefField | Enum | EnumField | FunctionDecl | Attribute | AttributeParam, name: string): DataModelFieldAttribute | DataModelAttribute | undefined;
/**
* Gets `@@id` fields declared at the data model level (including search in base models)
*/
declare function getModelIdFields(model: DataModel): DataModelField[];
/**
* Gets `@@unique` fields declared at the data model level (including search in base models)
*/
declare function getModelUniqueFields(model: DataModel): DataModelField[];
declare function getRecursiveBases(dataModel: DataModel, includeDelegate?: boolean, seen?: Set<DataModel>): DataModel[];
declare function isIdField(field: DataField, contextModel: DataModel): boolean;
declare function hasAttribute(decl: DataModel | TypeDef | DataField | Enum | EnumField | FunctionDecl | Attribute | AttributeParam, name: string): boolean;
declare function getAttribute(decl: AttributeTarget, name: string): DataFieldAttribute | DataModelAttribute | undefined;
declare function isDelegateModel(node: AstNode): boolean;
declare function isUniqueField(field: DataModelField): boolean;
declare function isUniqueField(field: DataField): boolean;
declare function isFromStdlib(node: AstNode): boolean;

@@ -23,9 +15,13 @@ declare function getContainingModel(node: AstNode | undefined): Model | null;

declare function getAuthDecl(model: Model): _zenstackhq_language_ast.AbstractDeclaration | undefined;
declare function getIdFields(dm: DataModel): string[];
/**
* Prefix for auxiliary relation fields generated for delegated models
*/
declare const DELEGATE_AUX_RELATION_PREFIX = "delegate_aux";
declare const modelUtils_DELEGATE_AUX_RELATION_PREFIX: typeof DELEGATE_AUX_RELATION_PREFIX;
declare const modelUtils_getAttribute: typeof getAttribute;
declare const modelUtils_getAuthDecl: typeof getAuthDecl;
declare const modelUtils_getContainingModel: typeof getContainingModel;
declare const modelUtils_getModelIdFields: typeof getModelIdFields;
declare const modelUtils_getModelUniqueFields: typeof getModelUniqueFields;
declare const modelUtils_getRecursiveBases: typeof getRecursiveBases;
declare const modelUtils_getIdFields: typeof getIdFields;
declare const modelUtils_hasAttribute: typeof hasAttribute;

@@ -38,3 +34,3 @@ declare const modelUtils_isDelegateModel: typeof isDelegateModel;

declare namespace modelUtils {
export { modelUtils_getAttribute as getAttribute, modelUtils_getAuthDecl as getAuthDecl, modelUtils_getContainingModel as getContainingModel, modelUtils_getModelIdFields as getModelIdFields, modelUtils_getModelUniqueFields as getModelUniqueFields, modelUtils_getRecursiveBases as getRecursiveBases, modelUtils_hasAttribute as hasAttribute, modelUtils_isDelegateModel as isDelegateModel, modelUtils_isFromStdlib as isFromStdlib, modelUtils_isIdField as isIdField, modelUtils_isUniqueField as isUniqueField, modelUtils_resolved as resolved };
export { modelUtils_DELEGATE_AUX_RELATION_PREFIX as DELEGATE_AUX_RELATION_PREFIX, modelUtils_getAttribute as getAttribute, modelUtils_getAuthDecl as getAuthDecl, modelUtils_getContainingModel as getContainingModel, modelUtils_getIdFields as getIdFields, modelUtils_hasAttribute as hasAttribute, modelUtils_isDelegateModel as isDelegateModel, modelUtils_isFromStdlib as isFromStdlib, modelUtils_isIdField as isIdField, modelUtils_isUniqueField as isUniqueField, modelUtils_resolved as resolved };
}

@@ -67,2 +63,3 @@

private readonly PRELUDE;
private shortNameMap;
constructor(zmodel: Model);

@@ -83,3 +80,2 @@ generate(): Promise<string>;

private isFromPlugin;
private setDummyDefault;
private isInheritedFromDelegate;

@@ -94,2 +90,6 @@ private makeFieldAttribute;

private generateEnumField;
private generateDelegateRelationForBase;
private generateDelegateRelationForConcrete;
private getConcreteModels;
private truncate;
}

@@ -104,6 +104,10 @@

private createModelsObject;
private createTypeDefsObject;
private createDataModelObject;
private getSubModels;
private createTypeDefObject;
private createComputedFieldsObject;
private mapFieldTypeToTSType;
private createDataModelFieldObject;
private createDataFieldObject;
private isDiscriminatorField;
private getDataSourceProvider;

@@ -120,3 +124,2 @@ private getFieldMappedDefault;

private getRelationName;
private getIdFields;
private createUniqueFieldsObject;

@@ -142,4 +145,4 @@ private generateFieldTypeLiteral;

private createLiteralExpression;
private generateModels;
private generateSchemaTypeImport;
private generateModelsAndTypeDefs;
private generateSchemaImport;
private generateDocs;

@@ -179,6 +182,6 @@ private generateInputTypes;

private _generateDataModel;
private _generateDataModelField;
private _generateDataField;
private fieldType;
private _generateDataModelAttribute;
private _generateDataModelFieldAttribute;
private _generateDataFieldAttribute;
private attribute;

@@ -207,3 +210,2 @@ private _generateAttributeArg;

private _generateTypeDef;
private _generateTypeDefField;
private argument;

@@ -210,0 +212,0 @@ private get binaryExprSpace();

@@ -55,2 +55,3 @@ import Decimal from 'decimal.js';

enums?: Record<string, EnumDef>;
typeDefs?: Record<string, TypeDefDef>;
plugins: Record<string, unknown>;

@@ -61,2 +62,4 @@ procedures?: Record<string, ProcedureDef>;

type ModelDef = {
name: string;
baseModel?: string;
fields: Record<string, FieldDef>;

@@ -67,2 +70,4 @@ attributes?: AttributeApplication[];

computedFields?: Record<string, Function>;
isDelegate?: boolean;
subModels?: string[];
};

@@ -87,2 +92,3 @@ type AttributeApplication = {

type FieldDef = {
name: string;
type: string;

@@ -99,2 +105,4 @@ id?: boolean;

computed?: boolean;
originModel?: string;
isDiscriminator?: boolean;
};

@@ -114,30 +122,50 @@ type ProcedureParam = {

type EnumDef = Record<string, string>;
type TypeDefDef = {
name: string;
fields: Record<string, FieldDef>;
attributes?: AttributeApplication[];
};
type GetModels<Schema extends SchemaDef> = Extract<keyof Schema['models'], string>;
type GetDelegateModels<Schema extends SchemaDef> = keyof {
[Key in GetModels<Schema> as Schema['models'][Key]['isDelegate'] extends true ? Key : never]: true;
};
type GetSubModels<Schema extends SchemaDef, Model extends GetModels<Schema>> = GetModel<Schema, Model>['subModels'] extends string[] ? Extract<GetModel<Schema, Model>['subModels'][number], GetModels<Schema>> : never;
type GetModel<Schema extends SchemaDef, Model extends GetModels<Schema>> = Schema['models'][Model];
type GetEnums<Schema extends SchemaDef> = keyof Schema['enums'];
type GetEnum<Schema extends SchemaDef, Enum extends GetEnums<Schema>> = Schema['enums'][Enum];
type GetFields<Schema extends SchemaDef, Model extends GetModels<Schema>> = Extract<keyof GetModel<Schema, Model>['fields'], string>;
type GetField<Schema extends SchemaDef, Model extends GetModels<Schema>, Field extends GetFields<Schema, Model>> = Schema['models'][Model]['fields'][Field];
type GetFieldType<Schema extends SchemaDef, Model extends GetModels<Schema>, Field extends GetFields<Schema, Model>> = Schema['models'][Model]['fields'][Field]['type'];
type GetTypeDefs<Schema extends SchemaDef> = Extract<keyof Schema['typeDefs'], string>;
type GetTypeDef<Schema extends SchemaDef, TypeDef extends GetTypeDefs<Schema>> = Schema['typeDefs'] extends Record<string, unknown> ? Schema['typeDefs'][TypeDef] : never;
type GetModelFields<Schema extends SchemaDef, Model extends GetModels<Schema>> = Extract<keyof GetModel<Schema, Model>['fields'], string>;
type GetModelField<Schema extends SchemaDef, Model extends GetModels<Schema>, Field extends GetModelFields<Schema, Model>> = GetModel<Schema, Model>['fields'][Field];
type GetModelDiscriminator<Schema extends SchemaDef, Model extends GetModels<Schema>> = keyof {
[Key in GetModelFields<Schema, Model> as FieldIsDelegateDiscriminator<Schema, Model, Key> extends true ? GetModelField<Schema, Model, Key>['originModel'] extends string ? never : Key : never]: true;
};
type GetModelFieldType<Schema extends SchemaDef, Model extends GetModels<Schema>, Field extends GetModelFields<Schema, Model>> = Schema['models'][Model]['fields'][Field]['type'];
type GetTypeDefFields<Schema extends SchemaDef, TypeDef extends GetTypeDefs<Schema>> = Extract<keyof GetTypeDef<Schema, TypeDef>['fields'], string>;
type GetTypeDefField<Schema extends SchemaDef, TypeDef extends GetTypeDefs<Schema>, Field extends GetTypeDefFields<Schema, TypeDef>> = GetTypeDef<Schema, TypeDef>['fields'][Field];
type ScalarFields<Schema extends SchemaDef, Model extends GetModels<Schema>, IncludeComputed extends boolean = true> = keyof {
[Key in GetFields<Schema, Model> as GetField<Schema, Model, Key>['relation'] extends object ? never : GetField<Schema, Model, Key>['foreignKeyFor'] extends string[] ? never : IncludeComputed extends true ? Key : FieldIsComputed<Schema, Model, Key> extends true ? never : Key]: Key;
[Key in GetModelFields<Schema, Model> as GetModelField<Schema, Model, Key>['relation'] extends object ? never : GetModelField<Schema, Model, Key>['foreignKeyFor'] extends string[] ? never : IncludeComputed extends true ? Key : FieldIsComputed<Schema, Model, Key> extends true ? never : Key]: Key;
};
type ForeignKeyFields<Schema extends SchemaDef, Model extends GetModels<Schema>> = keyof {
[Key in GetFields<Schema, Model> as GetField<Schema, Model, Key>['foreignKeyFor'] extends string[] ? Key : never]: Key;
[Key in GetModelFields<Schema, Model> as GetModelField<Schema, Model, Key>['foreignKeyFor'] extends string[] ? Key : never]: Key;
};
type NonRelationFields<Schema extends SchemaDef, Model extends GetModels<Schema>> = keyof {
[Key in GetFields<Schema, Model> as GetField<Schema, Model, Key>['relation'] extends object ? never : Key]: Key;
[Key in GetModelFields<Schema, Model> as GetModelField<Schema, Model, Key>['relation'] extends object ? never : Key]: Key;
};
type RelationFields<Schema extends SchemaDef, Model extends GetModels<Schema>> = keyof {
[Key in GetFields<Schema, Model> as GetField<Schema, Model, Key>['relation'] extends object ? Key : never]: Key;
[Key in GetModelFields<Schema, Model> as GetModelField<Schema, Model, Key>['relation'] extends object ? Key : never]: Key;
};
type FieldType<Schema extends SchemaDef, Model extends GetModels<Schema>, Field extends GetFields<Schema, Model>> = GetField<Schema, Model, Field>['type'];
type RelationFieldType<Schema extends SchemaDef, Model extends GetModels<Schema>, Field extends RelationFields<Schema, Model>> = GetField<Schema, Model, Field>['type'] extends GetModels<Schema> ? GetField<Schema, Model, Field>['type'] : never;
type FieldIsOptional<Schema extends SchemaDef, Model extends GetModels<Schema>, Field extends GetFields<Schema, Model>> = GetField<Schema, Model, Field>['optional'] extends true ? true : false;
type FieldIsRelation<Schema extends SchemaDef, Model extends GetModels<Schema>, Field extends GetFields<Schema, Model>> = GetField<Schema, Model, Field>['relation'] extends object ? true : false;
type FieldIsArray<Schema extends SchemaDef, Model extends GetModels<Schema>, Field extends GetFields<Schema, Model>> = GetField<Schema, Model, Field>['array'] extends true ? true : false;
type FieldIsComputed<Schema extends SchemaDef, Model extends GetModels<Schema>, Field extends GetFields<Schema, Model>> = GetField<Schema, Model, Field>['computed'] extends true ? true : false;
type FieldHasDefault<Schema extends SchemaDef, Model extends GetModels<Schema>, Field extends GetFields<Schema, Model>> = GetField<Schema, Model, Field>['default'] extends object | number | string | boolean ? true : GetField<Schema, Model, Field>['updatedAt'] extends true ? true : false;
type FieldIsRelationArray<Schema extends SchemaDef, Model extends GetModels<Schema>, Field extends GetFields<Schema, Model>> = FieldIsRelation<Schema, Model, Field> extends true ? FieldIsArray<Schema, Model, Field> : false;
type FieldType<Schema extends SchemaDef, Model extends GetModels<Schema>, Field extends GetModelFields<Schema, Model>> = GetModelField<Schema, Model, Field>['type'];
type RelationFieldType<Schema extends SchemaDef, Model extends GetModels<Schema>, Field extends RelationFields<Schema, Model>> = GetModelField<Schema, Model, Field>['type'] extends GetModels<Schema> ? GetModelField<Schema, Model, Field>['type'] : never;
type ModelFieldIsOptional<Schema extends SchemaDef, Model extends GetModels<Schema>, Field extends GetModelFields<Schema, Model>> = GetModelField<Schema, Model, Field>['optional'] extends true ? true : false;
type TypeDefFieldIsOptional<Schema extends SchemaDef, TypeDef extends GetTypeDefs<Schema>, Field extends GetTypeDefFields<Schema, TypeDef>> = GetTypeDefField<Schema, TypeDef, Field>['optional'] extends true ? true : false;
type FieldIsRelation<Schema extends SchemaDef, Model extends GetModels<Schema>, Field extends GetModelFields<Schema, Model>> = GetModelField<Schema, Model, Field>['relation'] extends object ? true : false;
type FieldIsArray<Schema extends SchemaDef, Model extends GetModels<Schema>, Field extends GetModelFields<Schema, Model>> = GetModelField<Schema, Model, Field>['array'] extends true ? true : false;
type FieldIsComputed<Schema extends SchemaDef, Model extends GetModels<Schema>, Field extends GetModelFields<Schema, Model>> = GetModelField<Schema, Model, Field>['computed'] extends true ? true : false;
type FieldHasDefault<Schema extends SchemaDef, Model extends GetModels<Schema>, Field extends GetModelFields<Schema, Model>> = GetModelField<Schema, Model, Field>['default'] extends object | number | string | boolean ? true : GetModelField<Schema, Model, Field>['updatedAt'] extends true ? true : false;
type FieldIsRelationArray<Schema extends SchemaDef, Model extends GetModels<Schema>, Field extends GetModelFields<Schema, Model>> = FieldIsRelation<Schema, Model, Field> extends true ? FieldIsArray<Schema, Model, Field> : false;
type IsDelegateModel<Schema extends SchemaDef, Model extends GetModels<Schema>> = Schema['models'][Model]['isDelegate'] extends true ? true : false;
type FieldIsDelegateRelation<Schema extends SchemaDef, Model extends GetModels<Schema>, Field extends RelationFields<Schema, Model>> = GetModelFieldType<Schema, Model, Field> extends GetModels<Schema> ? IsDelegateModel<Schema, GetModelFieldType<Schema, Model, Field>> : false;
type FieldIsDelegateDiscriminator<Schema extends SchemaDef, Model extends GetModels<Schema>, Field extends GetModelFields<Schema, Model>> = GetModelField<Schema, Model, Field>['isDiscriminator'] extends true ? true : false;
export type { ArrayExpression, AttributeApplication, AttributeArg, BinaryExpression, BinaryOperator, BuiltinType, CallExpression, CascadeAction, DataSourceProvider, DataSourceProviderType, EnumDef, Expression, FieldDef, FieldExpression, FieldHasDefault, FieldIsArray, FieldIsComputed, FieldIsOptional, FieldIsRelation, FieldIsRelationArray, FieldType, ForeignKeyFields, GetEnum, GetEnums, GetField, GetFieldType, GetFields, GetModel, GetModels, LiteralExpression, MappedBuiltinType, MemberExpression, ModelDef, NonRelationFields, NullExpression, ProcedureDef, ProcedureParam, RelationFieldType, RelationFields, RelationInfo, ScalarFields, SchemaDef, ThisExpression, UnaryExpression, UnaryOperator };
export type { ArrayExpression, AttributeApplication, AttributeArg, BinaryExpression, BinaryOperator, BuiltinType, CallExpression, CascadeAction, DataSourceProvider, DataSourceProviderType, EnumDef, Expression, FieldDef, FieldExpression, FieldHasDefault, FieldIsArray, FieldIsComputed, FieldIsDelegateDiscriminator, FieldIsDelegateRelation, FieldIsRelation, FieldIsRelationArray, FieldType, ForeignKeyFields, GetDelegateModels, GetEnum, GetEnums, GetModel, GetModelDiscriminator, GetModelField, GetModelFieldType, GetModelFields, GetModels, GetSubModels, GetTypeDef, GetTypeDefField, GetTypeDefFields, GetTypeDefs, IsDelegateModel, LiteralExpression, MappedBuiltinType, MemberExpression, ModelDef, ModelFieldIsOptional, NonRelationFields, NullExpression, ProcedureDef, ProcedureParam, RelationFieldType, RelationFields, RelationInfo, ScalarFields, SchemaDef, ThisExpression, TypeDefDef, TypeDefFieldIsOptional, UnaryExpression, UnaryOperator };
{
"name": "@zenstackhq/sdk",
"version": "3.0.0-alpha.12",
"version": "3.0.0-alpha.13",
"description": "ZenStack SDK",

@@ -38,4 +38,4 @@ "type": "module",

"typescript": "^5.0.0",
"@zenstackhq/common-helpers": "3.0.0-alpha.12",
"@zenstackhq/language": "3.0.0-alpha.12"
"@zenstackhq/language": "3.0.0-alpha.13",
"@zenstackhq/common-helpers": "3.0.0-alpha.13"
},

@@ -45,4 +45,4 @@ "devDependencies": {

"kysely": "^0.27.6",
"@zenstackhq/eslint-config": "3.0.0-alpha.12",
"@zenstackhq/typescript-config": "3.0.0-alpha.12"
"@zenstackhq/eslint-config": "3.0.0-alpha.13",
"@zenstackhq/typescript-config": "3.0.0-alpha.13"
},

@@ -49,0 +49,0 @@ "scripts": {

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 too big to display

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

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.