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

@shopify/admin-graphql-api-utilities

Package Overview
Dependencies
Maintainers
24
Versions
50
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@shopify/admin-graphql-api-utilities

A set of utilities to use when consuming Shopify’s admin GraphQL API

  • 2.2.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
52K
increased by4.55%
Maintainers
24
Weekly downloads
 
Created
Source

@shopify/admin-graphql-api-utilities

Build Status Build Status License: MIT npm version npm bundle size (minified + gzip)

A set of utilities to use when consuming Shopify’s admin GraphQL API.

Installation

yarn add @shopify/admin-graphql-api-utilities

API Reference

parseGidType(gid: string): string

Given a Gid string, parse out the type.

Example Usage
import {parseGidType} from '@shopify/admin-graphql-api-utilities';

parseGidType('gid://shopify/Customer/12345');
// → 'Customer'

function parseGid(gid: string): string

Given a Gid string, parse out the id.

Example Usage
import {parseGid} from '@shopify/admin-graphql-api-utilities';

parseGid('gid://shopify/Customer/12345');
// → '12345'

function parseGidWithParams(gid: string): ParsedGid

Given a Gid string, parse out the id and its params.

Example Usage
import {parseGidWithParams} from '@shopify/admin-graphql-api-utilities';

parseGidWithParams('gid://shopify/Customer/12345?sessionId=123&foo=bar');
// → {
//     id: '12345',
//     params: {sessionId: '123', foo: 'bar'}
//   }

function composeGidFactory<N extends string>(namespace: N): Function

Create a new composeGid with a given namespace instead of the default shopify namespace.

Example Usage
import {composeGidFactory} from '@shopify/admin-graphql-api-utilities';

const composeGid = composeGidFactory('CustomApp');

composeGid('Product', '123');
// → 'gid://CustomApp/Product/123'

function composeGid<T extends string>(key: T, id: number | string, params: Record<string, string> = {}): Gid<'shopify', T>

Given a key and id, compose a Gid string.

Example Usage
import {composeGid} from '@shopify/admin-graphql-api-utilities';

composeGid('Customer', 12345);
// → 'gid://shopify/Customer/12345'

composeGid('Customer', '67890', {foo: 'bar'});
// → 'gid://shopify/Customer/67890?foo=bar'

function isGidFactory<N extends string>(namespace: N): Function

Create a new isGid with a given namespace instead of the default shopify namespace.

Example Usage
import {isGidFactory} from '@shopify/admin-graphql-api-utilities';

const isGid = isGidFactory('CustomApp');

isGid('gid://CustomApp/Product/123');
// → true

isGid('gid://CustomApp/Product/123', 'Customer');
// → false

function isGid<T extends string>(gid: string, key?: T,): boolean

Check if a given string is a valid Gid.

Example Usage
import {isGid} from '@shopify/admin-graphql-api-utilities';

isGid('gid://shopify/Customer/12345');
// → true

isGid('gid://shopify/Customer/12345', 'Customer');
// → false

function nodesFromEdges(edges)

Given an array of edges, return the nodes.

Example Usage
import {nodesFromEdges} from '@shopify/admin-graphql-api-utilities';

nodesFromEdges([
  {node: {id: '1', title: 'title one'}},
  {node: {id: '2', title: 'title two'}},
]);
// → [{id: '1', title: 'title one'}, {id: '2', title: 'title two'}]

function keyFromEdges(edges, key)

Given an array of edges, return a new array of only the specific key from those nodes.

Example Usage
import {keyFromEdges} from '@shopify/admin-graphql-api-utilities';

keyFromEdges(
  [
    {node: {id: '1', title: 'title one'}},
    {node: {id: '2', title: 'title two'}},
  ],
  'title',
);
// → ['title one', 'title two']

FAQs

Package last updated on 10 Jun 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

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