Socket
Socket
Sign inDemoInstall

@aws-amplify/graphql-relational-transformer

Package Overview
Dependencies
Maintainers
10
Versions
411
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@aws-amplify/graphql-relational-transformer - npm Package Compare versions

Comparing version 2.4.2 to 2.5.0-gen2-release.0

lib/belongs-to/belongs-to-directive-ddb-references-transformer.d.ts

6

CHANGELOG.md

@@ -6,2 +6,8 @@ # Change Log

# [2.5.0-gen2-release.0](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-relational-transformer@2.4.2-gen2-release.1...@aws-amplify/graphql-relational-transformer@2.5.0-gen2-release.0) (2024-03-29)
### Features
- **graphql-relational-transformer:** DDB references relational directives support (tagged-release.0) ([#2370](https://github.com/aws-amplify/amplify-category-api/issues/2370)) ([bdaaabf](https://github.com/aws-amplify/amplify-category-api/commit/bdaaabfb76d23b2331613c413b9760a01f9e1d8a))
## [2.4.2](https://github.com/aws-amplify/amplify-category-api/compare/@aws-amplify/graphql-relational-transformer@2.4.1...@aws-amplify/graphql-relational-transformer@2.4.2) (2024-03-28)

@@ -8,0 +14,0 @@

7

lib/belongs-to/belongs-to-directive-ddb-fields-transformer.d.ts
import { TransformerContextProvider, TransformerPrepareStepContextProvider, TransformerTransformSchemaStepContextProvider } from '@aws-amplify/graphql-transformer-interfaces';
import { DataSourceBasedDirectiveTransformer } from '../data-source-based-directive-transformer';
import { BelongsToDirectiveConfiguration } from '../types';
import { DataSourceBasedDirectiveTransformer } from '../data-source-based-directive-transformer';
export declare class BelongsToDirectiveDDBFieldsTransformer implements DataSourceBasedDirectiveTransformer<BelongsToDirectiveConfiguration> {
dbType: 'DYNAMODB';
constructor(dbType: 'DYNAMODB');
dbType: import("@aws-amplify/graphql-transformer-interfaces").ModelDataSourceStrategyDbType;
prepare: (context: TransformerPrepareStepContextProvider, config: BelongsToDirectiveConfiguration) => void;
transformSchema: (context: TransformerTransformSchemaStepContextProvider, config: BelongsToDirectiveConfiguration) => void;
generateResolvers: (_context: TransformerContextProvider, _config: BelongsToDirectiveConfiguration) => void;
generateResolvers: (context: TransformerContextProvider, config: BelongsToDirectiveConfiguration) => void;
validate: (context: TransformerContextProvider, config: BelongsToDirectiveConfiguration) => void;
}
//# sourceMappingURL=belongs-to-directive-ddb-fields-transformer.d.ts.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.BelongsToDirectiveDDBFieldsTransformer = void 0;
const graphql_transformer_core_1 = require("@aws-amplify/graphql-transformer-core");
const generator_factory_1 = require("../resolver/generator-factory");
const utils_1 = require("../utils");
class BelongsToDirectiveDDBFieldsTransformer {
constructor(dbType) {
constructor() {
this.dbType = graphql_transformer_core_1.DDB_DB_TYPE;
this.prepare = (context, config) => {

@@ -23,4 +26,5 @@ if (config.relationType !== 'hasOne') {

};
this.generateResolvers = (_context, _config) => {
return;
this.generateResolvers = (context, config) => {
const generator = (0, generator_factory_1.getGenerator)(this.dbType);
generator.makeBelongsToGetItemConnectionWithKeyResolver(config, context);
};

@@ -31,3 +35,2 @@ this.validate = (context, config) => {

};
this.dbType = dbType;
}

@@ -34,0 +37,0 @@ }

@@ -1,12 +0,11 @@

import { ModelDataSourceStrategySqlDbType, TransformerContextProvider, TransformerPrepareStepContextProvider, TransformerTransformSchemaStepContextProvider } from '@aws-amplify/graphql-transformer-interfaces';
import { TransformerContextProvider, TransformerPrepareStepContextProvider, TransformerTransformSchemaStepContextProvider } from '@aws-amplify/graphql-transformer-interfaces';
import { DataSourceBasedDirectiveTransformer } from '../data-source-based-directive-transformer';
import { BelongsToDirectiveConfiguration } from '../types';
import { DataSourceBasedDirectiveTransformer } from '../data-source-based-directive-transformer';
export declare class BelongsToDirectiveSQLTransformer implements DataSourceBasedDirectiveTransformer<BelongsToDirectiveConfiguration> {
dbType: ModelDataSourceStrategySqlDbType;
constructor(dbType: ModelDataSourceStrategySqlDbType);
dbType: import("@aws-amplify/graphql-transformer-interfaces").ModelDataSourceStrategySqlDbType;
prepare: (context: TransformerPrepareStepContextProvider, config: BelongsToDirectiveConfiguration) => void;
transformSchema: (context: TransformerTransformSchemaStepContextProvider, config: BelongsToDirectiveConfiguration) => void;
generateResolvers: (_context: TransformerContextProvider, _config: BelongsToDirectiveConfiguration) => void;
generateResolvers: (context: TransformerContextProvider, config: BelongsToDirectiveConfiguration) => void;
validate: (context: TransformerContextProvider, config: BelongsToDirectiveConfiguration) => void;
}
//# sourceMappingURL=belongs-to-directive-sql-transformer.d.ts.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.BelongsToDirectiveSQLTransformer = void 0;
const graphql_transformer_core_1 = require("@aws-amplify/graphql-transformer-core");
const generator_factory_1 = require("../resolver/generator-factory");
const resolvers_1 = require("../resolvers");
const utils_1 = require("../utils");
class BelongsToDirectiveSQLTransformer {
constructor(dbType) {
constructor() {
this.dbType = graphql_transformer_core_1.POSTGRES_DB_TYPE || graphql_transformer_core_1.MYSQL_DB_TYPE;
this.prepare = (context, config) => {

@@ -16,10 +19,10 @@ var _a, _b;

};
this.generateResolvers = (_context, _config) => {
return;
this.generateResolvers = (context, config) => {
const generator = (0, generator_factory_1.getGenerator)(this.dbType);
generator.makeBelongsToGetItemConnectionWithKeyResolver(config, context);
};
this.validate = (context, config) => {
(0, utils_1.ensureReferencesArray)(config);
(0, utils_1.getBelongsToReferencesNodes)(config, context);
config.referenceNodes = (0, utils_1.getBelongsToReferencesNodes)(config, context);
};
this.dbType = dbType;
}

@@ -26,0 +29,0 @@ }

import { ModelDataSourceStrategyDbType } from '@aws-amplify/graphql-transformer-interfaces';
import { BelongsToDirectiveConfiguration } from '../types';
import { DataSourceBasedDirectiveTransformer } from '../data-source-based-directive-transformer';
export declare const getBelongsToDirectiveTransformer: (dbType: ModelDataSourceStrategyDbType) => DataSourceBasedDirectiveTransformer<BelongsToDirectiveConfiguration>;
export declare const getBelongsToDirectiveTransformer: (dbType: ModelDataSourceStrategyDbType, config: BelongsToDirectiveConfiguration) => DataSourceBasedDirectiveTransformer<BelongsToDirectiveConfiguration>;
//# sourceMappingURL=belongs-to-directive-transformer-factory.d.ts.map

@@ -6,9 +6,24 @@ "use strict";

const belongs_to_directive_ddb_fields_transformer_1 = require("./belongs-to-directive-ddb-fields-transformer");
const getBelongsToDirectiveTransformer = (dbType) => {
const belongs_to_directive_ddb_references_transformer_1 = require("./belongs-to-directive-ddb-references-transformer");
const belongsToDirectiveMySqlTransformer = new belongs_to_directive_sql_transformer_1.BelongsToDirectiveSQLTransformer();
const belongsToDirectivePostgresTransformer = new belongs_to_directive_sql_transformer_1.BelongsToDirectiveSQLTransformer();
const belongsToDirectiveDdbFieldsTransformer = new belongs_to_directive_ddb_fields_transformer_1.BelongsToDirectiveDDBFieldsTransformer();
const belongsToDirectiveDdbReferencesTransformer = new belongs_to_directive_ddb_references_transformer_1.BelongsToDirectiveDDBReferencesTransformer();
const getBelongsToDirectiveTransformer = (dbType, config) => {
switch (dbType) {
case 'MYSQL':
return belongsToDirectiveMySqlTransformer;
case 'POSTGRES':
return new belongs_to_directive_sql_transformer_1.BelongsToDirectiveSQLTransformer(dbType);
return belongsToDirectivePostgresTransformer;
case 'DYNAMODB':
return new belongs_to_directive_ddb_fields_transformer_1.BelongsToDirectiveDDBFieldsTransformer(dbType);
if (config.references) {
if (config.fields) {
throw new Error('Something went wrong >> cannot have both references and fields.');
}
if (config.references.length < 1) {
throw new Error(`Invalid @belongsTo directive on ${config.field.name.value} - empty references list`);
}
return belongsToDirectiveDdbReferencesTransformer;
}
return belongsToDirectiveDdbFieldsTransformer;
}

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

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

const utils_1 = require("./utils");
const generator_factory_1 = require("./resolver/generator-factory");
const belongs_to_directive_transformer_factory_1 = require("./belongs-to/belongs-to-directive-transformer-factory");

@@ -65,3 +64,3 @@ class BelongsToTransformer extends graphql_transformer_core_1.TransformerPluginBase {

const dbType = (0, graphql_transformer_core_1.getStrategyDbTypeFromModel)(context, modelName);
const dataSourceBasedTransformer = (0, belongs_to_directive_transformer_factory_1.getBelongsToDirectiveTransformer)(dbType);
const dataSourceBasedTransformer = (0, belongs_to_directive_transformer_factory_1.getBelongsToDirectiveTransformer)(dbType, config);
dataSourceBasedTransformer.prepare(context, config);

@@ -74,3 +73,3 @@ });

const dbType = (0, graphql_transformer_core_1.getStrategyDbTypeFromTypeNode)(config.field.type, context);
const dataSourceBasedTransformer = (0, belongs_to_directive_transformer_factory_1.getBelongsToDirectiveTransformer)(dbType);
const dataSourceBasedTransformer = (0, belongs_to_directive_transformer_factory_1.getBelongsToDirectiveTransformer)(dbType, config);
dataSourceBasedTransformer.transformSchema(ctx, config);

@@ -84,4 +83,4 @@ (0, schema_1.ensureBelongsToConnectionField)(config, context);

const dbType = (0, graphql_transformer_core_1.getStrategyDbTypeFromTypeNode)(config.field.type, context);
const generator = (0, generator_factory_1.getGenerator)(dbType);
generator.makeBelongsToGetItemConnectionWithKeyResolver(config, context);
const dataSourceBasedTransformer = (0, belongs_to_directive_transformer_factory_1.getBelongsToDirectiveTransformer)(dbType, config);
dataSourceBasedTransformer.generateResolvers(ctx, config);
}

@@ -103,3 +102,3 @@ };

config.relatedType = (0, utils_1.getRelatedType)(config, ctx);
const dataSourceBasedTransformer = (0, belongs_to_directive_transformer_factory_1.getBelongsToDirectiveTransformer)(dbType);
const dataSourceBasedTransformer = (0, belongs_to_directive_transformer_factory_1.getBelongsToDirectiveTransformer)(dbType, config);
dataSourceBasedTransformer.validate(ctx, config);

@@ -106,0 +105,0 @@ (0, utils_1.validateModelDirective)(config);

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

const utils_1 = require("./utils");
const generator_factory_1 = require("./resolver/generator-factory");
const has_many_directive_transformer_factory_1 = require("./has-many/has-many-directive-transformer-factory");

@@ -63,3 +62,3 @@ class HasManyTransformer extends graphql_transformer_core_1.TransformerPluginBase {

const dbType = (0, graphql_transformer_core_1.getStrategyDbTypeFromModel)(context, modelName);
const dataSourceBasedTransformer = (0, has_many_directive_transformer_factory_1.getHasManyDirectiveTransformer)(dbType);
const dataSourceBasedTransformer = (0, has_many_directive_transformer_factory_1.getHasManyDirectiveTransformer)(dbType, config);
dataSourceBasedTransformer.prepare(context, config);

@@ -72,3 +71,3 @@ });

const dbType = (0, graphql_transformer_core_1.getStrategyDbTypeFromTypeNode)(config.field.type, context);
const dataSourceBasedTransformer = (0, has_many_directive_transformer_factory_1.getHasManyDirectiveTransformer)(dbType);
const dataSourceBasedTransformer = (0, has_many_directive_transformer_factory_1.getHasManyDirectiveTransformer)(dbType, config);
dataSourceBasedTransformer.transformSchema(ctx, config);

@@ -83,6 +82,4 @@ (0, schema_1.ensureHasManyConnectionField)(config, context);

const dbType = (0, graphql_transformer_core_1.getStrategyDbTypeFromTypeNode)(config.field.type, context);
const dataSourceBasedTransformer = (0, has_many_directive_transformer_factory_1.getHasManyDirectiveTransformer)(dbType);
const dataSourceBasedTransformer = (0, has_many_directive_transformer_factory_1.getHasManyDirectiveTransformer)(dbType, config);
dataSourceBasedTransformer.generateResolvers(ctx, config);
const generator = (0, generator_factory_1.getGenerator)(dbType);
generator.makeHasManyGetItemsConnectionWithKeyResolver(config, context);
}

@@ -97,3 +94,3 @@ };

config.relatedType = (0, utils_1.getRelatedType)(config, ctx);
const dataSourceBasedTransformer = (0, has_many_directive_transformer_factory_1.getHasManyDirectiveTransformer)(dbType);
const dataSourceBasedTransformer = (0, has_many_directive_transformer_factory_1.getHasManyDirectiveTransformer)(dbType, config);
dataSourceBasedTransformer.validate(ctx, config);

@@ -100,0 +97,0 @@ (0, utils_1.validateModelDirective)(config);

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

const utils_1 = require("./utils");
const generator_factory_1 = require("./resolver/generator-factory");
const has_one_directive_transformer_factory_1 = require("./has-one/has-one-directive-transformer-factory");

@@ -76,3 +75,3 @@ class HasOneTransformer extends graphql_transformer_core_1.TransformerPluginBase {

const dbType = (0, graphql_transformer_core_1.getStrategyDbTypeFromModel)(context, modelName);
const dataSourceBasedTransformer = (0, has_one_directive_transformer_factory_1.getHasOneDirectiveTransformer)(dbType);
const dataSourceBasedTransformer = (0, has_one_directive_transformer_factory_1.getHasOneDirectiveTransformer)(dbType, config);
dataSourceBasedTransformer.prepare(context, config);

@@ -85,3 +84,3 @@ });

const dbType = (0, graphql_transformer_core_1.getStrategyDbTypeFromTypeNode)(config.field.type, context);
const dataSourceBasedTransformer = (0, has_one_directive_transformer_factory_1.getHasOneDirectiveTransformer)(dbType);
const dataSourceBasedTransformer = (0, has_one_directive_transformer_factory_1.getHasOneDirectiveTransformer)(dbType, config);
dataSourceBasedTransformer.transformSchema(ctx, config);

@@ -95,4 +94,4 @@ (0, schema_1.ensureHasOneConnectionField)(config, context);

const dbType = (0, graphql_transformer_core_1.getStrategyDbTypeFromTypeNode)(config.field.type, context);
const generator = (0, generator_factory_1.getGenerator)(dbType);
generator.makeHasOneGetItemConnectionWithKeyResolver(config, context);
const dataSourceBasedTransformer = (0, has_one_directive_transformer_factory_1.getHasOneDirectiveTransformer)(dbType, config);
dataSourceBasedTransformer.generateResolvers(ctx, config);
}

@@ -107,3 +106,3 @@ };

config.relatedType = (0, utils_1.getRelatedType)(config, ctx);
const dataSourceBasedTransformer = (0, has_one_directive_transformer_factory_1.getHasOneDirectiveTransformer)(dbType);
const dataSourceBasedTransformer = (0, has_one_directive_transformer_factory_1.getHasOneDirectiveTransformer)(dbType, config);
dataSourceBasedTransformer.validate(ctx, config);

@@ -110,0 +109,0 @@ (0, utils_1.validateModelDirective)(config);

import { TransformerContextProvider, TransformerPrepareStepContextProvider, TransformerTransformSchemaStepContextProvider } from '@aws-amplify/graphql-transformer-interfaces';
import { DataSourceBasedDirectiveTransformer } from '../data-source-based-directive-transformer';
import { HasManyDirectiveConfiguration } from '../types';
import { DataSourceBasedDirectiveTransformer } from '../data-source-based-directive-transformer';
export declare class HasManyDirectiveDDBFieldsTransformer implements DataSourceBasedDirectiveTransformer<HasManyDirectiveConfiguration> {
dbType: 'DYNAMODB';
constructor(dbType: 'DYNAMODB');
dbType: import("@aws-amplify/graphql-transformer-interfaces").ModelDataSourceStrategyDbType;
prepare: (context: TransformerPrepareStepContextProvider, config: HasManyDirectiveConfiguration) => void;

@@ -8,0 +7,0 @@ transformSchema: (context: TransformerTransformSchemaStepContextProvider, config: HasManyDirectiveConfiguration) => void;

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.HasManyDirectiveDDBFieldsTransformer = void 0;
const graphql_transformer_core_1 = require("@aws-amplify/graphql-transformer-core");
const generator_factory_1 = require("../resolver/generator-factory");
const resolvers_1 = require("../resolvers");
const utils_1 = require("../utils");
class HasManyDirectiveDDBFieldsTransformer {
constructor(dbType) {
constructor() {
this.dbType = graphql_transformer_core_1.DDB_DB_TYPE;
this.prepare = (context, config) => {

@@ -23,2 +26,4 @@ const modelName = config.object.name.value;

(0, resolvers_1.updateTableForConnection)(config, context);
const generator = (0, generator_factory_1.getGenerator)(this.dbType);
generator.makeHasManyGetItemsConnectionWithKeyResolver(config, context);
};

@@ -29,3 +34,2 @@ this.validate = (context, config) => {

};
this.dbType = dbType;
}

@@ -32,0 +36,0 @@ }

@@ -1,12 +0,11 @@

import { ModelDataSourceStrategySqlDbType, TransformerContextProvider, TransformerPrepareStepContextProvider, TransformerTransformSchemaStepContextProvider } from '@aws-amplify/graphql-transformer-interfaces';
import { TransformerContextProvider, TransformerPrepareStepContextProvider, TransformerTransformSchemaStepContextProvider } from '@aws-amplify/graphql-transformer-interfaces';
import { DataSourceBasedDirectiveTransformer } from '../data-source-based-directive-transformer';
import { HasManyDirectiveConfiguration } from '../types';
import { DataSourceBasedDirectiveTransformer } from '../data-source-based-directive-transformer';
export declare class HasManyDirectiveSQLTransformer implements DataSourceBasedDirectiveTransformer<HasManyDirectiveConfiguration> {
dbType: ModelDataSourceStrategySqlDbType;
constructor(dbType: ModelDataSourceStrategySqlDbType);
dbType: import("@aws-amplify/graphql-transformer-interfaces").ModelDataSourceStrategySqlDbType;
prepare: (context: TransformerPrepareStepContextProvider, config: HasManyDirectiveConfiguration) => void;
transformSchema: (context: TransformerTransformSchemaStepContextProvider, config: HasManyDirectiveConfiguration) => void;
generateResolvers: (_context: TransformerContextProvider, _config: HasManyDirectiveConfiguration) => void;
generateResolvers: (context: TransformerContextProvider, config: HasManyDirectiveConfiguration) => void;
validate: (context: TransformerContextProvider, config: HasManyDirectiveConfiguration) => void;
}
//# sourceMappingURL=has-many-directive-sql-transformer.d.ts.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.HasManyDirectiveSQLTransformer = void 0;
const graphql_transformer_core_1 = require("@aws-amplify/graphql-transformer-core");
const generator_factory_1 = require("../resolver/generator-factory");
const resolvers_1 = require("../resolvers");
const utils_1 = require("../utils");
class HasManyDirectiveSQLTransformer {
constructor(dbType) {
constructor() {
this.dbType = graphql_transformer_core_1.POSTGRES_DB_TYPE || graphql_transformer_core_1.MYSQL_DB_TYPE;
this.prepare = (context, config) => {

@@ -16,4 +19,5 @@ var _a, _b;

};
this.generateResolvers = (_context, _config) => {
return;
this.generateResolvers = (context, config) => {
const generator = (0, generator_factory_1.getGenerator)(this.dbType);
generator.makeHasManyGetItemsConnectionWithKeyResolver(config, context);
};

@@ -24,3 +28,2 @@ this.validate = (context, config) => {

};
this.dbType = dbType;
}

@@ -27,0 +30,0 @@ }

import { ModelDataSourceStrategyDbType } from '@aws-amplify/graphql-transformer-interfaces';
import { HasManyDirectiveConfiguration } from '../types';
import { DataSourceBasedDirectiveTransformer } from '../data-source-based-directive-transformer';
export declare const getHasManyDirectiveTransformer: (dbType: ModelDataSourceStrategyDbType) => DataSourceBasedDirectiveTransformer<HasManyDirectiveConfiguration>;
export declare const getHasManyDirectiveTransformer: (dbType: ModelDataSourceStrategyDbType, config: HasManyDirectiveConfiguration) => DataSourceBasedDirectiveTransformer<HasManyDirectiveConfiguration>;
//# sourceMappingURL=has-many-directive-transformer-factory.d.ts.map

@@ -6,9 +6,24 @@ "use strict";

const has_many_directive_sql_transformer_1 = require("./has-many-directive-sql-transformer");
const getHasManyDirectiveTransformer = (dbType) => {
const has_many_directive_ddb_references_transformer_1 = require("./has-many-directive-ddb-references-transformer");
const hasManyDirectiveMySqlTransformer = new has_many_directive_sql_transformer_1.HasManyDirectiveSQLTransformer();
const hasManyDirectivePostgresTransformer = new has_many_directive_sql_transformer_1.HasManyDirectiveSQLTransformer();
const hasManyDirectiveDdbFieldsTransformer = new has_many_directive_ddb_fields_transformer_1.HasManyDirectiveDDBFieldsTransformer();
const hasManyDirectiveDdbReferencesTransformer = new has_many_directive_ddb_references_transformer_1.HasManyDirectiveDDBReferencesTransformer();
const getHasManyDirectiveTransformer = (dbType, config) => {
switch (dbType) {
case 'MYSQL':
return hasManyDirectiveMySqlTransformer;
case 'POSTGRES':
return new has_many_directive_sql_transformer_1.HasManyDirectiveSQLTransformer(dbType);
return hasManyDirectivePostgresTransformer;
case 'DYNAMODB':
return new has_many_directive_ddb_fields_transformer_1.HasManyDirectiveDDBFieldsTransformer(dbType);
if (config.references) {
if (config.fields) {
throw new Error('Something went wrong >> cannot have both references and fields.');
}
if (config.references.length < 1) {
throw new Error(`Invalid @hasMany directive on ${config.field.name.value} - empty references list`);
}
return hasManyDirectiveDdbReferencesTransformer;
}
return hasManyDirectiveDdbFieldsTransformer;
}

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

import { TransformerContextProvider, TransformerPrepareStepContextProvider, TransformerTransformSchemaStepContextProvider } from '@aws-amplify/graphql-transformer-interfaces';
import { DataSourceBasedDirectiveTransformer } from '../data-source-based-directive-transformer';
import { HasOneDirectiveConfiguration } from '../types';
import { DataSourceBasedDirectiveTransformer } from '../data-source-based-directive-transformer';
export declare class HasOneDirectiveDDBFieldsTransformer implements DataSourceBasedDirectiveTransformer<HasOneDirectiveConfiguration> {
dbType: 'DYNAMODB';
constructor(dbType: 'DYNAMODB');
dbType: import("@aws-amplify/graphql-transformer-interfaces").ModelDataSourceStrategyDbType;
prepare: (context: TransformerPrepareStepContextProvider, config: HasOneDirectiveConfiguration) => void;
transformSchema: (context: TransformerTransformSchemaStepContextProvider, config: HasOneDirectiveConfiguration) => void;
generateResolvers: (_context: TransformerContextProvider, _config: HasOneDirectiveConfiguration) => void;
generateResolvers: (context: TransformerContextProvider, config: HasOneDirectiveConfiguration) => void;
validate: (context: TransformerContextProvider, config: HasOneDirectiveConfiguration) => void;
}
//# sourceMappingURL=has-one-directive-ddb-fields-transformer.d.ts.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.HasOneDirectiveDDBFieldsTransformer = void 0;
const graphql_transformer_core_1 = require("@aws-amplify/graphql-transformer-core");
const utils_1 = require("../utils");
const generator_factory_1 = require("../resolver/generator-factory");
class HasOneDirectiveDDBFieldsTransformer {
constructor(dbType) {
constructor() {
this.dbType = graphql_transformer_core_1.DDB_DB_TYPE;
this.prepare = (context, config) => {

@@ -20,4 +23,5 @@ const modelName = config.object.name.value;

};
this.generateResolvers = (_context, _config) => {
return;
this.generateResolvers = (context, config) => {
const generator = (0, generator_factory_1.getGenerator)(this.dbType);
generator.makeHasOneGetItemConnectionWithKeyResolver(config, context);
};

@@ -28,3 +32,2 @@ this.validate = (context, config) => {

};
this.dbType = dbType;
}

@@ -31,0 +34,0 @@ }

@@ -1,12 +0,11 @@

import { ModelDataSourceStrategySqlDbType, TransformerContextProvider, TransformerPrepareStepContextProvider, TransformerTransformSchemaStepContextProvider } from '@aws-amplify/graphql-transformer-interfaces';
import { TransformerContextProvider, TransformerPrepareStepContextProvider, TransformerTransformSchemaStepContextProvider } from '@aws-amplify/graphql-transformer-interfaces';
import { DataSourceBasedDirectiveTransformer } from '../data-source-based-directive-transformer';
import { HasOneDirectiveConfiguration } from '../types';
import { DataSourceBasedDirectiveTransformer } from '../data-source-based-directive-transformer';
export declare class HasOneDirectiveSQLTransformer implements DataSourceBasedDirectiveTransformer<HasOneDirectiveConfiguration> {
dbType: ModelDataSourceStrategySqlDbType;
constructor(dbType: ModelDataSourceStrategySqlDbType);
dbType: import("@aws-amplify/graphql-transformer-interfaces").ModelDataSourceStrategySqlDbType;
prepare: (context: TransformerPrepareStepContextProvider, config: HasOneDirectiveConfiguration) => void;
transformSchema: (context: TransformerTransformSchemaStepContextProvider, config: HasOneDirectiveConfiguration) => void;
generateResolvers: (_context: TransformerContextProvider, _config: HasOneDirectiveConfiguration) => void;
generateResolvers: (context: TransformerContextProvider, config: HasOneDirectiveConfiguration) => void;
validate: (context: TransformerContextProvider, config: HasOneDirectiveConfiguration) => void;
}
//# sourceMappingURL=has-one-directive-sql-transformer.d.ts.map
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.HasOneDirectiveSQLTransformer = void 0;
const graphql_transformer_core_1 = require("@aws-amplify/graphql-transformer-core");
const resolvers_1 = require("../resolvers");
const utils_1 = require("../utils");
const generator_factory_1 = require("../resolver/generator-factory");
class HasOneDirectiveSQLTransformer {
constructor(dbType) {
constructor() {
this.dbType = graphql_transformer_core_1.POSTGRES_DB_TYPE || graphql_transformer_core_1.MYSQL_DB_TYPE;
this.prepare = (context, config) => {

@@ -16,4 +19,5 @@ var _a, _b;

};
this.generateResolvers = (_context, _config) => {
return;
this.generateResolvers = (context, config) => {
const generator = (0, generator_factory_1.getGenerator)(this.dbType);
generator.makeHasOneGetItemConnectionWithKeyResolver(config, context);
};

@@ -24,3 +28,2 @@ this.validate = (context, config) => {

};
this.dbType = dbType;
}

@@ -27,0 +30,0 @@ }

import { ModelDataSourceStrategyDbType } from '@aws-amplify/graphql-transformer-interfaces';
import { HasOneDirectiveConfiguration } from '../types';
import { DataSourceBasedDirectiveTransformer } from '../data-source-based-directive-transformer';
export declare const getHasOneDirectiveTransformer: (dbType: ModelDataSourceStrategyDbType) => DataSourceBasedDirectiveTransformer<HasOneDirectiveConfiguration>;
export declare const getHasOneDirectiveTransformer: (dbType: ModelDataSourceStrategyDbType, config: HasOneDirectiveConfiguration) => DataSourceBasedDirectiveTransformer<HasOneDirectiveConfiguration>;
//# sourceMappingURL=has-one-directive-transformer-factory.d.ts.map

@@ -6,9 +6,24 @@ "use strict";

const has_one_directive_sql_transformer_1 = require("./has-one-directive-sql-transformer");
const getHasOneDirectiveTransformer = (dbType) => {
const has_one_directive_ddb_references_transformer_1 = require("./has-one-directive-ddb-references-transformer");
const hasOneDirectiveMySqlTransformer = new has_one_directive_sql_transformer_1.HasOneDirectiveSQLTransformer();
const hasOneDirectivePostgresTransformer = new has_one_directive_sql_transformer_1.HasOneDirectiveSQLTransformer();
const hasOneDirectiveDdbFieldsTransformer = new has_one_directive_ddb_fields_transformer_1.HasOneDirectiveDDBFieldsTransformer();
const hasOneDirectiveDdbReferencesTransformer = new has_one_directive_ddb_references_transformer_1.HasOneDirectiveDDBReferencesTransformer();
const getHasOneDirectiveTransformer = (dbType, config) => {
switch (dbType) {
case 'MYSQL':
return hasOneDirectiveMySqlTransformer;
case 'POSTGRES':
return new has_one_directive_sql_transformer_1.HasOneDirectiveSQLTransformer(dbType);
return hasOneDirectivePostgresTransformer;
case 'DYNAMODB':
return new has_one_directive_ddb_fields_transformer_1.HasOneDirectiveDDBFieldsTransformer(dbType);
if (config.references) {
if (config.fields) {
throw new Error('Something went wrong >> cannot have both references and fields.');
}
if (config.references.length < 1) {
throw new Error(`Invalid @hasMany directive on ${config.field.name.value} - empty references list`);
}
return hasOneDirectiveDdbReferencesTransformer;
}
return hasOneDirectiveDdbFieldsTransformer;
}

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

@@ -9,6 +9,7 @@ import { TransformerContextProvider } from '@aws-amplify/graphql-transformer-interfaces';

makeHasManyGetItemsConnectionWithKeyResolver: (config: HasManyDirectiveConfiguration, ctx: TransformerContextProvider) => void;
makeHasOneGetItemConnectionWithKeyResolver: (config: HasOneDirectiveConfiguration | BelongsToDirectiveConfiguration, ctx: TransformerContextProvider) => void;
makeHasOneGetItemConnectionWithKeyResolver: (config: HasOneDirectiveConfiguration, ctx: TransformerContextProvider) => void;
makeBelongsToGetItemConnectionWithKeyResolver: (config: BelongsToDirectiveConfiguration, ctx: TransformerContextProvider) => void;
makeHasOneBelongToGetItemConnectionWithKeyResolver: (config: HasOneDirectiveConfiguration | BelongsToDirectiveConfiguration, ctx: TransformerContextProvider) => void;
buildKeyValueExpression: (fieldName: string, object: ObjectTypeDefinitionNode, isPartitionKey?: boolean) => Expression;
makeBelongsToGetItemConnectionWithKeyResolver: (config: HasOneDirectiveConfiguration, ctx: TransformerContextProvider) => void;
}
//# sourceMappingURL=ddb-generator.d.ts.map

@@ -106,2 +106,8 @@ "use strict";

this.makeHasOneGetItemConnectionWithKeyResolver = (config, ctx) => {
this.makeHasOneBelongToGetItemConnectionWithKeyResolver(config, ctx);
};
this.makeBelongsToGetItemConnectionWithKeyResolver = (config, ctx) => {
this.makeHasOneBelongToGetItemConnectionWithKeyResolver(config, ctx);
};
this.makeHasOneBelongToGetItemConnectionWithKeyResolver = (config, ctx) => {
const { connectionFields, field, fields, object, relatedType, relatedTypeIndex } = config;

@@ -168,5 +174,2 @@ if (relatedTypeIndex.length === 0) {

};
this.makeBelongsToGetItemConnectionWithKeyResolver = (config, ctx) => {
this.makeHasOneGetItemConnectionWithKeyResolver(config, ctx);
};
}

@@ -173,0 +176,0 @@ }

@@ -5,5 +5,5 @@ import { TransformerContextProvider } from '@aws-amplify/graphql-transformer-interfaces';

abstract makeHasManyGetItemsConnectionWithKeyResolver(config: HasManyDirectiveConfiguration, ctx: TransformerContextProvider): void;
abstract makeHasOneGetItemConnectionWithKeyResolver(config: HasOneDirectiveConfiguration | BelongsToDirectiveConfiguration, ctx: TransformerContextProvider): void;
abstract makeBelongsToGetItemConnectionWithKeyResolver(config: HasOneDirectiveConfiguration, ctx: TransformerContextProvider): void;
abstract makeHasOneGetItemConnectionWithKeyResolver(config: HasOneDirectiveConfiguration, ctx: TransformerContextProvider): void;
abstract makeBelongsToGetItemConnectionWithKeyResolver(config: BelongsToDirectiveConfiguration, ctx: TransformerContextProvider): void;
}
//# sourceMappingURL=generator.d.ts.map
import { TransformerContextProvider, TransformerPrepareStepContextProvider } from '@aws-amplify/graphql-transformer-interfaces';
import { HasManyDirectiveConfiguration } from './types';
import { HasManyDirectiveConfiguration, HasOneDirectiveConfiguration } from './types';
export declare const updateTableForReferencesConnection: (config: HasManyDirectiveConfiguration | HasOneDirectiveConfiguration, ctx: TransformerContextProvider) => void;
export declare const updateTableForConnection: (config: HasManyDirectiveConfiguration, ctx: TransformerContextProvider) => void;

@@ -4,0 +5,0 @@ export declare const condenseRangeKey: (fields: string[]) => string;

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

Object.defineProperty(exports, "__esModule", { value: true });
exports.setFieldMappingResolverReference = exports.condenseRangeKey = exports.updateTableForConnection = void 0;
exports.setFieldMappingResolverReference = exports.condenseRangeKey = exports.updateTableForConnection = exports.updateTableForReferencesConnection = void 0;
const graphql_index_transformer_1 = require("@aws-amplify/graphql-index-transformer");

@@ -34,2 +34,48 @@ const graphql_transformer_core_1 = require("@aws-amplify/graphql-transformer-core");

const utils_1 = require("./utils");
const updateTableForReferencesConnection = (config, ctx) => {
const { field, referenceNodes, indexName: incomingIndexName, object, references, relatedType } = config;
const mappedObjectName = ctx.resourceHelper.getModelNameMapping(object.name.value);
if (incomingIndexName) {
throw new Error(`Invalid @hasMany directive on ${mappedObjectName}.${field.name.value} - indexName is not supported with DDB references.`);
}
if (references.length < 1 || referenceNodes.length < 1) {
throw new Error('references should not be empty here');
}
const indexName = `gsi-${mappedObjectName}.${field.name.value}`;
config.indexName = indexName;
const relatedTable = (0, graphql_transformer_core_1.getTable)(ctx, relatedType);
const gsis = relatedTable.globalSecondaryIndexes;
if (gsis.some((gsi) => gsi.indexName === indexName)) {
return;
}
const referenceNode = referenceNodes[0];
const partitionKeyName = referenceNode.name.value;
const partitionKeyType = (0, graphql_index_transformer_1.attributeTypeFromType)(referenceNode.type, ctx);
const sortKeyReferenceNodes = referenceNodes.slice(1);
const sortKey = getReferencesBasedDDBSortKey(sortKeyReferenceNodes, ctx);
addGlobalSecondaryIndex(relatedTable, {
indexName: indexName,
partitionKey: { name: partitionKeyName, type: partitionKeyType },
sortKey: sortKey,
ctx: ctx,
relatedTypeName: relatedType.name.value,
});
};
exports.updateTableForReferencesConnection = updateTableForReferencesConnection;
const getReferencesBasedDDBSortKey = (sortKeyNodes, ctx) => {
if (sortKeyNodes.length === 1) {
return {
name: sortKeyNodes[0].name.value,
type: (0, graphql_index_transformer_1.attributeTypeFromType)(sortKeyNodes[0].type, ctx),
};
}
else if (sortKeyNodes.length > 1) {
const sortKeyFieldNames = sortKeyNodes.map((node) => node.name.value);
return {
name: (0, exports.condenseRangeKey)(sortKeyFieldNames),
type: 'S',
};
}
return undefined;
};
const updateTableForConnection = (config, ctx) => {

@@ -54,5 +100,16 @@ const { fields, indexName: incomingIndexName } = config;

: 'S';
const sortKeyAttributeDefinitions = respectPrimaryKeyAttributesOnConnectionField
? getConnectedSortKeyAttributeDefinitionsForImplicitHasManyObject(ctx, object, field)
const sortKey = respectPrimaryKeyAttributesOnConnectionField
? getConnectedSortKeyAttributeDefinitionsForImplicitHasManyObject(ctx, object, field, (0, schema_1.getSortKeyFields)(ctx, object))
: undefined;
addGlobalSecondaryIndex(table, {
indexName: indexName,
partitionKey: { name: partitionKeyName, type: partitionKeyType },
sortKey: sortKey,
ctx: ctx,
relatedTypeName: relatedType.name.value,
});
};
exports.updateTableForConnection = updateTableForConnection;
const addGlobalSecondaryIndex = (table, props) => {
const { indexName, partitionKey, sortKey, ctx, relatedTypeName } = props;
table.addGlobalSecondaryIndex({

@@ -62,9 +119,9 @@ indexName,

partitionKey: {
name: partitionKeyName,
type: partitionKeyType,
name: partitionKey.name,
type: partitionKey.type,
},
sortKey: sortKeyAttributeDefinitions
sortKey: sortKey
? {
name: sortKeyAttributeDefinitions.sortKeyName,
type: sortKeyAttributeDefinitions.sortKeyType,
name: sortKey.name,
type: sortKey.type,
}

@@ -75,3 +132,3 @@ : undefined,

});
const gsi = gsis.find((g) => g.indexName === indexName);
const gsi = table.globalSecondaryIndexes.find((g) => g.indexName === indexName);
const newIndex = {

@@ -86,7 +143,5 @@ indexName,

};
(0, graphql_index_transformer_1.overrideIndexAtCfnLevel)(ctx, relatedType.name.value, table, newIndex);
(0, graphql_index_transformer_1.overrideIndexAtCfnLevel)(ctx, relatedTypeName, table, newIndex);
};
exports.updateTableForConnection = updateTableForConnection;
const getConnectedSortKeyAttributeDefinitionsForImplicitHasManyObject = (ctx, object, hasManyField) => {
const sortKeyFields = (0, schema_1.getSortKeyFields)(ctx, object);
const getConnectedSortKeyAttributeDefinitionsForImplicitHasManyObject = (ctx, object, hasManyField, sortKeyFields) => {
if (!sortKeyFields.length) {

@@ -99,4 +154,4 @@ return undefined;

return {
sortKeyName: connectedSortKeyFieldNames[0],
sortKeyType: (0, graphql_index_transformer_1.attributeTypeFromType)(sortKeyFields[0].type, ctx),
name: connectedSortKeyFieldNames[0],
type: (0, graphql_index_transformer_1.attributeTypeFromType)(sortKeyFields[0].type, ctx),
};

@@ -106,4 +161,4 @@ }

return {
sortKeyName: (0, exports.condenseRangeKey)(connectedSortKeyFieldNames),
sortKeyType: 'S',
name: (0, exports.condenseRangeKey)(connectedSortKeyFieldNames),
type: 'S',
};

@@ -110,0 +165,0 @@ }

@@ -6,3 +6,3 @@ import { TransformerContextProvider } from '@aws-amplify/graphql-transformer-interfaces';

export declare const extendTypeWithConnection: (config: HasManyDirectiveConfiguration, ctx: TransformerContextProvider) => void;
export declare const ensureHasOneConnectionField: (config: HasOneDirectiveConfiguration, ctx: TransformerContextProvider) => void;
export declare const ensureHasOneConnectionField: (config: HasOneDirectiveConfiguration | BelongsToDirectiveConfiguration, ctx: TransformerContextProvider) => void;
export declare const ensureBelongsToConnectionField: (config: BelongsToDirectiveConfiguration, ctx: TransformerContextProvider) => void;

@@ -9,0 +9,0 @@ export declare const ensureHasManyConnectionField: (config: HasManyDirectiveConfiguration | ManyToManyDirectiveConfiguration, ctx: TransformerContextProvider) => void;

@@ -8,5 +8,7 @@ import { DirectiveNode, FieldDefinitionNode, ObjectTypeDefinitionNode, ObjectTypeExtensionNode } from 'graphql';

directive: DirectiveNode;
indexName: string;
fields: string[];
references: string[];
fieldNodes: FieldDefinitionNode[];
referenceNodes: FieldDefinitionNode[];
relatedType: ObjectTypeDefinitionNode;

@@ -25,2 +27,3 @@ relatedTypeIndex: FieldDefinitionNode[];

fieldNodes: FieldDefinitionNode[];
referenceNodes: FieldDefinitionNode[];
relatedType: ObjectTypeDefinitionNode;

@@ -39,2 +42,3 @@ relatedTypeIndex: FieldDefinitionNode[];

fieldNodes: FieldDefinitionNode[];
referenceNodes: FieldDefinitionNode[];
relatedType: ObjectTypeDefinitionNode;

@@ -56,2 +60,3 @@ relatedField: FieldDefinitionNode;

fieldNodes: FieldDefinitionNode[];
referenceNodes: FieldDefinitionNode[];
relatedType: ObjectTypeDefinitionNode;

@@ -58,0 +63,0 @@ relatedTypeIndex: FieldDefinitionNode[];

@@ -7,5 +7,6 @@ import { FieldMapEntry, ResolverReferenceEntry, TransformerContextProvider, TransformerResourceHelperProvider } from '@aws-amplify/graphql-transformer-interfaces';

export declare const validateChildReferencesFields: (config: BelongsToDirectiveConfiguration, ctx: TransformerContextProvider) => void;
export declare const getRelatedTypeIndex: (config: HasOneDirectiveConfiguration, ctx: TransformerContextProvider, indexName?: string) => FieldDefinitionNode[];
export declare const getRelatedTypeIndex: (config: HasOneDirectiveConfiguration | BelongsToDirectiveConfiguration, ctx: TransformerContextProvider, indexName?: string) => FieldDefinitionNode[];
export declare const ensureFieldsArray: (config: HasManyDirectiveConfiguration | HasOneDirectiveConfiguration | BelongsToDirectiveConfiguration) => void;
export declare const ensureReferencesArray: (config: HasManyDirectiveConfiguration | HasOneDirectiveConfiguration | BelongsToDirectiveConfiguration) => void;
export declare const ensureReferencesBidirectionality: (config: HasManyDirectiveConfiguration | BelongsToDirectiveConfiguration) => void;
export declare const getModelDirective: (objectType: ObjectTypeDefinitionNode) => DirectiveNode | undefined;

@@ -12,0 +13,0 @@ export declare const validateModelDirective: (config: HasManyDirectiveConfiguration | HasOneDirectiveConfiguration | BelongsToDirectiveConfiguration | ManyToManyDirectiveConfiguration) => void;

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.getObjectPrimaryKey = exports.registerManyToManyForeignKeyMappings = exports.registerHasManyForeignKeyMappings = exports.registerHasOneForeignKeyMappings = exports.validateDisallowedDataStoreRelationships = exports.getBackendConnectionAttributeName = exports.getSortKeyConnectionAttributeName = exports.getManyToManyConnectionAttributeName = exports.getConnectionAttributeName = exports.validateRelatedModelDirective = exports.getBelongsToReferencesNodes = exports.getReferencesNodes = exports.getFieldsNodes = exports.getRelatedType = exports.validateModelDirective = exports.getModelDirective = exports.ensureReferencesArray = exports.ensureFieldsArray = exports.getRelatedTypeIndex = exports.validateChildReferencesFields = exports.validateParentReferencesFields = void 0;
exports.getObjectPrimaryKey = exports.registerManyToManyForeignKeyMappings = exports.registerHasManyForeignKeyMappings = exports.registerHasOneForeignKeyMappings = exports.validateDisallowedDataStoreRelationships = exports.getBackendConnectionAttributeName = exports.getSortKeyConnectionAttributeName = exports.getManyToManyConnectionAttributeName = exports.getConnectionAttributeName = exports.validateRelatedModelDirective = exports.getBelongsToReferencesNodes = exports.getReferencesNodes = exports.getFieldsNodes = exports.getRelatedType = exports.validateModelDirective = exports.getModelDirective = exports.ensureReferencesBidirectionality = exports.ensureReferencesArray = exports.ensureFieldsArray = exports.getRelatedTypeIndex = exports.validateChildReferencesFields = exports.validateParentReferencesFields = void 0;
const graphql_transformer_core_1 = require("@aws-amplify/graphql-transformer-core");

@@ -140,2 +140,8 @@ const graphql_1 = require("graphql");

exports.ensureReferencesArray = ensureReferencesArray;
const ensureReferencesBidirectionality = (config) => {
if (config.fields) {
throw new graphql_transformer_core_1.InvalidDirectiveError('fields and references cannot be used together.');
}
};
exports.ensureReferencesBidirectionality = ensureReferencesBidirectionality;
const getModelDirective = (objectType) => {

@@ -142,0 +148,0 @@ return objectType.directives.find((directive) => directive.name.value === 'model');

{
"name": "@aws-amplify/graphql-relational-transformer",
"version": "2.4.2",
"version": "2.5.0-gen2-release.0",
"description": "Amplify GraphQL relational modeling transformers",

@@ -31,14 +31,14 @@ "repository": {

"dependencies": {
"@aws-amplify/graphql-directives": "1.0.1",
"@aws-amplify/graphql-index-transformer": "2.3.8",
"@aws-amplify/graphql-model-transformer": "2.7.0",
"@aws-amplify/graphql-transformer-core": "2.5.1",
"@aws-amplify/graphql-transformer-interfaces": "3.5.0",
"@aws-amplify/graphql-directives": "1.1.0-gen2-release.0",
"@aws-amplify/graphql-index-transformer": "2.3.9-gen2-release.0",
"@aws-amplify/graphql-model-transformer": "2.7.1-gen2-release.0",
"@aws-amplify/graphql-transformer-core": "2.5.2-gen2-release.0",
"@aws-amplify/graphql-transformer-interfaces": "3.5.1-gen2-release.0",
"graphql": "^15.5.0",
"graphql-mapping-template": "4.20.15",
"graphql-transformer-common": "4.29.0",
"graphql-transformer-common": "4.29.1-gen2-release.0",
"immer": "^9.0.12"
},
"devDependencies": {
"@aws-amplify/graphql-transformer-test-utils": "0.4.7"
"@aws-amplify/graphql-transformer-test-utils": "0.4.8-gen2-release.0"
},

@@ -83,3 +83,3 @@ "peerDependencies": {

},
"gitHead": "ac8990dd06d7b6a29c079e84a7c1e23ec5708fc1"
"gitHead": "a550843921e81b923214a9038b0725ac5e6b2b67"
}

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

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

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

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