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

@poap-xyz/utils

Package Overview
Dependencies
Maintainers
0
Versions
109
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@poap-xyz/utils - npm Package Compare versions

Comparing version 0.8.0 to 0.8.1

7

dist/cjs/queries/field.d.ts

@@ -0,5 +1,12 @@

/**
* Deep recursive field with `V` final value.
*/
type Field<V> = {
[key: string]: Field<V> | V;
};
/**
* Creates a deep recursive object with dot separated keys and a final value.
* For example, `createField<number>('a.b.c', 42)` will return `{ a: { b: { c: 42 } } }`.
*/
export declare function createField<V>(keys: string, value: V): Field<V>;
export {};

3

dist/cjs/types/filter.d.ts

@@ -44,4 +44,7 @@ export type Value = string | number | boolean;

};
/**
* Filter query variables.
*/
export interface FilterVariables {
where: Filter;
}

@@ -0,1 +1,4 @@

/**
* Sorting order.
*/
export declare enum Order {

@@ -9,4 +12,7 @@ ASC = "asc",

export type OrderBy = FieldOrderBy | Array<FieldOrderBy>;
/**
* Order by query variables.
*/
export interface OrderByVariables {
orderBy: OrderBy;
}

@@ -0,13 +1,56 @@

/**
* Accepted values to paginate.
*/
export interface PaginationInput {
/**
* How many items to retrieve.
*/
limit: number;
/**
* Where to start fetching.
*/
offset: number;
}
/**
* Represents a paginated result.
*
* @class PaginatedResult
* @template T
*/
export declare class PaginatedResult<T> {
/**
* An array of items in the current page of the result.
*
* @member {T[]}
* @name PaginatedResult#items
*/
items: T[];
/**
* The cursor for the next page of the result, or null if there are no more pages.
*
* @member {string|number|null}
* @name PaginatedResult#nextCursor
*/
nextCursor: string | number | null;
/**
* Creates a new PaginatedResult object.
*
* @constructor
* @param {T[]} items - The items in the current page of the result.
* @param {string|number|null} nextCursor - The cursor for the next page of the result, or null if there are no more pages.
*/
constructor(items: T[], nextCursor: string | number | null);
}
/**
* Variables pass to queries that do pagination.
*/
export interface PaginatedVariables {
/**
* When the page results start.
*/
offset: number;
/**
* How many results to retrieve.
*/
limit: number;
}

@@ -0,1 +1,7 @@

/**
* Checks if a value given to a query filter is defined.
*
* @param {V} value The value to check.
* @returns {boolean} True if the value is defined, false otherwise.
*/
export declare function isFilterValueDefined<V>(value?: V): value is NonNullable<V>;

@@ -0,1 +1,8 @@

/**
* Checks if a value is numeric.
*
* @param {unknown} value The value to check.
* @param {boolean} allowNegative Whether to allow negative numbers.
* @returns {boolean} True if the value is numeric, false otherwise.
*/
export declare function isNumeric(value: unknown, allowNegative?: boolean): boolean;

@@ -0,5 +1,12 @@

/**
* Deep recursive field with `V` final value.
*/
type Field<V> = {
[key: string]: Field<V> | V;
};
/**
* Creates a deep recursive object with dot separated keys and a final value.
* For example, `createField<number>('a.b.c', 42)` will return `{ a: { b: { c: 42 } } }`.
*/
export declare function createField<V>(keys: string, value: V): Field<V>;
export {};

@@ -44,4 +44,7 @@ export type Value = string | number | boolean;

};
/**
* Filter query variables.
*/
export interface FilterVariables {
where: Filter;
}

@@ -0,1 +1,4 @@

/**
* Sorting order.
*/
export declare enum Order {

@@ -9,4 +12,7 @@ ASC = "asc",

export type OrderBy = FieldOrderBy | Array<FieldOrderBy>;
/**
* Order by query variables.
*/
export interface OrderByVariables {
orderBy: OrderBy;
}

@@ -0,13 +1,56 @@

/**
* Accepted values to paginate.
*/
export interface PaginationInput {
/**
* How many items to retrieve.
*/
limit: number;
/**
* Where to start fetching.
*/
offset: number;
}
/**
* Represents a paginated result.
*
* @class PaginatedResult
* @template T
*/
export declare class PaginatedResult<T> {
/**
* An array of items in the current page of the result.
*
* @member {T[]}
* @name PaginatedResult#items
*/
items: T[];
/**
* The cursor for the next page of the result, or null if there are no more pages.
*
* @member {string|number|null}
* @name PaginatedResult#nextCursor
*/
nextCursor: string | number | null;
/**
* Creates a new PaginatedResult object.
*
* @constructor
* @param {T[]} items - The items in the current page of the result.
* @param {string|number|null} nextCursor - The cursor for the next page of the result, or null if there are no more pages.
*/
constructor(items: T[], nextCursor: string | number | null);
}
/**
* Variables pass to queries that do pagination.
*/
export interface PaginatedVariables {
/**
* When the page results start.
*/
offset: number;
/**
* How many results to retrieve.
*/
limit: number;
}

@@ -0,1 +1,7 @@

/**
* Checks if a value given to a query filter is defined.
*
* @param {V} value The value to check.
* @returns {boolean} True if the value is defined, false otherwise.
*/
export declare function isFilterValueDefined<V>(value?: V): value is NonNullable<V>;

@@ -0,1 +1,8 @@

/**
* Checks if a value is numeric.
*
* @param {unknown} value The value to check.
* @param {boolean} allowNegative Whether to allow negative numbers.
* @returns {boolean} True if the value is numeric, false otherwise.
*/
export declare function isNumeric(value: unknown, allowNegative?: boolean): boolean;

201

dist/umd/index.js

@@ -1,200 +0,1 @@

(function (global, factory) {
typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports) :
typeof define === 'function' && define.amd ? define(['exports'], factory) :
(global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global["@poap-xyz/utils"] = {}));
})(this, (function (exports) { 'use strict';
class PaginatedResult {
constructor(items, nextCursor) {
this.items = items;
this.nextCursor = nextCursor;
}
}
exports.Order = void 0;
(function (Order) {
Order["ASC"] = "asc";
Order["DESC"] = "desc";
})(exports.Order || (exports.Order = {}));
exports.Chain = void 0;
(function (Chain) {
Chain["Ethereum"] = "mainnet";
Chain["Gnosis"] = "xdai";
})(exports.Chain || (exports.Chain = {}));
exports.TransactionRequestStatus = void 0;
(function (TransactionRequestStatus) {
TransactionRequestStatus["PENDING"] = "PENDING";
TransactionRequestStatus["IN_PROCESS"] = "IN_PROCESS";
TransactionRequestStatus["FINISH"] = "FINISH";
TransactionRequestStatus["FINISH_WITH_ERROR"] = "FINISH_WITH_ERROR";
})(exports.TransactionRequestStatus || (exports.TransactionRequestStatus = {}));
const ZERO_ADDRESS = '0x0000000000000000000000000000000000000000';
const DEAD_ADDRESS = '0x000000000000000000000000000000000000dead';
function nextCursor(length, limit, offset) {
const endIndex = offset + length;
return endIndex < offset + limit ? null : endIndex;
}
function createField(keys, value) {
return keys.split('.').reduceRight((prev, key) => ({
[key]: prev,
}), value);
}
function isFilterValueDefined(value) {
if (value == null) {
return false;
}
switch (typeof value) {
case 'boolean':
return true;
case 'number':
return isNumberDefined(value);
case 'object':
return isObjectDefined(value);
default:
return !!value;
}
}
function isNumberDefined(value) {
return !isNaN(value) && value !== 0;
}
function isObjectDefined(value) {
return Object.keys(value).length > 0;
}
function createLikeFilter(key, value) {
return isFilterValueDefined(value)
? createField(key, { _ilike: `%${value}%` })
: {};
}
function createEqFilter(key, value) {
return isFilterValueDefined(value)
? createField(key, { _eq: value })
: {};
}
function createNeqFilter(key, value) {
return isFilterValueDefined(value)
? createField(key, { _neq: value })
: {};
}
function createAddressFilter(key, value) {
return isFilterValueDefined(value)
? createField(key, { _eq: value.toLowerCase() })
: {};
}
function createNotNullAddressFilter(key, filterZeroAddress, filterDeadAddress) {
const filteredAddresses = [];
if (filterZeroAddress !== false) {
filteredAddresses.push(ZERO_ADDRESS);
}
if (filterDeadAddress !== false) {
filteredAddresses.push(DEAD_ADDRESS);
}
if (filteredAddresses.length === 0) {
return {};
}
if (filteredAddresses.length === 1) {
return createField(key, { _neq: filteredAddresses[0] });
}
return createField(key, { _nin: filteredAddresses });
}
function createInFilter(key, values) {
return isFilterValueDefined(values)
? createField(key, { _in: values })
: {};
}
function createNinFilter(key, values) {
return isFilterValueDefined(values)
? createField(key, { _nin: values })
: {};
}
function createLtFilter(key, value) {
return isFilterValueDefined(value)
? createField(key, { _lt: value })
: {};
}
function createLteFilter(key, value) {
return isFilterValueDefined(value)
? createField(key, { _lte: value })
: {};
}
function createGtFilter(key, value) {
return isFilterValueDefined(value)
? createField(key, { _gt: value })
: {};
}
function createGteFilter(key, value) {
return isFilterValueDefined(value)
? createField(key, { _gte: value })
: {};
}
function createBetweenFilter(key, from, to) {
const betweenFilter = {};
const isFromDefined = isFilterValueDefined(from);
const isToDefined = isFilterValueDefined(to);
if (isFromDefined) {
betweenFilter._gte = from;
}
if (isToDefined) {
betweenFilter._lte = to;
}
return isFromDefined || isToDefined
? createField(key, betweenFilter)
: {};
}
function createIsNullFilter(key, value) {
return createField(key, { _is_null: value });
}
function createOrderBy(key, value) {
return key && value ? createField(key, value) : {};
}
function toPOAPDate(date) {
return date
.toLocaleDateString('en-US', {
month: '2-digit',
day: '2-digit',
year: 'numeric',
})
.replace(/\//g, '-');
}
function isNumeric(value, allowNegative = false) {
if (typeof value === 'string') {
return (allowNegative ? /^-?\d+$/ : /^\d+$/).test(value);
}
if (typeof value === 'number') {
return true;
}
return false;
}
exports.DEAD_ADDRESS = DEAD_ADDRESS;
exports.PaginatedResult = PaginatedResult;
exports.ZERO_ADDRESS = ZERO_ADDRESS;
exports.createAddressFilter = createAddressFilter;
exports.createBetweenFilter = createBetweenFilter;
exports.createEqFilter = createEqFilter;
exports.createGtFilter = createGtFilter;
exports.createGteFilter = createGteFilter;
exports.createInFilter = createInFilter;
exports.createIsNullFilter = createIsNullFilter;
exports.createLikeFilter = createLikeFilter;
exports.createLtFilter = createLtFilter;
exports.createLteFilter = createLteFilter;
exports.createNeqFilter = createNeqFilter;
exports.createNinFilter = createNinFilter;
exports.createNotNullAddressFilter = createNotNullAddressFilter;
exports.createOrderBy = createOrderBy;
exports.isNumeric = isNumeric;
exports.nextCursor = nextCursor;
exports.toPOAPDate = toPOAPDate;
}));
//# sourceMappingURL=index.js.map
!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports):"function"==typeof define&&define.amd?define(["exports"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["@poap-xyz/utils"]={})}(this,(function(e){"use strict";var t,n,r;e.Order=void 0,(t=e.Order||(e.Order={})).ASC="asc",t.DESC="desc",e.Chain=void 0,(n=e.Chain||(e.Chain={})).Ethereum="mainnet",n.Gnosis="xdai",e.TransactionRequestStatus=void 0,(r=e.TransactionRequestStatus||(e.TransactionRequestStatus={})).PENDING="PENDING",r.IN_PROCESS="IN_PROCESS",r.FINISH="FINISH",r.FINISH_WITH_ERROR="FINISH_WITH_ERROR";const i="0x0000000000000000000000000000000000000000",u="0x000000000000000000000000000000000000dead";function o(e,t){return e.split(".").reduceRight(((e,t)=>({[t]:e})),t)}function c(e){if(null==e)return!1;switch(typeof e){case"boolean":return!0;case"number":return function(e){return!isNaN(e)&&0!==e}(e);case"object":return function(e){return Object.keys(e).length>0}(e);default:return!!e}}e.DEAD_ADDRESS=u,e.PaginatedResult=class{constructor(e,t){this.items=e,this.nextCursor=t}},e.ZERO_ADDRESS=i,e.createAddressFilter=function(e,t){return c(t)?o(e,{_eq:t.toLowerCase()}):{}},e.createBetweenFilter=function(e,t,n){const r={},i=c(t),u=c(n);return i&&(r._gte=t),u&&(r._lte=n),i||u?o(e,r):{}},e.createEqFilter=function(e,t){return c(t)?o(e,{_eq:t}):{}},e.createGtFilter=function(e,t){return c(t)?o(e,{_gt:t}):{}},e.createGteFilter=function(e,t){return c(t)?o(e,{_gte:t}):{}},e.createInFilter=function(e,t){return c(t)?o(e,{_in:t}):{}},e.createIsNullFilter=function(e,t){return o(e,{_is_null:t})},e.createLikeFilter=function(e,t){return c(t)?o(e,{_ilike:`%${t}%`}):{}},e.createLtFilter=function(e,t){return c(t)?o(e,{_lt:t}):{}},e.createLteFilter=function(e,t){return c(t)?o(e,{_lte:t}):{}},e.createNeqFilter=function(e,t){return c(t)?o(e,{_neq:t}):{}},e.createNinFilter=function(e,t){return c(t)?o(e,{_nin:t}):{}},e.createNotNullAddressFilter=function(e,t,n){const r=[];return!1!==t&&r.push(i),!1!==n&&r.push(u),0===r.length?{}:1===r.length?o(e,{_neq:r[0]}):o(e,{_nin:r})},e.createOrderBy=function(e,t){return e&&t?o(e,t):{}},e.isNumeric=function(e,t=!1){return"string"==typeof e?(t?/^-?\d+$/:/^\d+$/).test(e):"number"==typeof e},e.nextCursor=function(e,t,n){const r=n+e;return r<n+t?null:r},e.toPOAPDate=function(e){return e.toLocaleDateString("en-US",{month:"2-digit",day:"2-digit",year:"numeric"}).replace(/\//g,"-")}}));

@@ -0,5 +1,12 @@

/**
* Deep recursive field with `V` final value.
*/
type Field<V> = {
[key: string]: Field<V> | V;
};
/**
* Creates a deep recursive object with dot separated keys and a final value.
* For example, `createField<number>('a.b.c', 42)` will return `{ a: { b: { c: 42 } } }`.
*/
export declare function createField<V>(keys: string, value: V): Field<V>;
export {};

@@ -44,4 +44,7 @@ export type Value = string | number | boolean;

};
/**
* Filter query variables.
*/
export interface FilterVariables {
where: Filter;
}

@@ -0,1 +1,4 @@

/**
* Sorting order.
*/
export declare enum Order {

@@ -9,4 +12,7 @@ ASC = "asc",

export type OrderBy = FieldOrderBy | Array<FieldOrderBy>;
/**
* Order by query variables.
*/
export interface OrderByVariables {
orderBy: OrderBy;
}

@@ -0,13 +1,56 @@

/**
* Accepted values to paginate.
*/
export interface PaginationInput {
/**
* How many items to retrieve.
*/
limit: number;
/**
* Where to start fetching.
*/
offset: number;
}
/**
* Represents a paginated result.
*
* @class PaginatedResult
* @template T
*/
export declare class PaginatedResult<T> {
/**
* An array of items in the current page of the result.
*
* @member {T[]}
* @name PaginatedResult#items
*/
items: T[];
/**
* The cursor for the next page of the result, or null if there are no more pages.
*
* @member {string|number|null}
* @name PaginatedResult#nextCursor
*/
nextCursor: string | number | null;
/**
* Creates a new PaginatedResult object.
*
* @constructor
* @param {T[]} items - The items in the current page of the result.
* @param {string|number|null} nextCursor - The cursor for the next page of the result, or null if there are no more pages.
*/
constructor(items: T[], nextCursor: string | number | null);
}
/**
* Variables pass to queries that do pagination.
*/
export interface PaginatedVariables {
/**
* When the page results start.
*/
offset: number;
/**
* How many results to retrieve.
*/
limit: number;
}

@@ -0,1 +1,7 @@

/**
* Checks if a value given to a query filter is defined.
*
* @param {V} value The value to check.
* @returns {boolean} True if the value is defined, false otherwise.
*/
export declare function isFilterValueDefined<V>(value?: V): value is NonNullable<V>;

@@ -0,1 +1,8 @@

/**
* Checks if a value is numeric.
*
* @param {unknown} value The value to check.
* @param {boolean} allowNegative Whether to allow negative numbers.
* @returns {boolean} True if the value is numeric, false otherwise.
*/
export declare function isNumeric(value: unknown, allowNegative?: boolean): boolean;
{
"name": "@poap-xyz/utils",
"version": "0.8.0",
"version": "0.8.1",
"description": "Utils module for the poap.js library",

@@ -5,0 +5,0 @@ "main": "dist/cjs/index.cjs",

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