New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

@datocms/cda-client

Package Overview
Dependencies
Maintainers
0
Versions
14
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@datocms/cda-client - npm Package Compare versions

Comparing version 0.2.4 to 0.2.5

dist/cjs/__test__/executeQueryWithAutoPagination.test.js

29

dist/cjs/executeQueryWithAutoPagination.js

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

exports.convertToAutoPaginationQueryAndVariables = convertToAutoPaginationQueryAndVariables;
exports.mergeAutoPaginationSplittedResults = mergeAutoPaginationSplittedResults;
var graphql_web_1 = require("@0no-co/graphql.web");

@@ -79,3 +80,3 @@ var executeQuery_1 = require("./executeQuery");

_b = _c.sent(), result = _b[0], response = _b[1];
return [2 /*return*/, [mergeSplittedResults(result), response]];
return [2 /*return*/, [mergeAutoPaginationSplittedResults(result), response]];
}

@@ -106,4 +107,5 @@ });

var alreadyFoundCollectionSelectionSetThatNeedsToBeDuped = false;
var newQuery = (0, graphql_web_1.visit)(query, {
var newSelectionQuery = (0, graphql_web_1.visit)(query, {
SelectionSet: {
enter: function () { },
leave: function (selectionSet) {

@@ -120,3 +122,3 @@ var newSelections = [];

if (alreadyFoundCollectionSelectionSetThatNeedsToBeDuped) {
throw new Error('Cannot manage multiple selections in a single query!');
throw new Error('Cannot auto-paginate multiple selections in a single query!');
}

@@ -161,3 +163,6 @@ alreadyFoundCollectionSelectionSetThatNeedsToBeDuped = true;

},
});
var newQuery = (0, graphql_web_1.visit)(newSelectionQuery, {
OperationDefinition: {
enter: function () { },
leave: function (operationDefinition) {

@@ -205,3 +210,7 @@ var _a;

else if (firstArg.value.kind === graphql_web_1.Kind.VARIABLE) {
numberOfTotalRecords = variables[firstArg.value.name.value];
var value = variables[firstArg.value.name.value];
if (typeof value !== 'number') {
throw new Error("Expected variable '".concat(firstArg.value.name.value, "' to be a number"));
}
numberOfTotalRecords = value;
variablesToExclude.push(firstArg.value.name.value);

@@ -222,3 +231,3 @@ }

if (typeof variableValue !== 'number') {
throw new Error("Expected variable ".concat(skipArg.value.name.value, " to be a number"));
throw new Error("Expected variable '".concat(skipArg.value.name.value, "' to be a number"));
}

@@ -236,3 +245,3 @@ variablesToExclude.push(skipArg.value.name.value);

}
function mergeSplittedResults(originalData) {
function mergeAutoPaginationSplittedResults(originalData) {
if (!originalData || typeof originalData !== 'object') {

@@ -242,3 +251,5 @@ return originalData;

if (Array.isArray(originalData)) {
return originalData.map(function (record) { return mergeSplittedResults(record); });
return originalData.map(function (record) {
return mergeAutoPaginationSplittedResults(record);
});
}

@@ -254,3 +265,3 @@ var finalData = {};

var record = records_1[_i];
completeList.push(mergeSplittedResults(record));
completeList.push(mergeAutoPaginationSplittedResults(record));
}

@@ -260,3 +271,3 @@ finalData[aliasName] = completeList;

else {
finalData[fullAliasName] = mergeSplittedResults(originalData[fullAliasName]);
finalData[fullAliasName] = mergeAutoPaginationSplittedResults(originalData[fullAliasName]);
}

@@ -263,0 +274,0 @@ }

@@ -40,1 +40,2 @@ import type * as GraphQLWeb from '@0no-co/graphql.web';

export declare function convertToAutoPaginationQueryAndVariables<Result = unknown, Variables = unknown>(query: TypedDocumentNode<Result, Variables>, originalVariables?: Variables): [TypedDocumentNode<Result, Partial<Variables>>, Partial<Variables>];
export declare function mergeAutoPaginationSplittedResults(originalData: unknown): unknown;

@@ -73,3 +73,3 @@ var __assign = (this && this.__assign) || function () {

_b = _c.sent(), result = _b[0], response = _b[1];
return [2 /*return*/, [mergeSplittedResults(result), response]];
return [2 /*return*/, [mergeAutoPaginationSplittedResults(result), response]];
}

@@ -100,4 +100,5 @@ });

var alreadyFoundCollectionSelectionSetThatNeedsToBeDuped = false;
var newQuery = visit(query, {
var newSelectionQuery = visit(query, {
SelectionSet: {
enter: function () { },
leave: function (selectionSet) {

@@ -114,3 +115,3 @@ var newSelections = [];

if (alreadyFoundCollectionSelectionSetThatNeedsToBeDuped) {
throw new Error('Cannot manage multiple selections in a single query!');
throw new Error('Cannot auto-paginate multiple selections in a single query!');
}

@@ -155,3 +156,6 @@ alreadyFoundCollectionSelectionSetThatNeedsToBeDuped = true;

},
});
var newQuery = visit(newSelectionQuery, {
OperationDefinition: {
enter: function () { },
leave: function (operationDefinition) {

@@ -199,3 +203,7 @@ var _a;

else if (firstArg.value.kind === Kind.VARIABLE) {
numberOfTotalRecords = variables[firstArg.value.name.value];
var value = variables[firstArg.value.name.value];
if (typeof value !== 'number') {
throw new Error("Expected variable '".concat(firstArg.value.name.value, "' to be a number"));
}
numberOfTotalRecords = value;
variablesToExclude.push(firstArg.value.name.value);

@@ -216,3 +224,3 @@ }

if (typeof variableValue !== 'number') {
throw new Error("Expected variable ".concat(skipArg.value.name.value, " to be a number"));
throw new Error("Expected variable '".concat(skipArg.value.name.value, "' to be a number"));
}

@@ -230,3 +238,3 @@ variablesToExclude.push(skipArg.value.name.value);

}
function mergeSplittedResults(originalData) {
export function mergeAutoPaginationSplittedResults(originalData) {
if (!originalData || typeof originalData !== 'object') {

@@ -236,3 +244,5 @@ return originalData;

if (Array.isArray(originalData)) {
return originalData.map(function (record) { return mergeSplittedResults(record); });
return originalData.map(function (record) {
return mergeAutoPaginationSplittedResults(record);
});
}

@@ -248,3 +258,3 @@ var finalData = {};

var record = records_1[_i];
completeList.push(mergeSplittedResults(record));
completeList.push(mergeAutoPaginationSplittedResults(record));
}

@@ -254,3 +264,3 @@ finalData[aliasName] = completeList;

else {
finalData[fullAliasName] = mergeSplittedResults(originalData[fullAliasName]);
finalData[fullAliasName] = mergeAutoPaginationSplittedResults(originalData[fullAliasName]);
}

@@ -257,0 +267,0 @@ }

@@ -40,1 +40,2 @@ import type * as GraphQLWeb from '@0no-co/graphql.web';

export declare function convertToAutoPaginationQueryAndVariables<Result = unknown, Variables = unknown>(query: TypedDocumentNode<Result, Variables>, originalVariables?: Variables): [TypedDocumentNode<Result, Partial<Variables>>, Partial<Variables>];
export declare function mergeAutoPaginationSplittedResults(originalData: unknown): unknown;
{
"name": "@datocms/cda-client",
"version": "0.2.4",
"version": "0.2.5",
"description": "JS client for DatoCMS GraphQL Content Delivery API based on the browser Fetch API",

@@ -9,3 +9,3 @@ "main": "dist/cjs/index.js",

"scripts": {
"test": "echo 1",
"test": "vitest --run",
"prebuild": "rimraf dist",

@@ -26,3 +26,4 @@ "build": "tsc && tsc --project ./tsconfig.esnext.json",

"dist",
"src"
"src",
"!src/__test__"
],

@@ -33,10 +34,11 @@ "author": "Stefano Verna <s.verna@datocms.com>",

"dependencies": {
"@0no-co/graphql.web": "^1.0.7"
"@0no-co/graphql.web": "^1.0.11"
},
"devDependencies": {
"@biomejs/biome": "^1.8.3",
"np": "^10.0.6",
"np": "^10.1.0",
"rimraf": "^5.0.7",
"simple-git-hooks": "^2.11.1",
"typescript": "^5.5.2"
"typescript": "^5.5.2",
"vitest": "^2.1.7"
},

@@ -43,0 +45,0 @@ "simple-git-hooks": {

@@ -80,3 +80,3 @@ import {

return [mergeSplittedResults(result) as Result, response];
return [mergeAutoPaginationSplittedResults(result) as Result, response];
}

@@ -144,4 +144,5 @@

const newQuery = visit(query, {
const newSelectionQuery = visit(query, {
SelectionSet: {
enter: () => {},
leave: (selectionSet) => {

@@ -164,3 +165,3 @@ const newSelections: SelectionNode[] = [];

throw new Error(
'Cannot manage multiple selections in a single query!',
'Cannot auto-paginate multiple selections in a single query!',
);

@@ -172,2 +173,3 @@ }

variables = omit(variables, info.variablesToExclude);
variablesToExclude = [

@@ -220,2 +222,3 @@ ...variablesToExclude,

};
newSelections.push(newSelectionNode);

@@ -231,3 +234,7 @@ }

},
});
const newQuery = visit(newSelectionQuery, {
OperationDefinition: {
enter: () => {},
leave: (operationDefinition) => {

@@ -290,3 +297,11 @@ return {

} else if (firstArg.value.kind === Kind.VARIABLE) {
numberOfTotalRecords = variables[firstArg.value.name.value] as number;
const value = variables[firstArg.value.name.value];
if (typeof value !== 'number') {
throw new Error(
`Expected variable '${firstArg.value.name.value}' to be a number`,
);
}
numberOfTotalRecords = value;
variablesToExclude.push(firstArg.value.name.value);

@@ -312,3 +327,3 @@ }

throw new Error(
`Expected variable ${skipArg.value.name.value} to be a number`,
`Expected variable '${skipArg.value.name.value}' to be a number`,
);

@@ -330,3 +345,5 @@ }

function mergeSplittedResults(originalData: unknown): unknown {
export function mergeAutoPaginationSplittedResults(
originalData: unknown,
): unknown {
if (!originalData || typeof originalData !== 'object') {

@@ -337,3 +354,5 @@ return originalData;

if (Array.isArray(originalData)) {
return originalData.map((record) => mergeSplittedResults(record));
return originalData.map((record) =>
mergeAutoPaginationSplittedResults(record),
);
}

@@ -354,3 +373,3 @@

for (const record of records) {
completeList.push(mergeSplittedResults(record));
completeList.push(mergeAutoPaginationSplittedResults(record));
}

@@ -360,3 +379,3 @@

} else {
finalData[fullAliasName] = mergeSplittedResults(
finalData[fullAliasName] = mergeAutoPaginationSplittedResults(
(originalData as Record<string, unknown>)[fullAliasName],

@@ -363,0 +382,0 @@ );

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