diff --git a/resource/js-impl.js b/resource/js-impl.js new file mode 100644 index 0000000..1d38740 --- /dev/null +++ b/resource/js-impl.js @@ -0,0 +1,20 @@ +var resourceType = MACHINE.modules['whalesong/resource/structs.rkt'].getNamespace()['struct:resource']; + +var makePrimitiveProcedure = plt.baselib.functions.makePrimitiveProcedure; + +var checkResource = plt.baselib.check.makeCheckArgumentType( + resourceType.predicate, + "resource"); + +var getResourcePath = function(r) { return resourceType.accessor(r, 0); }; +var getResourceKey = function(r) { return resourceType.accessor(r, 1); }; + + + +EXPORTS['resource->url'] = makePrimitiveProcedure( + 'resource->url', + 1, + function(MACHINE) { + var resource = checkResource(MACHINE, 'resource->url', 0); + return "res/" + String(getResourceKey(resource)); + });