@azure-iot/hal
Advanced tools
Comparing version 1.1.0 to 2.0.0
@@ -5,5 +5,6 @@ "use strict"; | ||
} | ||
__export(require('./src/decorators')); | ||
var api_1 = require('./src/api'); | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
__export(require("./src/decorators")); | ||
var api_1 = require("./src/api"); | ||
exports.Api = api_1.Api; | ||
//# sourceMappingURL=api.js.map |
{ | ||
"name": "@azure-iot/hal", | ||
"description": "Decorator library for HAL-based routes", | ||
"version": "1.1.0", | ||
"version": "2.0.0", | ||
"scripts": { | ||
@@ -9,21 +9,40 @@ "prebuild": "npm run lint", | ||
"pretest": "npm run build", | ||
"test": "istanbul cover --include-all-sources -x='**/*.spec.*' node_modules/jasmine-node/lib/jasmine-node/cli.js -- .", | ||
"lint": "tslint ./src/**/*.ts", | ||
"prepublish": "typings install && npm run build" | ||
"test": "nyc jasmine --config=jasmine.json", | ||
"lint": "tslint ./src/**/*.ts -e ./src/**/*.d.ts --fix", | ||
"prepublish": "npm run build" | ||
}, | ||
"license": "SEE LICENSE IN ./license.txt", | ||
"devDependencies": { | ||
"istanbul": "^0.4.3", | ||
"jasmine-core": "2.4.1", | ||
"jasmine-node": "^1.14.5", | ||
"tslint": "^3.8.1", | ||
"typescript": "^2.0.3", | ||
"typings": "^1.4.0" | ||
"@types/jasmine": "^2.5.51", | ||
"@types/mustache": "^0.8.29", | ||
"@types/node": "^7.0.29", | ||
"istanbul": "^0.4.5", | ||
"jasmine": "^2.6.0", | ||
"nyc": "^11.0.2", | ||
"tslint": "^5.4.3", | ||
"typescript": "^2.3.4" | ||
}, | ||
"dependencies": { | ||
"express": "^4.14.0", | ||
"@types/express": "^4.0.35", | ||
"express": "^4.15.3", | ||
"halson": "^2.3.1", | ||
"mustache": "^2.2.1", | ||
"path-to-regexp": "^1.6.0" | ||
"mustache": "^2.3.0", | ||
"path-to-regexp": "^1.7.0" | ||
}, | ||
"nyc": { | ||
"extension": [ | ||
".ts" | ||
], | ||
"all": true, | ||
"include": [ | ||
"src/**/*" | ||
], | ||
"exclude": [ | ||
"dist/**/*.spec.js", | ||
"dist/**/*.d.ts" | ||
], | ||
"reporter": [ | ||
"text-summary" | ||
] | ||
} | ||
} |
@@ -0,1 +1,2 @@ | ||
/// <reference types="express" /> | ||
import * as express from 'express'; | ||
@@ -13,3 +14,3 @@ import { provides, middleware, filter, hal } from './decorators'; | ||
provides(namespace?: string, options?: provides.Options.Namespace): this; | ||
middleware(handler: express.RequestHandler | express.ErrorHandler, options?: middleware.Options): this; | ||
middleware(handler: express.RequestHandler | express.ErrorRequestHandler, options?: middleware.Options): this; | ||
} | ||
@@ -16,0 +17,0 @@ class Method extends Api { |
"use strict"; | ||
const arguments_1 = require('./arguments'); | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const arguments_1 = require("./arguments"); | ||
function add(obj, collection, value) { | ||
@@ -4,0 +5,0 @@ obj[arguments_1.Arguments.Stack][collection][obj.decorator ? 'unshift' : 'push'](value); |
@@ -0,1 +1,2 @@ | ||
/// <reference types="express" /> | ||
import * as express from 'express'; | ||
@@ -15,3 +16,3 @@ import { Rel, Verb, Href } from './constants'; | ||
interface Middleware { | ||
handler: express.RequestHandler | express.ErrorHandler; | ||
handler: express.RequestHandler | express.ErrorRequestHandler; | ||
options: middleware.Options; | ||
@@ -18,0 +19,0 @@ } |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var Arguments; | ||
@@ -3,0 +4,0 @@ (function (Arguments) { |
@@ -0,1 +1,2 @@ | ||
/// <reference types="node" /> | ||
import * as url from 'url'; | ||
@@ -95,4 +96,4 @@ import { provides } from './decorators'; | ||
export declare namespace Rel { | ||
const Param: string; | ||
const Curies: string; | ||
const Param = "rel"; | ||
const Curies = "curies"; | ||
function stringify(rel: Rel): string; | ||
@@ -99,0 +100,0 @@ } |
"use strict"; | ||
const url = require('url'); | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const url = require("url"); | ||
var Method; | ||
(function (Method) { | ||
@@ -9,5 +11,3 @@ Method[Method["GET"] = 1] = "GET"; | ||
Method[Method["PATCH"] = 5] = "PATCH"; | ||
})(exports.Method || (exports.Method = {})); | ||
var Method = exports.Method; | ||
; | ||
})(Method = exports.Method || (exports.Method = {})); | ||
var Verb; | ||
@@ -20,2 +20,3 @@ (function (Verb) { | ||
})(Verb = exports.Verb || (exports.Verb = {})); | ||
var LinkRelation; | ||
(function (LinkRelation) { | ||
@@ -99,4 +100,3 @@ LinkRelation[LinkRelation["About"] = 1] = "About"; | ||
LinkRelation[LinkRelation["WorkingCopyOf"] = 77] = "WorkingCopyOf"; | ||
})(exports.LinkRelation || (exports.LinkRelation = {})); | ||
var LinkRelation = exports.LinkRelation; | ||
})(LinkRelation = exports.LinkRelation || (exports.LinkRelation = {})); | ||
var Rel; | ||
@@ -103,0 +103,0 @@ (function (Rel) { |
@@ -0,1 +1,2 @@ | ||
/// <reference types="express" /> | ||
import * as express from 'express'; | ||
@@ -45,3 +46,3 @@ import { Verb, Rel, Template, Href, Hal } from './constants'; | ||
export declare function route(verb: Verb, path: Href): MethodDecorator; | ||
export declare function middleware(handler: express.RequestHandler | express.ErrorHandler, options?: middleware.Options): ClassDecorator & MethodDecorator; | ||
export declare function middleware(handler: express.RequestHandler | express.ErrorRequestHandler, options?: middleware.Options): ClassDecorator & MethodDecorator; | ||
export declare namespace middleware { | ||
@@ -48,0 +49,0 @@ interface Options { |
"use strict"; | ||
const server_1 = require('./server'); | ||
const constants_1 = require('./constants'); | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const server_1 = require("./server"); | ||
const constants_1 = require("./constants"); | ||
function provides(rel, options) { | ||
@@ -17,10 +18,2 @@ return function (target, methodName, descriptor) { | ||
exports.provides = provides; | ||
var provides; | ||
(function (provides) { | ||
var Options; | ||
(function (Options) { | ||
; | ||
; | ||
})(Options = provides.Options || (provides.Options = {})); | ||
})(provides = exports.provides || (exports.provides = {})); | ||
function hal(...args) { | ||
@@ -33,3 +26,2 @@ return function (target, methodName, descriptor) { | ||
exports.hal = hal; | ||
var hal; | ||
(function (hal) { | ||
@@ -36,0 +28,0 @@ hal.discovery = server_1.Server.discovery; |
"use strict"; | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
function first(items, property) { | ||
@@ -26,5 +27,3 @@ const first = items.find(value => typeof value[property] !== 'undefined'); | ||
const routes = Data.from(server).links[parsed]; | ||
return routes ? Object.keys(routes).map(route => { | ||
return callback(server, route, routes[route]); | ||
}) : []; | ||
return routes ? Object.keys(routes).map(route => callback(server, route, routes[route])) : []; | ||
}); | ||
@@ -36,19 +35,15 @@ } | ||
getDocs(base, rel) { | ||
return this.parse(base, rel, (server, parsed, ns) => { | ||
return Data.from(server).docsCb(Object.assign({}, Data.from(server).docs[ns]) || { name: '', href: '' }); | ||
}); | ||
return this.parse(base, rel, (server, parsed, ns) => Data.from(server).docsCb(Object.assign({}, Data.from(server).docs[ns]) || { name: '', href: '' })); | ||
} | ||
getLinks(base, rel) { | ||
return this.handle(base, rel, (server, route, links) => { | ||
return Data.from(server).linkCb({ | ||
server: server, | ||
rel: links[0].rel, | ||
href: links[0].href, | ||
links: Array.from(new Set(links.reduce((links, link) => links.concat(link.links || []), []))), | ||
array: links.reduce((array, link) => link.array || array, false), | ||
id: first(links, 'id'), | ||
title: first(links, 'title'), | ||
params: Object.assign({}, ...links.reverse().map(link => link.params || {})) | ||
}, links); | ||
}); | ||
return this.handle(base, rel, (server, route, links) => Data.from(server).linkCb({ | ||
server, | ||
rel: links[0].rel, | ||
href: links[0].href, | ||
links: Array.from(new Set(links.reduce((links, link) => links.concat(link.links || []), []))), | ||
array: links.reduce((array, link) => link.array || array, false), | ||
id: first(links, 'id'), | ||
title: first(links, 'title'), | ||
params: Object.assign({}, ...links.reverse().map(link => link.params || {})) | ||
}, links)); | ||
} | ||
@@ -55,0 +50,0 @@ registerDocs(base, name, href) { |
@@ -0,1 +1,2 @@ | ||
/// <reference types="express" /> | ||
import * as express from 'express'; | ||
@@ -2,0 +3,0 @@ import * as halson from 'halson'; |
"use strict"; | ||
const halson = require('halson'); | ||
const url = require('url'); | ||
const server_1 = require('./server'); | ||
const template_1 = require('./template'); | ||
const constants_1 = require('./constants'); | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const halson = require("halson"); | ||
const url = require("url"); | ||
const server_1 = require("./server"); | ||
const template_1 = require("./template"); | ||
const constants_1 = require("./constants"); | ||
function ensureArray(set = {}, rel, ensure) { | ||
@@ -8,0 +9,0 @@ const value = set[rel]; |
@@ -0,1 +1,2 @@ | ||
/// <reference types="express" /> | ||
import * as express from 'express'; | ||
@@ -2,0 +3,0 @@ import { Hal } from './constants'; |
"use strict"; | ||
const express = require('express'); | ||
const url = require('url'); | ||
const mustache = require('mustache'); | ||
const constants_1 = require('./constants'); | ||
const response_1 = require('./response'); | ||
const api_1 = require('./api'); | ||
const linker_1 = require('./linker'); | ||
const template_1 = require('./template'); | ||
const arguments_1 = require('./arguments'); | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const express = require("express"); | ||
const url = require("url"); | ||
const mustache = require("mustache"); | ||
const constants_1 = require("./constants"); | ||
const response_1 = require("./response"); | ||
const api_1 = require("./api"); | ||
const linker_1 = require("./linker"); | ||
const template_1 = require("./template"); | ||
const arguments_1 = require("./arguments"); | ||
function relative(app, href) { | ||
@@ -86,3 +87,3 @@ return href && href[0] === '/' ? app.path().replace(/\/+$/, '') + href : href; | ||
handlers = handler.args.hal.length === 0 ? handlers : [ | ||
(req, res, next) => response_1.Response.create(server, path(req), links, req, res) && next() | ||
(req, res, next) => response_1.Response.create(server, path(req), links, req, res) && next() | ||
].concat(handlers); | ||
@@ -180,3 +181,2 @@ handlers = handlers.concat(filter.map(cb => (req, res, next) => Promise.resolve(cb(req)).then(ret => ret ? next() : next('route')).catch(next))); | ||
} | ||
; | ||
} | ||
@@ -183,0 +183,0 @@ Server.linker = new linker_1.Linker(); |
"use strict"; | ||
const url = require('url'); | ||
const pathToRegexp = require('path-to-regexp'); | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const url = require("url"); | ||
const pathToRegexp = require("path-to-regexp"); | ||
class Template { | ||
@@ -5,0 +6,0 @@ static params(href) { |
"use strict"; | ||
const constants_1 = require('./constants'); | ||
const server_1 = require('./server'); | ||
const response_1 = require('./response'); | ||
const template_1 = require('./template'); | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const constants_1 = require("./constants"); | ||
const server_1 = require("./server"); | ||
const response_1 = require("./response"); | ||
const template_1 = require("./template"); | ||
function Util(server) { | ||
@@ -18,7 +19,6 @@ return { | ||
static href(rel, params) { | ||
const links = response_1.Response.resolve(this, rel, {}, params ? { params } : {}).map(resolved => template_1.Template.link(resolved)); | ||
const links = response_1.Response.resolve(this, rel, params || {}, {}).map(resolved => template_1.Template.link(resolved)); | ||
return (links.find(link => link[server_1.Server.Link.Discoverable]) || links[0]).href; | ||
} | ||
} | ||
var Util; | ||
(function (Util) { | ||
@@ -40,4 +40,3 @@ function resolve(template, params) { | ||
})(Util = exports.Util || (exports.Util = {})); | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
exports.default = Util; | ||
//# sourceMappingURL=util.js.map |
"use strict"; | ||
var constants_1 = require('./src/constants'); | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
var constants_1 = require("./src/constants"); | ||
exports.Method = constants_1.Method; | ||
exports.LinkRelation = constants_1.LinkRelation; | ||
//# sourceMappingURL=types.js.map |
"use strict"; | ||
const util_1 = require('./src/util'); | ||
Object.defineProperty(exports, "__esModule", { value: true }); | ||
const util_1 = require("./src/util"); | ||
exports.default = util_1.default; | ||
//# sourceMappingURL=util.js.map |
70120
5
8
1174
+ Added@types/express@^4.0.35
+ Added@types/body-parser@1.19.5(transitive)
+ Added@types/connect@3.4.38(transitive)
+ Added@types/express@4.17.21(transitive)
+ Added@types/express-serve-static-core@4.19.6(transitive)
+ Added@types/http-errors@2.0.4(transitive)
+ Added@types/mime@1.3.5(transitive)
+ Added@types/node@22.13.10(transitive)
+ Added@types/qs@6.9.18(transitive)
+ Added@types/range-parser@1.2.7(transitive)
+ Added@types/send@0.17.4(transitive)
+ Added@types/serve-static@1.15.7(transitive)
+ Addedundici-types@6.20.0(transitive)
Updatedexpress@^4.15.3
Updatedmustache@^2.3.0
Updatedpath-to-regexp@^1.7.0