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

api-core

Package Overview
Dependencies
Maintainers
1
Versions
225
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

api-core - npm Package Compare versions

Comparing version 0.20.0 to 0.20.1

dist/src/resolver/ApiResolver.d.ts

5

dist/index.d.ts

@@ -20,2 +20,5 @@ export { ApiEdgeDefinition, ApiEdge, ApiEdgeMetadata } from "./src/edge/ApiEdgeDefinition";

export { ApiAction, ApiActionTriggerKind } from "./src/query/ApiAction";
export { Api, ApiInfo, ApiMetadata, ApiResolver, LocalApiResolver } from "./src/Api";
export { ApiResolver } from "./src/resolver/ApiResolver";
export { LazyApiEdge } from "./src/resolver/LazyApiEdge";
export { LocalApiResolver } from "./src/resolver/LocalApiResolver";
export { Api, ApiInfo, ApiMetadata } from "./src/Api";

@@ -69,5 +69,8 @@ "use strict";

exports.ApiActionTriggerKind = ApiAction_1.ApiActionTriggerKind;
var LazyApiEdge_1 = require("./src/resolver/LazyApiEdge");
exports.LazyApiEdge = LazyApiEdge_1.LazyApiEdge;
var LocalApiResolver_1 = require("./src/resolver/LocalApiResolver");
exports.LocalApiResolver = LocalApiResolver_1.LocalApiResolver;
var Api_1 = require("./src/Api");
exports.Api = Api_1.Api;
exports.LocalApiResolver = Api_1.LocalApiResolver;
//# sourceMappingURL=index.js.map

21

dist/src/Api.d.ts

@@ -6,2 +6,3 @@ import { ApiEdgeDefinition, ApiEdgeMetadata } from "./edge/ApiEdgeDefinition";

import { ApiAction, ApiActionTriggerKind } from "./query/ApiAction";
import { ApiResolver } from "./resolver/ApiResolver";
export interface ApiInfo {

@@ -28,18 +29,2 @@ title: string;

}
export interface ApiResolver {
resolveEdge(name: string, plural: boolean): Promise<ApiEdgeDefinition | undefined>;
resolveRelation(name: string): Promise<ApiEdgeRelation | undefined>;
resolveRelationOfEdge(edge: string, name: string): Promise<ApiEdgeRelation | undefined>;
resolveRelationTo(edge: string, name: string): Promise<ApiEdgeRelation | undefined>;
resolveRelationFrom(edge: string, name: string): Promise<ApiEdgeRelation | undefined>;
}
export declare class LocalApiResolver implements ApiResolver {
private readonly api;
constructor(api: Api);
resolveEdge(name: string, plural: boolean): Promise<ApiEdgeDefinition | undefined>;
resolveRelation(name: string): Promise<ApiEdgeRelation | undefined>;
resolveRelationOfEdge(edge: string, name: string): Promise<ApiEdgeRelation | undefined>;
resolveRelationFrom(edge: string, name: string): Promise<ApiEdgeRelation | undefined>;
resolveRelationTo(edge: string, name: string): Promise<ApiEdgeRelation | undefined>;
}
export declare class Api {

@@ -56,3 +41,3 @@ static defaultIdPostfix: string;

private queryBuilder;
private resolver;
resolver: ApiResolver;
constructor(version: string, ...edges: ApiEdgeDefinition[]);

@@ -70,5 +55,5 @@ findEdge: (name: string, plural?: boolean) => Promise<ApiEdgeDefinition | undefined>;

action: (name: string, execute: (scope: ApiQueryScope) => Promise<ApiQueryScope>, triggerKind?: ApiActionTriggerKind) => Api;
metadata: () => ApiMetadata;
metadata: () => Promise<ApiMetadata>;
static fromMetadata(metadata: ApiMetadata): Promise<Api>;
prepare(): Promise<void>;
}

@@ -16,29 +16,4 @@ "use strict";

const ExternalApiEdge_1 = require("./edge/ExternalApiEdge");
const LocalApiResolver_1 = require("./resolver/LocalApiResolver");
const pkg = require('../../package.json');
class LocalApiResolver {
constructor(api) {
this.api = api;
}
resolveEdge(name, plural) {
if (plural) {
return Promise.resolve(this.api.edges.find(edge => edge.pluralName == name));
}
else {
return Promise.resolve(this.api.edges.find(edge => edge.name == name));
}
}
resolveRelation(name) {
return Promise.resolve(this.api.relations.find(relation => relation.name === name));
}
resolveRelationOfEdge(edge, name) {
return Promise.resolve(this.api.relations.find(relation => relation.name === name && (relation.from.pluralName === edge || relation.to.pluralName === edge)));
}
resolveRelationFrom(edge, name) {
return Promise.resolve(this.api.relations.find(relation => relation.name === name && relation.from.pluralName === edge));
}
resolveRelationTo(edge, name) {
return Promise.resolve(this.api.relations.find(relation => relation.name === name && relation.to.pluralName === edge));
}
}
exports.LocalApiResolver = LocalApiResolver;
class Api {

@@ -71,3 +46,3 @@ constructor(version, ...edges) {

};
this.metadata = () => {
this.metadata = () => __awaiter(this, void 0, void 0, function* () {
return {

@@ -77,6 +52,10 @@ 'api-core': pkg.version,

version: this.version,
edges: this.edges.map(edge => edge.metadata()),
relations: this.relations.map(relation => relation.toJSON())
edges: this.edges
.filter(edge => !edge.external)
.map(edge => edge.metadata()),
relations: yield Promise.all(this.relations
.filter(relation => !relation.external)
.map(relation => relation.toJSON()))
};
};
});
this.version = version;

@@ -86,3 +65,3 @@ this.edges = edges;

this.queryBuilder = new ApiQueryBuilder_1.ApiQueryBuilder(this);
this.resolver = new LocalApiResolver(this);
this.resolver = new LocalApiResolver_1.LocalApiResolver(this);
}

@@ -89,0 +68,0 @@ findRelation(name) {

@@ -59,2 +59,3 @@ import { ApiEdgeRelation } from "../relations/ApiEdgeRelation";

prepare: (api: Api) => Promise<void>;
resolve: () => Promise<void>;
metadata: () => ApiEdgeMetadata;

@@ -90,2 +91,3 @@ relation: (name: string) => Promise<ApiEdgeRelation | undefined>;

prepare: (api: Api) => Promise<void>;
resolve: () => Promise<void>;
metadata: () => {

@@ -92,0 +94,0 @@ name: string;

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

this.external = false;
this.resolve = () => Promise.resolve();
this.metadata = () => {

@@ -25,0 +26,0 @@ return {

@@ -25,3 +25,6 @@ import { ApiEdgeDefinition } from "../edge/ApiEdgeDefinition";

hasPair: boolean;
toJSON(): {
readonly external: boolean;
private resolved;
onResolve: () => void;
toJSON(): Promise<{
type: string;

@@ -34,4 +37,5 @@ name: string;

hasPair: boolean;
};
}>;
static fromJSON(obj: ExportedApiEdgeRelation, api: Api): Promise<ApiEdgeRelation>;
resolve(): Promise<void>;
}

@@ -14,15 +14,21 @@ "use strict";

constructor(from, to) {
this.resolved = false;
this.onResolve = () => { };
this.from = from;
this.to = to;
this.external = from.external;
}
toJSON() {
return {
type: this.getType(),
name: this.name,
relationId: this.relationId,
relatedId: this.relatedId,
from: this.from.name,
to: this.to.name,
hasPair: this.hasPair
};
return __awaiter(this, void 0, void 0, function* () {
yield this.resolve();
return {
type: this.getType(),
name: this.name,
relationId: this.relationId,
relatedId: this.relatedId,
from: this.from.name,
to: this.to.name,
hasPair: this.hasPair
};
});
}

@@ -40,4 +46,14 @@ static fromJSON(obj, api) {

}
resolve() {
return __awaiter(this, void 0, void 0, function* () {
if (this.resolved)
return;
this.resolved = true;
yield this.from.resolve();
yield this.to.resolve();
this.onResolve();
});
}
}
exports.ApiEdgeRelation = ApiEdgeRelation;
//# sourceMappingURL=ApiEdgeRelation.js.map

@@ -31,2 +31,6 @@ export {ApiEdgeDefinition, ApiEdge, ApiEdgeMetadata} from "./src/edge/ApiEdgeDefinition";

export {Api, ApiInfo, ApiMetadata, ApiResolver, LocalApiResolver} from "./src/Api";
export {ApiResolver} from "./src/resolver/ApiResolver";
export {LazyApiEdge} from "./src/resolver/LazyApiEdge";
export {LocalApiResolver} from "./src/resolver/LocalApiResolver";
export {Api, ApiInfo, ApiMetadata} from "./src/Api";
{
"name": "api-core",
"version": "0.20.0",
"version": "0.20.1",
"description": "Model-based dynamic multi-level APIs for any provider, plus multiple consumption channels",

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

@@ -9,2 +9,4 @@ import {ApiEdgeDefinition, ApiEdgeMetadata} from "./edge/ApiEdgeDefinition";

import {ExternalApiEdge} from "./edge/ExternalApiEdge";
import {ApiResolver} from "./resolver/ApiResolver";
import {LocalApiResolver} from "./resolver/LocalApiResolver";
const pkg = require('../../package.json');

@@ -35,61 +37,2 @@

export interface ApiResolver {
resolveEdge(name: string, plural: boolean): Promise<ApiEdgeDefinition|undefined>;
resolveRelation(name: string): Promise<ApiEdgeRelation|undefined>;
resolveRelationOfEdge(edge: string, name: string): Promise<ApiEdgeRelation|undefined>;
resolveRelationTo(edge: string, name: string): Promise<ApiEdgeRelation|undefined>;
resolveRelationFrom(edge: string, name: string): Promise<ApiEdgeRelation|undefined>;
}
export class LocalApiResolver implements ApiResolver {
private readonly api: Api;
constructor(api: Api) {
this.api = api
}
resolveEdge(name: string, plural: boolean) {
if(plural) {
return Promise.resolve(
this.api.edges.find(edge => edge.pluralName == name)
)
}
else {
return Promise.resolve(
this.api.edges.find(edge => edge.name == name)
)
}
}
resolveRelation(name: string) {
return Promise.resolve(
this.api.relations.find(relation => relation.name === name)
)
}
resolveRelationOfEdge(edge: string, name: string) {
return Promise.resolve(
this.api.relations.find(relation =>
relation.name === name && (relation.from.pluralName === edge || relation.to.pluralName === edge)
)
)
}
resolveRelationFrom(edge: string, name: string) {
return Promise.resolve(
this.api.relations.find(relation =>
relation.name === name && relation.from.pluralName === edge
)
)
}
resolveRelationTo(edge: string, name: string) {
return Promise.resolve(
this.api.relations.find(relation =>
relation.name === name && relation.to.pluralName === edge
)
)
}
}
export class Api {

@@ -108,3 +51,3 @@ static defaultIdPostfix: string = "Id";

private queryBuilder: ApiQueryBuilder;
private resolver: ApiResolver;
resolver: ApiResolver;

@@ -179,3 +122,3 @@ constructor(version: string, ...edges: ApiEdgeDefinition[]) {

metadata = (): ApiMetadata => {
metadata = async (): Promise<ApiMetadata> => {
return {

@@ -185,4 +128,8 @@ 'api-core': pkg.version,

version: this.version,
edges: this.edges.map(edge => edge.metadata()),
relations: this.relations.map(relation => relation.toJSON())
edges: this.edges
.filter(edge => !edge.external)
.map(edge => edge.metadata()),
relations: await Promise.all(this.relations
.filter(relation => !relation.external)
.map(relation => relation.toJSON()))
}

@@ -189,0 +136,0 @@ };

@@ -61,2 +61,3 @@ import {ApiEdgeRelation} from "../relations/ApiEdgeRelation";

prepare: (api: Api) => Promise<void>;
resolve: () => Promise<void>;
metadata: () => ApiEdgeMetadata

@@ -99,2 +100,4 @@ relation: (name: string) => Promise<ApiEdgeRelation|undefined>;

resolve = () => Promise.resolve();
metadata = () => {

@@ -101,0 +104,0 @@ return {

@@ -22,3 +22,4 @@ import {ApiEdgeDefinition} from "../edge/ApiEdgeDefinition";

this.from = from;
this.to = to
this.to = to;
this.external = from.external;
}

@@ -32,4 +33,9 @@

hasPair: boolean;
readonly external: boolean;
toJSON() {
private resolved = false;
onResolve: () => void = () => {};
async toJSON() {
await this.resolve();
return {

@@ -58,2 +64,11 @@ type: this.getType(),

}
async resolve() {
if(this.resolved) return;
this.resolved = true;
await this.from.resolve();
await this.to.resolve();
this.onResolve()
}
}

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