Best JavaScript code snippet using pact-foundation-pact
js-express-angular.js
Source:js-express-angular.js
...46 if (!angular.isString(express)) throw "ä¸æ¯å符串";47 var express = express.trim();48 if (!express) return new CExpress("string", '');49 if (express[0] != '=') return new CExpress("string", express);50 var result = CParser.parse_express(express.substr(1));51 if (result.more) throw "æå¤ä½çå
容";52 return result.meta;53 } catch (e) {54 console.error("解æ失败", e, express);55 return new CExpress("error", e);56 }57 },58 /**59 * è·åä¸ä¸ªè¡¨è¾¾å¼ï¼å°½éé¿60 * @return object ç¼è¯ç»æ61 * @return int length 使ç¨çé¿åº¦62 * @return CExpress meta å·²ç¼è¯çæ°æ®63 */64 parse_express: (express) => {65 express = express.trim();66 if (!express) throw ("缺å°è¡¨è¾¾å¼");67 var result = CParser.parse_value(express);68 return CParser.parse_express_more(result.more, result.meta, []);69 },70 parse_express_more: (express, meta, moreExpress) => {71 var moreExpressLength, op, new_item, last_item, prev_item, result, result1, result2;72 express = express.trim();73 /** ä¸å
æä½, å¦ææä¸å
æä½å¨åï¼è®©å
¶å
ç¼è¯ */74 if (express[0] == '?') {75 meta = CParser.merge_express(meta, moreExpress);76 result1 = CParser.parse_express(express.substr(1));77 if (result1.more[0] != ':') throw ("缺å°:");78 result2 = CParser.parse_express(result1.more.substr(1));79 meta = new CExpress("a_b_c", [meta, result1.meta, result2.meta]);80 // ä¸å
æä½, ä¸ä¼æ è¿ä¸æ¥è¡¨è¾¾å¼ çæ
åµ81 return { "more": result2.more, "meta": meta };82 }83 moreExpressLength = moreExpress.length;84 op = CParser.findCalcuOperator(express);85 if (!op) {86 meta = CParser.merge_express(meta, moreExpress);87 return { "more": express, "meta": meta };88 }89 result = CParser.parse_value(express.substr(op["w"]));90 new_item = { "op": op, "meta": result.meta };91 if (!moreExpressLength) {92 return CParser.parse_express_more(result.more, meta, [new_item]);93 }94 /** å°ä¼å
级大äºæ°æä½çï¼é½å¼¹åºæ¥, ç¶åå并å°åä¸ä¸ª */95 last_item = moreExpress[moreExpressLength - 1];96 for (i = moreExpressLength - 2; i >= 0; i--) {97 // ååå并98 if (last_item.op.level > op.level) {99 prev_item = moreExpress[i];100 prev_item.meta = new CExpress(last_item.op["fn"], [prev_item.meta, last_item.meta]);101 last_item = prev_item;102 // å¼¹åºæä¸ä¸ª103 moreExpress.pop();104 } else {105 break;106 }107 }108 /** å¦æå并åï¼åªæä¸ä¸ªäºï¼ä¸è¿ä¸ªæä½çä¼å
级ï¼ä»ç¶å¤§äºæ°æä½ */109 moreExpressLength = moreExpress.length;110 if (moreExpressLength == 1 && last_item.op.level >= op.level) {111 // å
å°è¿ä¸ªæä½è®¡ç®112 meta = new CExpress(last_item.op["fn"], [meta, last_item.meta]);113 // æ¸
空已ææä½114 moreExpress = [];115 }116 /** ç°å¨ï¼å¦æè¿ææä½ï¼å°±æ¯ä¼å
级è¾å°çäº */117 moreExpress.push(new_item);118 return CParser.parse_express_more(result.more, meta, moreExpress);119 },120 /** å并å¤æ¬¡è®¡ç®ï¼åæ°ä¸å¯ä¸ºç©º */121 merge_express: (meta, moreExpress) => {122 var moreExpressLength = moreExpress.length;123 if (!moreExpressLength) return meta;124 var last_item = moreExpress[moreExpressLength - 1];125 for (i = moreExpressLength - 2; i >= 0; i--) {126 var prev_item = moreExpress[i];127 last_item = {128 "op": prev_item.op,129 "meta": new CExpress(last_item.op["fn"], [prev_item.meta, last_item.meta])130 };131 }132 meta = new CExpress(last_item.op["fn"], [meta, last_item.meta]);133 return meta;134 },135 /**136 * è·åä¸ä¸ªæ æä½ç¬¦è¡¨è¾¾å¼137 * @return object ç¼è¯ç»æ138 * @return int length 使ç¨çé¿åº¦139 * @return CExpress meta å·²ç¼è¯çæ°æ®140 */141 parse_value(express) {142 var meta, op_once, reg, match, result, result1, result2;143 express = express.trim();144 if (!express) {145 throw ("缺å°è¡¨è¾¾å¼");146 }147 /** ä¸å
æä½ç¬¦ */148 op_once = CParser.findOnceOperator(express);149 if (op_once) {150 result = CParser.parse_value(express.substr(op_once["w"]), true);151 meta = new CExpress(op_once["fn"], result.meta);152 // ä¸å
æä½, è¿ä¸æ¥å¼ æ
åµå·²å¤ç, ä¸ä¼åæäº153 return { "more": result.more.trim(), "meta": meta };154 }155 if (express[0] == '(') {156 result = CParser.parse_express(express.substr(1));157 if (result.more[0] != ')') throw ("缺å°)");158 express = result.more.substr(1);159 return CParser.parse_value_more(express, result.meta);160 }161 /** æ°ç» */162 if (express[0] == '[') {163 express = express.substr(1);164 for (var metas = []; ;) {165 if (express[0] == ']') {166 meta = new CExpress("array", metas);167 return CParser.parse_value_more(express.substr(1), meta);168 }169 if (metas.length) {170 if (express[0] != ',') {171 console.error("缺å°,æ]");172 throw ("缺å°,æ]");173 }174 express = express.substr(1);175 }176 result = CParser.parse_express(express);177 metas.push(result.meta);178 express = result.more;179 // result = CParser.parse_express(express);180 // metas.push(result.meta);181 // express = result.more.substr(1);182 // if (result.more[0] == ']') {183 // meta = new CExpress("array", metas);184 // return CParser.parse_value_more(express, meta);185 // }186 // if (result.more[0] != ',') throw ("缺å°,æ]");187 }188 }189 /** 对象 */190 if (express[0] == '{') {191 express = express.substr(1);192 for (var metas = []; ;) {193 if (express[0] == '}') {194 meta = new CExpress("object", metas);195 return CParser.parse_value_more(express.substr(1), meta);196 }197 if (metas.length) {198 if (express[0] != ',') {199 console.error("缺å°,æ}");200 throw ("缺å°,æ}");201 }202 express = express.substr(1);203 }204 result1 = CParser.parse_express(express);205 if (result1.more[0] != ':') throw ("缺å°:");206 result2 = CParser.parse_express(result1.more.substr(1));207 if (result1.meta.type == "var") result1.meta.type = "string";208 metas.push([result1.meta, result2.meta]);209 express = result2.more;210 }211 }212 /** æ°å, ç´æ¥è¿å */213 if (match = express.match(REG.number)) {214 meta = new CExpress("number", +match[0]);215 return { "more": express.substr(match[0].length).trim(), "meta": meta };216 }217 /** å符串, å¯è½æè¿ä¸æ¥çå¼ */218 if (match = express.match(REG.string)) {219 meta = new CExpress("string", match[1].replace(/\\'/g, "'"));220 express = express.substr(match[0].length);221 return CParser.parse_value_more(express, meta);222 }223 if (match = express.match(REG.string2)) {224 meta = new CExpress("string", match[1].replace(/\\"/g, "\""));225 express = express.substr(match[0].length);226 return CParser.parse_value_more(express, meta);227 }228 /** åé */229 if (match = express.match(REG.var)) {230 meta = new CExpress("var", match[0]);231 express = express.substr(match[0].length);232 return CParser.parse_value_more(express, meta);233 }234 /** å
¶å®ç, è¿åé误 */235 throw ("ä¸æ¯è¡¨è¾¾å¼");236 },237 parse_value_more(express, meta) {238 express = express.trim();239 /** æåæä½, ç´æ¥ */240 if (express[0] == '.') {241 express = express.substr(1);242 /** åé */243 match = express.match(REG.var);244 if (!match) throw ("ä¸æ¯æåå");245 metaMenber = new CExpress("string", match[0]);246 meta = new CExpress("member", [meta, metaMenber]);247 express = express.substr(match[0].length);248 return CParser.parse_value_more(express, meta);249 }250 /** æåæä½, æ¹æ¬å· */251 if (express[0] == '[') {252 result = CParser.parse_express(express.substr(1));253 if (result.more[0] != ']') throw ("缺å°]");254 meta = new CExpress("member", [meta, result.meta]);255 express = result.more.substr(1);256 return CParser.parse_value_more(express, meta);257 }258 /** å½æ°æä½ */259 if (express[0] == '(') {260 /** å
¨å±å½æ° */261 if (meta.type != "member") {262 console.log("å
¨å±å½æ° - å®ä¹");263 var GLOBAL_FN = new CExpress('string', GLOBAL_CALL);264 meta = new CExpress('member', [meta, GLOBAL_FN]);265 }266 if (meta.type != "member") throw ("å½æ°ï¼ä½ç¼ºå°å¯¹è±¡");267 meta.type = "method";268 var args = [];269 meta.args = new CExpress("array", args);270 for (var expressMore = express.substr(1); ;) {271 if (expressMore[0] == ")") {272 return CParser.parse_value_more(expressMore.substr(1), meta);273 }274 if (args.length > 0) {275 if (expressMore[0] != ",") throw ("å½æ°åæ°æ ¼å¼é误");276 expressMore = expressMore.substr(1);277 }278 result = CParser.parse_express(expressMore);279 args.push(result.meta);280 expressMore = result.more281 }282 }283 return { "more": express, "meta": meta };284 },285 findCalcuOperator: (str) => {286 for (var item of CParser.operators) {287 if ("calcu" == item["type"] && item["value"] == str.substr(0, item["w"])) return item;288 }289 return false;290 },291 findOnceOperator: (str) => {292 for (var item of CParser.operators) {...
express_v4.16.x.js
Source:express_v4.16.x.js
1// flow-typed signature: 207bac286d971cad7615b09aa20d4acf2// flow-typed version: bb849ae672/express_v4.16.x/flow_>=v0.32.x3import * as http from "http";4import type { Socket } from "net";5declare type express$RouterOptions = {6 caseSensitive?: boolean,7 mergeParams?: boolean,8 strict?: boolean9};10declare class express$RequestResponseBase {11 app: express$Application;12 get(field: string): string | void;13}14declare type express$RequestParams = {15 [param: string]: string16};17declare class express$Request extends http$IncomingMessage mixins express$RequestResponseBase {18 baseUrl: string;19 body: mixed;20 cookies: { [cookie: string]: string };21 connection: Socket;22 fresh: boolean;23 hostname: string;24 ip: string;25 ips: Array<string>;26 method: string;27 originalUrl: string;28 params: express$RequestParams;29 path: string;30 protocol: "https" | "http";31 query: { [name: string]: string | Array<string> };32 route: string;33 secure: boolean;34 signedCookies: { [signedCookie: string]: string };35 stale: boolean;36 subdomains: Array<string>;37 xhr: boolean;38 accepts(types: string): string | false;39 accepts(types: Array<string>): string | false;40 acceptsCharsets(...charsets: Array<string>): string | false;41 acceptsEncodings(...encoding: Array<string>): string | false;42 acceptsLanguages(...lang: Array<string>): string | false;43 header(field: string): string | void;44 is(type: string): boolean;45 param(name: string, defaultValue?: string): string | void;46}47declare type express$CookieOptions = {48 domain?: string,49 encode?: (value: string) => string,50 expires?: Date,51 httpOnly?: boolean,52 maxAge?: number,53 path?: string,54 secure?: boolean,55 signed?: boolean56};57declare type express$Path = string | RegExp;58declare type express$RenderCallback = (59 err: Error | null,60 html?: string61) => mixed;62declare type express$SendFileOptions = {63 maxAge?: number,64 root?: string,65 lastModified?: boolean,66 headers?: { [name: string]: string },67 dotfiles?: "allow" | "deny" | "ignore"68};69declare class express$Response extends http$ServerResponse mixins express$RequestResponseBase {70 headersSent: boolean;71 locals: { [name: string]: mixed };72 append(field: string, value?: string): this;73 attachment(filename?: string): this;74 cookie(name: string, value: string, options?: express$CookieOptions): this;75 clearCookie(name: string, options?: express$CookieOptions): this;76 download(77 path: string,78 filename?: string,79 callback?: (err?: ?Error) => void80 ): this;81 format(typesObject: { [type: string]: Function }): this;82 json(body?: mixed): this;83 jsonp(body?: mixed): this;84 links(links: { [name: string]: string }): this;85 location(path: string): this;86 redirect(url: string, ...args: Array<void>): this;87 redirect(status: number, url: string, ...args: Array<void>): this;88 render(89 view: string,90 locals?: { [name: string]: mixed },91 callback?: express$RenderCallback92 ): this;93 send(body?: mixed): this;94 sendFile(95 path: string,96 options?: express$SendFileOptions,97 callback?: (err?: ?Error) => mixed98 ): this;99 sendStatus(statusCode: number): this;100 header(field: string, value?: string): this;101 header(headers: { [name: string]: string }): this;102 set(field: string, value?: string | string[]): this;103 set(headers: { [name: string]: string }): this;104 status(statusCode: number): this;105 type(type: string): this;106 vary(field: string): this;107 req: express$Request;108}109declare type express$NextFunction = (err?: ?Error | "route") => mixed;110declare type express$Middleware =111 | ((112 req: $Subtype<express$Request>,113 res: express$Response,114 next: express$NextFunction115 ) => mixed)116 | ((117 error: Error,118 req: $Subtype<express$Request>,119 res: express$Response,120 next: express$NextFunction121 ) => mixed);122declare interface express$RouteMethodType<T> {123 (middleware: express$Middleware): T;124 (...middleware: Array<express$Middleware>): T;125 (126 path: express$Path | express$Path[],127 ...middleware: Array<express$Middleware>128 ): T;129}130declare class express$Route {131 all: express$RouteMethodType<this>;132 get: express$RouteMethodType<this>;133 post: express$RouteMethodType<this>;134 put: express$RouteMethodType<this>;135 head: express$RouteMethodType<this>;136 delete: express$RouteMethodType<this>;137 options: express$RouteMethodType<this>;138 trace: express$RouteMethodType<this>;139 copy: express$RouteMethodType<this>;140 lock: express$RouteMethodType<this>;141 mkcol: express$RouteMethodType<this>;142 move: express$RouteMethodType<this>;143 purge: express$RouteMethodType<this>;144 propfind: express$RouteMethodType<this>;145 proppatch: express$RouteMethodType<this>;146 unlock: express$RouteMethodType<this>;147 report: express$RouteMethodType<this>;148 mkactivity: express$RouteMethodType<this>;149 checkout: express$RouteMethodType<this>;150 merge: express$RouteMethodType<this>;151 // @TODO Missing 'm-search' but get flow illegal name error.152 notify: express$RouteMethodType<this>;153 subscribe: express$RouteMethodType<this>;154 unsubscribe: express$RouteMethodType<this>;155 patch: express$RouteMethodType<this>;156 search: express$RouteMethodType<this>;157 connect: express$RouteMethodType<this>;158}159declare class express$Router extends express$Route {160 constructor(options?: express$RouterOptions): void;161 route(path: string): express$Route;162 static (options?: express$RouterOptions): express$Router;163 use(middleware: express$Middleware): this;164 use(...middleware: Array<express$Middleware>): this;165 use(166 path: express$Path | express$Path[],167 ...middleware: Array<express$Middleware>168 ): this;169 use(path: string, router: express$Router): this;170 handle(171 req: http$IncomingMessage,172 res: http$ServerResponse,173 next: express$NextFunction174 ): void;175 param(176 param: string,177 callback: (178 req: $Subtype<express$Request>,179 res: express$Response,180 next: express$NextFunction,181 id: string182 ) => mixed183 ): void;184 (185 req: http$IncomingMessage,186 res: http$ServerResponse,187 next?: ?express$NextFunction188 ): void;189}190/*191With flow-bin ^0.59, express app.listen() is deemed to return any and fails flow type coverage.192Which is ironic because https://github.com/facebook/flow/blob/master/Changelog.md#misc-2 (release notes for 0.59)193says "Improves typings for Node.js HTTP server listen() function." See that? IMPROVES!194To work around this issue, we changed Server to ?Server here, so that our invocations of express.listen() will195not be deemed to lack type coverage.196*/197declare class express$Application extends express$Router mixins events$EventEmitter {198 constructor(): void;199 locals: { [name: string]: mixed };200 mountpath: string;201 listen(202 port: number,203 hostname?: string,204 backlog?: number,205 callback?: (err?: ?Error) => mixed206 ): ?http.Server;207 listen(208 port: number,209 hostname?: string,210 callback?: (err?: ?Error) => mixed211 ): ?http.Server;212 listen(port: number, callback?: (err?: ?Error) => mixed): ?http.Server;213 listen(path: string, callback?: (err?: ?Error) => mixed): ?http.Server;214 listen(handle: Object, callback?: (err?: ?Error) => mixed): ?http.Server;215 disable(name: string): void;216 disabled(name: string): boolean;217 enable(name: string): express$Application;218 enabled(name: string): boolean;219 engine(name: string, callback: Function): void;220 /**221 * Mixed will not be taken as a value option. Issue around using the GET http method name and the get for settings.222 */223 // get(name: string): mixed;224 set(name: string, value: mixed): mixed;225 render(226 name: string,227 optionsOrFunction: { [name: string]: mixed },228 callback: express$RenderCallback229 ): void;230 handle(231 req: http$IncomingMessage,232 res: http$ServerResponse,233 next?: ?express$NextFunction234 ): void;235 // callable signature is not inherited236 (237 req: http$IncomingMessage,238 res: http$ServerResponse,239 next?: ?express$NextFunction240 ): void;241}242declare type JsonOptions = {243 inflate?: boolean,244 limit?: string | number,245 reviver?: (key: string, value: mixed) => mixed,246 strict?: boolean,247 type?: string | Array<string> | ((req: express$Request) => boolean),248 verify?: (249 req: express$Request,250 res: express$Response,251 buf: Buffer,252 encoding: string253 ) => mixed254};255declare type express$UrlEncodedOptions = {256 extended?: boolean,257 inflate?: boolean,258 limit?: string | number,259 parameterLimit?: number,260 type?: string | Array<string> | ((req: express$Request) => boolean),261 verify?: (262 req: express$Request,263 res: express$Response,264 buf: Buffer,265 encoding: string266 ) => mixed,267}268declare module "express" {269 declare export type RouterOptions = express$RouterOptions;270 declare export type CookieOptions = express$CookieOptions;271 declare export type Middleware = express$Middleware;272 declare export type NextFunction = express$NextFunction;273 declare export type RequestParams = express$RequestParams;274 declare export type $Response = express$Response;275 declare export type $Request = express$Request;276 declare export type $Application = express$Application;277 declare module.exports: {278 (): express$Application, // If you try to call like a function, it will use this signature279 json: (opts: ?JsonOptions) => express$Middleware,280 static: (root: string, options?: Object) => express$Middleware, // `static` property on the function281 Router: typeof express$Router, // `Router` property on the function282 urlencoded: (opts: ?express$UrlEncodedOptions) => express$Middleware,283 };...
express_v4.x.x.js
Source:express_v4.x.x.js
1// flow-typed signature: 08f7aa5e53d4472fa9bc75946fadaed02// flow-typed version: ec08171d82/express_v4.x.x/flow_>=v0.32.x3import type { Server } from 'http';4declare type express$RouterOptions = {5 caseSensitive?: boolean,6 mergeParams?: boolean,7 strict?: boolean8};9declare class express$RequestResponseBase {10 app: express$Application;11 get(field: string): string | void;12}13declare class express$Request extends http$IncomingMessage mixins express$RequestResponseBase {14 baseUrl: string;15 body: mixed;16 cookies: {[cookie: string]: string};17 fresh: boolean;18 hostname: boolean;19 ip: string;20 ips: Array<string>;21 method: string;22 originalUrl: string;23 params: {[param: string]: string};24 path: string;25 protocol: 'https' | 'http';26 query: {[name: string]: string};27 route: string;28 secure: boolean;29 signedCookies: {[signedCookie: string]: string};30 stale: boolean;31 subdomains: Array<string>;32 xhr: boolean;33 accepts(types: string): string | false;34 acceptsCharsets(...charsets: Array<string>): string | false;35 acceptsEncodings(...encoding: Array<string>): string | false;36 acceptsLanguages(...lang: Array<string>): string | false;37 header(field: string): string | void;38 is(type: string): boolean;39 param(name: string, defaultValue?: string): string | void;40}41declare type express$CookieOptions = {42 domain?: string,43 encode?: (value: string) => string,44 expires?: Date,45 httpOnly?: boolean,46 maxAge?: number,47 path?: string,48 secure?: boolean,49 signed?: boolean50};51declare type express$RenderCallback = (err: Error | null, html?: string) => mixed;52declare type express$SendFileOptions = {53 maxAge?: number,54 root?: string,55 lastModified?: boolean,56 headers?: {[name: string]: string},57 dotfiles?: 'allow' | 'deny' | 'ignore'58};59declare class express$Response extends http$ServerResponse mixins express$RequestResponseBase {60 headersSent: boolean;61 locals: {[name: string]: mixed};62 append(field: string, value?: string): this;63 attachment(filename?: string): this;64 cookie(name: string, value: string, options?: express$CookieOptions): this;65 clearCookie(name: string, options?: express$CookieOptions): this;66 download(path: string, filename?: string, callback?: (err?: ?Error) => void): this;67 format(typesObject: {[type: string]: Function}): this;68 json(body?: mixed): this;69 jsonp(body?: mixed): this;70 links(links: {[name: string]: string}): this;71 location(path: string): this;72 redirect(url: string, ...args: Array<void>): this;73 redirect(status: number, url: string, ...args: Array<void>): this;74 render(view: string, locals?: {[name: string]: mixed}, callback?: express$RenderCallback): this;75 send(body?: mixed): this;76 sendFile(path: string, options?: express$SendFileOptions, callback?: (err?: ?Error) => mixed): this;77 sendStatus(statusCode: number): this;78 set(field: string, value?: string): this;79 status(statusCode: number): this;80 type(type: string): this;81 vary(field: string): this;82}83declare type express$NextFunction = (err?: ?Error) => mixed;84declare type express$Middleware =85 ((req: express$Request, res: express$Response, next: express$NextFunction) => mixed) |86 ((error: ?Error, req: express$Request, res: express$Response, next: express$NextFunction) => mixed);87declare interface express$RouteMethodType<T> {88 (middleware: express$Middleware): T;89 (...middleware: Array<express$Middleware>): T;90 (path: string|RegExp|string[], ...middleware: Array<express$Middleware>): T;91}92declare class express$Route {93 all: express$RouteMethodType<this>;94 get: express$RouteMethodType<this>;95 post: express$RouteMethodType<this>;96 put: express$RouteMethodType<this>;97 head: express$RouteMethodType<this>;98 delete: express$RouteMethodType<this>;99 options: express$RouteMethodType<this>;100 trace: express$RouteMethodType<this>;101 copy: express$RouteMethodType<this>;102 lock: express$RouteMethodType<this>;103 mkcol: express$RouteMethodType<this>;104 move: express$RouteMethodType<this>;105 purge: express$RouteMethodType<this>;106 propfind: express$RouteMethodType<this>;107 proppatch: express$RouteMethodType<this>;108 unlock: express$RouteMethodType<this>;109 report: express$RouteMethodType<this>;110 mkactivity: express$RouteMethodType<this>;111 checkout: express$RouteMethodType<this>;112 merge: express$RouteMethodType<this>;113 // @TODO Missing 'm-search' but get flow illegal name error.114 notify: express$RouteMethodType<this>;115 subscribe: express$RouteMethodType<this>;116 unsubscribe: express$RouteMethodType<this>;117 patch: express$RouteMethodType<this>;118 search: express$RouteMethodType<this>;119 connect: express$RouteMethodType<this>;120}121declare class express$Router extends express$Route {122 constructor(options?: express$RouterOptions): void;123 route(path: string): express$Route;124 static (): express$Router;125 use(middleware: express$Middleware): this;126 use(...middleware: Array<express$Middleware>): this;127 use(path: string|RegExp|string[], ...middleware: Array<express$Middleware>): this;128 use(path: string, router: express$Router): this;129 handle(req: http$IncomingMessage, res: http$ServerResponse, next: express$NextFunction): void;130}131declare class express$Application extends express$Router mixins events$EventEmitter {132 constructor(): void;133 locals: {[name: string]: mixed};134 mountpath: string;135 listen(port: number, hostname?: string, backlog?: number, callback?: (err?: ?Error) => mixed): Server;136 listen(port: number, hostname?: string, callback?: (err?: ?Error) => mixed): Server;137 listen(port: number, callback?: (err?: ?Error) => mixed): Server;138 listen(path: string, callback?: (err?: ?Error) => mixed): Server;139 listen(handle: Object, callback?: (err?: ?Error) => mixed): Server;140 disable(name: string): void;141 disabled(name: string): boolean;142 enable(name: string): void;143 enabled(name: string): boolean;144 engine(name: string, callback: Function): void;145 /**146 * Mixed will not be taken as a value option. Issue around using the GET http method name and the get for settings.147 */148 // get(name: string): mixed;149 set(name: string, value: mixed): mixed;150 render(name: string, optionsOrFunction: {[name: string]: mixed}, callback: express$RenderCallback): void;151 handle(req: http$IncomingMessage, res: http$ServerResponse, next?: ?express$NextFunction): void;152 // Can't use regular callable signature syntax due to https://github.com/facebook/flow/issues/3084153 $call: (req: http$IncomingMessage, res: http$ServerResponse, next?: ?express$NextFunction) => void;154}155declare module 'express' {156 declare function serveStatic(root: string, options?: Object): express$Middleware;157 declare type RouterOptions = express$RouterOptions;158 declare type CookieOptions = express$CookieOptions;159 declare type Middleware = express$Middleware;160 declare type NextFunction = express$NextFunction;161 declare type $Response = express$Response;162 declare type $Request = express$Request;163 declare type $Application = express$Application;164 declare module.exports: {165 (): express$Application, // If you try to call like a function, it will use this signature166 static: serveStatic, // `static` property on the function167 Router: typeof express$Router, // `Router` property on the function168 };...
Using AI Code Generation
1var path = require('path');2var chai = require('chai');3var chaiAsPromised = require('chai-as-promised');4var expect = chai.expect;5var Pact = require('pact-foundation-pact-node');6var getMeDogs = require('../src/getMeDogs');7var MOCK_SERVER_PORT = 1234;8chai.use(chaiAsPromised);9describe("Pact with Express", function () {10 var provider;11 before(function (done) {12 provider = Pact({13 log: path.resolve(process.cwd(), 'logs', 'mockserver-integration.log'),14 dir: path.resolve(process.cwd(), 'pacts'),15 });16 provider.removeInteractions();17 done();18 });19 after(function (done) {20 provider.finalize()21 .then(function () {22 done();23 }, function (err) {24 done(err);25 });26 });27 afterEach(function (done) {28 provider.verify()29 .then(function () {30 provider.removeInteractions();31 done();32 }, function (err) {33 done(err);34 });35 });36 describe("getMeDogs", function () {37 before(function (done) {38 var interaction = {39 withRequest: {40 headers: {41 }42 },43 willRespondWith: {44 headers: {45 "Content-Type": "application/json; charset=utf-8"46 },47 {48 }49 }50 };51 provider.addInteraction(interaction)52 .then(function () {53 done();54 }, function (err) {55 done(err);56 });57 });58 it("returns a successful body", function (done) {59 getMeDogs(url).then(function (response) {
Using AI Code Generation
1const { Matchers } = require('@pact-foundation/pact');2const { somethingLike } = Matchers;3const { like } = Matchers;4const { term } = Matchers;5const { eachLike } = Matchers;6module.exports = {7 "id": somethingLike("123"),8 "name": somethingLike("John"),9 "age": somethingLike(30),10 "address": {11 "city": somethingLike("London"),12 "country": somethingLike("UK")13 },14 "hobbies": eachLike("reading", { min: 1 })15};
Using AI Code Generation
1const { Matchers } = require('@pact-foundation/pact');2const { like, term, eachLike } = Matchers;3const { somethingLike } = Matchers;4const getProductsRequest = {5 withRequest: {6 },7};8const getProductsResponse = {9 willRespondWith: {10 headers: {11 'Content-Type': 'application/json; charset=utf-8',12 },13 body: eachLike({14 id: somethingLike(1),15 name: somethingLike('Product 1'),16 price: somethingLike(9.99),17 }),18 },19};20module.exports = {21};
Using AI Code Generation
1const { Matchers } = require("@pact-foundation/pact");2const { like, term } = Matchers;3const { somethingLike } = Matchers;4const { eachLike } = Matchers;5const getMeARequest = {6 headers: {7 },8 body: {
Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!