use()

in src/main/resources/SLING-INF/libs/sling/sightly/js/internal/sly.js [19:59]


use(['resource.js', 'request.js', 'promise.js'], function(Resource, Request, promiseFactory) {

    return function(bindings, Q) {
        var promiseLib = promiseFactory(Q);
        var slyResource;
        var slyProperties;
        var slyRequest;
        if (bindings.containsKey('resource')) {
            slyResource = new Resource(bindings.get('resource'), promiseLib);
            slyProperties = slyResource.properties;
        }
        if (bindings.containsKey('request')) {
            slyRequest = new Request(bindings.get('request'));
        }

        /**
         * @namespace sly
         */
        return /** @lends sly */ {

            /**
             * The current resource of the request
             * @type {Resource}
             */
            resource: slyResource,

            /**
             * The properties of the current resource
             * @type {Object.<string, Object>}
             */
            properties: slyResource.properties,

            /**
             * The request object
             * @type {Request}
             */
            request: slyRequest
        };
    }

});