UNPKG

can

Version:

MIT-licensed, client-side, JavaScript framework that makes building rich web applications easy.

887 lines (556 loc) 30.1 kB
<!DOCTYPE html> <!--#################################################################### THIS IS A GENERATED FILE -- ANY CHANGES MADE WILL BE OVERWRITTEN INSTEAD CHANGE: source: [object Object] @module can-fixture ######################################################################## --> <html lang="en"> <head> <meta charset="utf-8"> <title>CanJS - can-fixture</title> <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no"> <link rel="stylesheet" type="text/css" href="./static/bundles/bit-docs-site/static.css"> <link rel="shortcut icon" sizes="16x16 24x24 32x32 48x48 64x64" href="/docs/images/canjs_favicon.ico"> <link rel="apple-touch-icon" sizes="57x57" href="../docs/images/canjs_favicon_57x57.png"> <link rel="apple-touch-icon-precomposed" sizes="57x57" href="../docs/images/canjs_favicon_57x57.png"> <link rel="apple-touch-icon" sizes="72x72" href="../docs/images/canjs_favicon_72x72.png"> <link rel="apple-touch-icon" sizes="114x114" href="../docs/images/canjs_favicon_114x114.png"> <link rel="apple-touch-icon" sizes="120x120" href="../docs/images/canjs_favicon_128x128.png"> <link rel="apple-touch-icon" sizes="144x144" href="../docs/images/canjs_favicon_144x144.png"> <link rel="apple-touch-icon" sizes="152x152" href="../docs/images/canjs_favicon_152x152.png"> <meta content="yes" name="apple-mobile-web-app-capable"> <meta name="apple-mobile-web-app-status-bar-style" content="white-translucent"> <script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','https://www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-2302003-11', 'auto'); ga('send', 'pageview'); </script> </head> <body> <input type="checkbox" id="nav-trigger" class="nav-trigger"/> <label for="nav-trigger">Menu</label> <div id="everything"> <div id="left" class="column"> <div class="top-left"> <div class="brand"> <div class="logo"> <a href="../index.html" alt="CanJS"></a> <div class="dropdown project-dropdown"> <a href="https://donejs.com/">DoneJS</a> <a href="http://stealjs.com/">StealJS</a> <a href="http://jquerypp.com/">jQuery ++</a> <a href="https://funcunit.com/">FuncUnit</a> <a href="http://documentjs.com/">DocumentJS</a> </div> </div> <div class="version"> <div class="version-number"> 3.0.0 </div> <div class="dropdown version-dropdown"> <a href="https://v2.canjs.com">2.3.27</a> </div> </div> </div> <div class="search-bar"> <p> &nbsp; </p> </div> </div> <div class="bottom-left"> <div class="social-side-container"> <ul class="social-side"> <li> <a class="header-mobile github" href="https://github.com/canjs/canjs" target="_blank"><img class="social-icon-small" src="../docs/images/github.png">Github</a> </li> <li> <a class="header-mobile twitter" href="https://twitter.com/canjs" target="_blank"><img class="social-icon-small" src="../docs/images/twitter.png">Twitter</a> </li> </ul> <ul class="social-side"> <li> <a class="header-mobile" href="https://gitter.im/canjs/canjs" target="_blank">Chat</a> </li> <li> <a class="header-mobile" href="http://forums.donejs.com/c/canjs" target="_blank">Forum</a> </li> </ul> </div> <ul> <li class=" "> <a class="page" href="guides.html" title="Welcome to CanJS! These guides are here to help you develop and improve your relationship with CanJS. After all, picking a JavaScript framework is a commitment. We want CanJS to be the framework you marry. This page helps you know how advance through the different stages of this relationship:"> Guides </a> </li> <li class=" "> <a class="page" href="can-core.html" title="The best, most hardened and generally useful libraries in CanJS."> Core </a> </li> <li class=" parent expanded"> <a class="page" href="can-ecosystem.html" title="Useful libraries that extend or add important features to the core collection."> Ecosystem </a> <ul> <li class=" "> <a class="module" href="can-construct-super.html" title="can.Construct.super is a plugin that makes it easier to call base functions from inside inheriting functions."> can-construct-super </a> </li> <li class=" "> <a class="module" href="can-define-stream.html" title="Define property values using streams. can-stream is used internally to provide the stream functionality."> can-define-stream </a> </li> <li class="current parent expanded"> <a class="module" href="can-fixture.html" title="can-fixture intercepts an AJAX request and simulates the response with a file or function."> can-fixture </a> <ul> <li> <span>types</span> <ul> <li class=" "> <a class="function" href="can-fixture/StoreType.html" title=""> Store </a> </li> <li class=" "> <a class="typedef" href="can-fixture/types/ajaxSettings.html" title="An object used to match incoming request objects."> ajaxSettings </a> </li> <li class=" "> <a class="typedef" href="can-fixture/types/request.html" title="An object with easily digestible values derived from the mock XHR object."> request </a> </li> <li class=" "> <a class="typedef" href="can-fixture.requestHandler.html" title=""> requestHandler </a> </li> <li class=" "> <a class="typedef" href="can-fixture.response.html" title=""> response </a> </li> </ul> </li> <li> <span>properties</span> <ul> <li class=" "> <a class="property" href="can-fixture.delay.html" title="can-fixture.delay"> delay </a> </li> <li class=" "> <a class="property" href="can-fixture.on.html" title=""> on </a> </li> <li class=" "> <a class="function" href="can-fixture.rand.html" title=""> rand </a> </li> <li class=" "> <a class="function" href="can-fixture.store.html" title=""> store </a> </li> </ul> </li> </ul> </li> <li class=" "> <a class="module" href="can-fixture-socket.html" title="Simulate socket.io services."> can-fixture-socket </a> </li> <li class=" "> <a class="module" href="can-jquery.html" title="Extensions to the event system so that can events and jQuery events are cross-bound. Importing can-jquery will return the jQuery object and wire up the event system. var $ = require(&quot;can-jquery&quot;); var div = $(&quot;&lt;div&gt;&quot;); div.on(&quot;inserted&quot;, function(){ // it inserted! }); $(&quot;body&quot;).append(div);"> can-jquery </a> </li> <li class=" "> <a class="module" href="can-stache-converters.html" title="Provides a set of converters useful for two-way binding with form elements such as &lt;input&gt; and &lt;select&gt;."> can-stache-converters </a> </li> <li class=" "> <a class="module" href="can-stream.html" title="Convert observable values into streams. Kefir is used internally to provide the stream functionality."> can-stream </a> </li> <li class=" "> <a class="module" href="can-vdom.html" title="A browser-lite environment for Node.js or a worker thread."> can-vdom </a> </li> <li class=" "> <a class="module" href="can-view-import.html" title=""> can-view-import </a> </li> <li class=" "> <a class="module" href="can-zone.html" title=""> can-zone </a> </li> <li class=" "> <a class="module" href="steal-stache.html" title="A StealJS extension that allows stache templates as dependencies."> steal-stache </a> </li> </ul> </li> <li class=" "> <a class="page" href="can-infrastructure.html" title="Utility libraries that power the core and ecosystem collection."> Infrastructure </a> </li> <li class=" "> <a class="page" href="can-legacy.html" title="Former libraries that we still accept patches for, but are not under active development."> Legacy </a> </li> </ul> </div> </div> <div id="right" class="column"> <div class="top-right"> <div class="top-right-top"> <ul class="top-right-bitovi"> <li class="dropdown"> <a href="http://bitovi.com" class="bitovi icon-bits">Bitovi</a> <ul class="dropdown-menu"> <li><a href="http://bitovi.com">Bitovi.com</a></li> <li><a href="http://bitovi.com/blog/">Blog</a></li> <li><a href="http://bitovi.com/consulting/">Consulting</a></li> <li><a href="http://bitovi.com/training/">Training</a></li> <li><a href="http://bitovi.com/open-source/">Open Source</a></li> </ul> </li> </ul> <div class="brand"> <div class="logo"> <a href="../index.html" alt="CanJS"></a> </div> </div> <ul class="top-right-links"> <li> <a href="https://gitter.im/canjs/canjs">Chat</a> </li> <li> <a href="http://forums.donejs.com/c/canjs">Forum</a> </li> <li> <a class="github-button nav-social" href="https://github.com/canjs/canjs" data-count-href="/canjs/canjs/stargazers" data-count-api="/repos/canjs/canjs#stargazers_count">Star</a> </li> <li> <a href="https://twitter.com/canjs" class="twitter-follow-button nav-social" data-show-count="true" data-show-screen-name="false">Follow @canjs</a><script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script> </li> </ul> </div> <div class="breadcrumb"> <li><a href="../index.html">CanJS</a></li> / <li><a href="can-ecosystem.html">Ecosystem</a></li> / <li><a href="can-fixture.html">can-fixture</a></li> <li class="breadcrumb-dropdown">/ <a> On this page</a> <ul class="on-this-page"></ul> </li> <div class="nav-toggle" title="Back to top"></div> </div> </div> <div class="bottom-right"> <article> <section class="title"> <div class="page-type"> <h1>can-fixture</h1> <div>module</div> </div> <section class="description"> <p>can-fixture intercepts an AJAX request and simulates the response with a file or function.</p> </section> </section> <section class="on-this-page-table"> </section> <section class="title-footer"> <ul class="title-social"> <li> <a class="npm-button" href="https://www.npmjs.com/package/can-fixture"> <img src="https://img.shields.io/badge/npm%20package-1.0.7-brightgreen.svg" alt="npm package badge" /> </a> </li> <li> <a class="github-button nav-social" href="https://github.com/canjs/can-fixture" data-count-href="/canjs/can-fixture/stargazers" data-count-api="/repos/canjs/can-fixture#stargazers_count">Star</a> </li> </ul> <ul class="title-links"> <!-- <li><a href="#">docco</a></li> --> <li><a href="//github.com/canjs/can-fixture/tree/v1.0.7/docs/can-fixture.md">source</a></li> <!-- <li><a href="#">download</a></li> --> <!-- <li><a href="#">tests</a></li> --> </ul> </section> <div class="signature"> <h2 class="signature-title"> <code>fixture(ajaxSettings, requestHandler(...))</code> </h2> <p>If an XHR request matches ajaxSettings, calls requestHandler with the XHR requests data. Makes the XHR request respond with the return value of requestHandler or the result of calling its response argument.</p> <p>The following traps requests to GET /todos and responds with an array of data:</p> <pre><code class="language-js">fixture({method: &quot;get&quot;, url: &quot;/todos&quot;}, function(request, response, headers, ajaxSettings){ return { data: [ {id: 1, name: &quot;dishes&quot;}, {id: 2, name: &quot;mow&quot;} ] }; }) </code></pre> <p>When adding a fixture, it will remove any identical fixtures from the list of fixtures. The last fixture added will be the first matched.</p> <div class="parameters"> <h3 class="parameters-title">Parameters</h3> <ol> <li><b>ajaxSettings</b> <code>{<a href="can-fixture/types/ajaxSettings.html" title="An object used to match incoming request objects.">ajaxSettings</a>}</code>: <p>An object that is used to match values on an XHR object, namely the url and method. url can be templated like /todos/{_id}.</p> </li> <li><b>requestHandler</b> <code>{<a href="can-fixture.requestHandler.html" title="">requestHandler</a>(<a href="can-fixture/types/request.html" title="An object with easily digestible values derived from the mock XHR object.">request</a>, <a href="can-fixture.response.html" title="">response</a>, requestHeaders, ajaxSettings)}</code>: <p>Handles the request and provides a response. The next section details this function's use.</p> </li> </ol> </div> </div> <div class="signature"> <h2 class="signature-title"> <code>fixture(ajaxSettings, url)</code> </h2> <p>Redirects the request to another url. This can be useful for simulating a response with a file.</p> <pre><code class="language-js">fixture({url: &quot;/tasks&quot;}, &quot;fixtures/tasks.json&quot;); </code></pre> <p>Placeholders available in the <code>ajaxSettings</code> url will be available in the redirect url:</p> <pre><code class="language-js">fixture({url: &quot;/tasks/{id}&quot;}, &quot;fixtures/tasks/{id}.json&quot;); </code></pre> </div> <div class="signature"> <h2 class="signature-title"> <code>fixture(ajaxSettings, data)</code> </h2> <p>Responds with the <code>JSON.stringify</code> result of <code>data</code>.</p> <pre><code class="language-js">fixture({url: &quot;/tasks&quot;}, {tasks: [{id: 1, complete: false}]}); </code></pre> </div> <div class="signature"> <h2 class="signature-title"> <code>fixture(ajaxSettings, delay)</code> </h2> <p>Delays the ajax request from being made for <code>delay</code> milliseconds.</p> <pre><code class="language-js">fixture({url: &quot;/tasks&quot;}, 2000); </code></pre> <p>This doesn't simulate a response, but is useful for simulating slow connections.</p> </div> <div class="signature"> <h2 class="signature-title"> <code>fixture(ajaxSettings, null)</code> </h2> <p>Removes the matching fixture from the list of fixtures.</p> <pre><code class="language-js">fixture({url: &quot;/tasks&quot;}, &quot;fixtures/tasks.json&quot;); $.get(&quot;/tasks&quot;) // requests fixtures/tasks.json fixture({url: &quot;/tasks&quot;}, null); $.get(&quot;/tasks&quot;) // requests /tasks </code></pre> </div> <div class="signature"> <h2 class="signature-title"> <code>fixture(methodAndUrl, url|data|requestHandler)</code> </h2> <p>A short hand for creating an <a href="can-fixture/types/ajaxSettings.html" title="An object used to match incoming request objects.">ajaxSettings</a> with a <code>method</code> and <code>url</code>.</p> <pre><code class="language-js">fixture(&quot;GET /tasks&quot;, requestHandler ); // is the same as fixture({method: &quot;get&quot;, url: &quot;/tasks&quot;}, requestHandler ); </code></pre> <p>The format is <code>METHOD URL</code>.</p> </div> <div class="signature"> <h2 class="signature-title"> <code>fixture(url, url|data|requestHandler)</code> </h2> <p>A short hand for creating an <a href="can-fixture/types/ajaxSettings.html" title="An object used to match incoming request objects.">ajaxSettings</a> with just a <code>url</code>.</p> <pre><code class="language-js">fixture(&quot;/tasks&quot;, requestHandler); // is the same as fixture({url: &quot;/tasks&quot;}, requestHandler); </code></pre> </div> <div class="signature"> <h2 class="signature-title"> <code>fixture(fixtures)</code> </h2> <p>Create multiple fixtures at once.</p> <pre><code class="language-js">fixture({ &quot;POST /tasks&quot;: function(){ return {id: Math.random()} }, &quot;GET /tasks&quot;: {data: [{id: 1, name: &quot;mow lawn&quot;}]}, &quot;/people&quot;: &quot;fixtures/people.json&quot; }); </code></pre> <div class="parameters"> <h3 class="parameters-title">Parameters</h3> <ol> <li><b>fixtures</b> <code>{Object&lt;methodAndUrl,String|Object|<a href="can-fixture.requestHandler.html" title="">requestHandler</a>(<a href="can-fixture/types/request.html" title="An object with easily digestible values derived from the mock XHR object.">request</a>, <a href="can-fixture.response.html" title="">response</a>, requestHeaders, ajaxSettings)|<a href="can-fixture/StoreType.html" title="">Store</a>()&gt;}</code>: <p>A mapping of methodAndUrl to some response argument type.</p> </li> </ol> </div> </div> <div class="signature"> <h2 class="signature-title"> <code>fixture(restfulUrl, store)</code> </h2> <p>Wire up a restful API scheme to a store.</p> <pre><code class="language-js">var todoAlgebra = new set.Algebra( set.props.id(&quot;id&quot;) ); var todoStore = fixture.store([ { id: 1, name: 'Do the dishes'}, { id: 2, name: 'Walk the dog'} ], todoAlgebra); fixture(&quot;/api/todos/{id}&quot;, todoStore); // can also be written fixture(&quot;/api/todos&quot;, todoStore); </code></pre> <p>This is a shorthand for wiring up the <code>todoStore</code> as follows:</p> <pre><code class="language-js">fixture({ &quot;GET /api/todos&quot;: todoStore.getListData, &quot;GET /api/todos/{id}&quot;: todoStore.getData, &quot;POST /api/todos&quot;: todosStore.createData, &quot;PUT /api/todos/{id}&quot;: todos.updateData, &quot;DELETE /api/todos/{id}&quot;: todos.destroyData }); </code></pre> <div class="parameters"> <h3 class="parameters-title">Parameters</h3> <ol> <li><b>restfulUrl</b> <code>{String}</code>: <p>The url that may include a template for the place of the ID prop. The <code>list</code> url is assumed to be <code>restfulUrl</code> with the <code>/{ID_PROP}</code> part removed, if provided; otherwise the <code>item</code> url is assumed to have the <code>/{ID_PROP}</code> part appended to the end.</p> </li> <li><b>store</b> <code>{<a href="can-fixture/StoreType.html" title="">Store</a>()}</code>: <p>A store produced by <a href="can-fixture.store.html" title="">store</a>.</p> </li> </ol> </div> </div> <script type="text/javascript"> var docObject = {"src":{"path":"node_modules/can-fixture/docs/can-fixture.md"},"description":"can-fixture intercepts an AJAX request and simulates the response with a file or function. \n","type":"module","title":"","types":[{"type":"function","returns":{"types":[{"type":"undefined"}]},"params":[]}],"name":"can-fixture","parent":"can-ecosystem","package":{"_args":[[{"raw":"can-fixture@1.0.7","scope":null,"escapedName":"can-fixture","name":"can-fixture","rawSpec":"1.0.7","spec":"1.0.7","type":"version"},"/Users/kevin/dev/canjs"]],"_from":"can-fixture@1.0.7","_id":"can-fixture@1.0.7","_inCache":true,"_location":"/can-fixture","_nodeVersion":"6.9.1","_npmOperationalInternal":{"host":"packages-18-east.internal.npmjs.com","tmp":"tmp/can-fixture-1.0.7.tgz_1479141336412_0.6870447981636971"},"_npmUser":{"name":"phillipskevin","email":"kphillips86@gmail.com"},"_npmVersion":"3.10.8","_phantomChildren":{},"_requested":{"raw":"can-fixture@1.0.7","scope":null,"escapedName":"can-fixture","name":"can-fixture","rawSpec":"1.0.7","spec":"1.0.7","type":"version"},"_requiredBy":["/","/can-fixture-socket","/can-map-backup"],"_resolved":"https://registry.npmjs.org/can-fixture/-/can-fixture-1.0.7.tgz","_shasum":"8962f4601cdedb246f0863ef178f3b298bb4f71b","_shrinkwrap":null,"_spec":"can-fixture@1.0.7","_where":"/Users/kevin/dev/canjs","author":{"name":"Bitovi"},"bit-docs":{"dependencies":{"bit-docs-glob-finder":"^0.0.5","bit-docs-dev":"^0.0.3","bit-docs-js":"^0.0.4","bit-docs-generate-readme":"^0.0.10"},"glob":{"pattern":"**/*.{js,md}","ignore":"node_modules/**/*"},"parent":"can-fixture","readme":{"apis":"./docs/apis.json"}},"bugs":{"url":"https://github.com/canjs/can-fixture/issues"},"dependencies":{"can-connect":"^1.0.0","can-set":"^1.0.0","can-util":"^3.0.1"},"description":"Intercept AJAX requests and simulate responses.","devDependencies":{"bit-docs":"0.0.7","jquery":"^2.2.4","jshint":"^2.7.0","steal":"^0.16.21","steal-qunit":"^0.1.1","steal-tools":"^0.16.5","testee":"^0.2.5"},"directories":{},"dist":{"shasum":"8962f4601cdedb246f0863ef178f3b298bb4f71b","tarball":"https://registry.npmjs.org/can-fixture/-/can-fixture-1.0.7.tgz"},"gitHead":"047c8441be7cc460064822a75d802ab0bac5826d","homepage":"https://github.com/canjs/can-fixture","keywords":["CanJS"],"license":"MIT","main":"fixture.js","maintainers":[{"name":"alfredo-delgado","email":"alfred@adelgado.org"},{"name":"bmomberger-bitovi","email":"brad@bitovi.com"},{"name":"daffl","email":"daff@neyeon.de"},{"name":"justinbmeyer","email":"justin@bitovi.com"},{"name":"matthewp","email":"matthew@matthewphillips.info"},{"name":"phillipskevin","email":"kphillips86@gmail.com"},{"name":"sinjhin","email":"john@ardea.io"}],"name":"can-fixture","optionalDependencies":{},"readme":"ERROR: No README data found!","repository":{"type":"git","url":"git+https://github.com/canjs/can-fixture.git"},"scripts":{"build":"node build.js","jshint":"jshint fixture.js core.js store.js xhr.js --config","postversion":"git push --tags && git checkout master && git branch -D release && git push","preversion":"npm test && npm run build","release:major":"npm version major && npm publish","release:minor":"npm version minor && npm publish","release:patch":"npm version patch && npm publish","release:pre":"npm version prerelease && npm publish","test":"npm run jshint && npm run testee","testee":"testee --browsers firefox test/test.html","version":"git commit -am \"Update dist for release\" && git checkout -b release && git add -f dist/"},"system":{"npmAlgorithm":"flat"},"version":"1.0.7"},"signatures":[{"code":"fixture(ajaxSettings, requestHandler(...))","description":"\n\nIf an XHR request matches ajaxSettings, calls requestHandler with the XHR requests data. Makes the XHR request respond with the return value of requestHandler or the result of calling its response argument.\n\nThe following traps requests to GET /todos and responds with an array of data:\n\n```js\nfixture({method: \"get\", url: \"/todos\"},\n function(request, response, headers, ajaxSettings){\n return {\n data: [\n {id: 1, name: \"dishes\"},\n {id: 2, name: \"mow\"}\n ]\n };\n})\n```\n\nWhen adding a fixture, it will remove any identical fixtures from the list of fixtures. The last fixture added will be the first matched.\n","params":[{"types":[{"type":"can-fixture/types/ajaxSettings"}],"name":"ajaxSettings","description":"An object that is used to match values on an XHR object, namely the url and method. url can be templated like /todos/{_id}."},{"types":[{"type":"can-fixture.requestHandler"}],"name":"requestHandler","description":"Handles the request and provides a response. The next section details this function's use.\n"}]},{"code":"fixture(ajaxSettings, url)","description":"\n\nRedirects the request to another url. This can be useful for simulating a response with a file.\n\n```js\nfixture({url: \"/tasks\"}, \"fixtures/tasks.json\");\n```\n\nPlaceholders available in the `ajaxSettings` url will be available in the redirect url:\n\n```js\nfixture({url: \"/tasks/{id}\"}, \"fixtures/tasks/{id}.json\");\n```\n","params":[]},{"code":"fixture(ajaxSettings, data)","description":"\n\nResponds with the `JSON.stringify` result of `data`.\n\n```js\nfixture({url: \"/tasks\"}, {tasks: [{id: 1, complete: false}]});\n```\n","params":[]},{"code":"fixture(ajaxSettings, delay)","description":"\n\nDelays the ajax request from being made for `delay` milliseconds.\n\n```js\nfixture({url: \"/tasks\"}, 2000);\n```\n\nThis doesn't simulate a response, but is useful for simulating slow connections.\n","params":[]},{"code":"fixture(ajaxSettings, null)","description":"\n\nRemoves the matching fixture from the list of fixtures.\n\n```js\nfixture({url: \"/tasks\"}, \"fixtures/tasks.json\");\n\n$.get(\"/tasks\") // requests fixtures/tasks.json\n\nfixture({url: \"/tasks\"}, null);\n\n$.get(\"/tasks\") // requests /tasks\n```\n","params":[]},{"code":"fixture(methodAndUrl, url|data|requestHandler)","description":"\n\nA short hand for creating an [can-fixture/types/ajaxSettings] with a `method` and `url`.\n\n```js\nfixture(\"GET /tasks\", requestHandler );\n\n// is the same as\n\nfixture({method: \"get\", url: \"/tasks\"}, requestHandler );\n```\n\nThe format is `METHOD URL`.\n","params":[]},{"code":"fixture(url, url|data|requestHandler)","description":"\n\nA short hand for creating an [can-fixture/types/ajaxSettings] with just a `url`.\n\n```js\nfixture(\"/tasks\", requestHandler);\n\n// is the same as\n\nfixture({url: \"/tasks\"}, requestHandler);\n```\n","params":[]},{"code":"fixture(fixtures)","description":"\n\nCreate multiple fixtures at once.\n\n```js\nfixture({\n \"POST /tasks\": function(){\n return {id: Math.random()}\n },\n \"GET /tasks\": {data: [{id: 1, name: \"mow lawn\"}]},\n \"/people\": \"fixtures/people.json\"\n});\n```\n","params":[{"types":[{"type":"Object","template":[{"types":[{"type":"methodAndUrl"}]},{"types":[{"type":"String"},{"type":"Object"},{"type":"can-fixture.requestHandler"},{"type":"can-fixture/StoreType"}]}]}],"name":"fixtures","description":"A mapping of methodAndUrl to\nsome response argument type.\n\n\n"}]},{"code":"fixture(restfulUrl, store)","description":"\n\nWire up a restful API scheme to a store.\n\n```js\nvar todoAlgebra = new set.Algebra(\n set.props.id(\"id\")\n);\nvar todoStore = fixture.store([\n { id: 1, name: 'Do the dishes'},\n { id: 2, name: 'Walk the dog'}\n], todoAlgebra);\n\nfixture(\"/api/todos/{id}\", todoStore); // can also be written fixture(\"/api/todos\", todoStore);\n```\n\nThis is a shorthand for wiring up the `todoStore` as follows:\n\n```js\nfixture({\n \"GET /api/todos\": todoStore.getListData,\n \"GET /api/todos/{id}\": todoStore.getData,\n \"POST /api/todos\": todosStore.createData,\n \"PUT /api/todos/{id}\": todos.updateData,\n \"DELETE /api/todos/{id}\": todos.destroyData\n});\n```\n","params":[{"types":[{"type":"String"}],"name":"restfulUrl","description":"The url that may include a template for the place of the ID prop. The `list` url is assumed to be `restfulUrl` with the `/{ID_PROP}` part removed, if provided; otherwise the `item` url is assumed to have the `/{ID_PROP}` part appended to the end."},{"types":[{"type":"can-fixture/StoreType"}],"name":"store","description":"A store produced by [can-fixture.store].\n"}]}],"_curParam":{"types":[{"type":"can-fixture/StoreType"}],"name":"store","description":"A store produced by [can-fixture.store].\n"},"pathToRoot":".."}; </script> </article> <footer><p>CanJS is part of <a href="http://donejs.com" target="_blank">DoneJS</a>. Created and maintained by the core <a href="https://donejs.com/About.html#section=section_Team" target="_blank">DoneJS team</a> and <a href="http://bitovi.com" target="_blank">Bitovi</a>. <strong>Currently 3.0.0.</strong></p></footer> </div> </div> </div> <script> steal = { instantiated: { "bundles/bit-docs-site/static.css!$css" : null } }; </script> <script type='text/javascript' data-main="bit-docs-site/static" src="./static/node_modules/steal/steal.production.js"></script> <script async defer src="https://buttons.github.io/buttons.js"></script> </body> </html>