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

@forge/resolver

Package Overview
Dependencies
Maintainers
14
Versions
353
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@forge/resolver - npm Package Compare versions

Comparing version 0.1.0-next.4 to 0.1.0-next.5

7

CHANGELOG.md
# @forge/resolver
## 0.1.0-next.5
### Patch Changes
- e7a1e4f: Remove non-transferable objects before return
- 7425057: Add error case for duplicate resolver definitions
## 0.1.0-next.4

@@ -4,0 +11,0 @@

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

});
resolver.define('nonTransferableReturn', () => {
const obj = Object.create(null);
obj.foo = 'bar';
obj.baz = () => 'toto';
return obj;
});
const invoke = async (functionKey, payload) => {

@@ -63,2 +69,13 @@ const handler = resolver.getDefinitions();

});
it('should throw an error if there is already a definition for a function key', async () => {
const testResolver = new __1.default();
testResolver.define('test', () => { });
expect(() => testResolver.define('test', () => { })).toThrowError(new Error(`Resolver definition 'test' already exists.`));
});
it('removes non transferable return values', async () => {
const result = await invoke('nonTransferableReturn');
expect(result.constructor.name).toBe('Object');
expect(result.foo).toEqual('bar');
expect(result.baz).toBeUndefined();
});
});

4

out/index.d.ts

@@ -22,2 +22,3 @@ interface InvokePayload {

declare type ResolverFunction = (request: Request) => Promise<Response | void> | Response | void;
declare type DefinitionsHandler = ({ call: { functionKey, payload: callPayload }, context }: InvokePayload, backendRuntimePayload?: Request['payload']) => Promise<ReturnType<ResolverFunction>>;
export default class Resolver {

@@ -28,5 +29,6 @@ private functions;

private getFunction;
getDefinitions(): ({ call: { functionKey, payload: callPayload }, context }: InvokePayload, backendRuntimePayload?: Record<string, any> | undefined) => Promise<ReturnType<ResolverFunction>>;
private sanitizeObject;
getDefinitions(): DefinitionsHandler;
}
export {};
//# sourceMappingURL=index.d.ts.map

@@ -11,2 +11,5 @@ "use strict";

}
if (functionKey in this.functions) {
throw new Error(`Resolver definition '${functionKey}' already exists.`);
}
this.functions[functionKey] = cb;

@@ -21,2 +24,5 @@ return this;

}
sanitizeObject(object) {
return JSON.parse(JSON.stringify(object));
}
getDefinitions() {

@@ -30,2 +36,5 @@ const resolve = async ({ call: { functionKey, payload: callPayload }, context }, backendRuntimePayload) => {

});
if (typeof result === 'object') {
return this.sanitizeObject(result);
}
return result;

@@ -32,0 +41,0 @@ };

{
"name": "@forge/resolver",
"version": "0.1.0-next.4",
"version": "0.1.0-next.5",
"description": "Forge function resolver",

@@ -5,0 +5,0 @@ "author": "Atlassian",

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