This repository was archived by the owner on Nov 8, 2024. It is now read-only.
File tree Expand file tree Collapse file tree 6 files changed +126
-1
lines changed Expand file tree Collapse file tree 6 files changed +126
-1
lines changed Original file line number Diff line number Diff line change
1
+ node_modules /
2
+ package-lock.json
Original file line number Diff line number Diff line change
1
+ # API Elements (JavaScript) CHANGELOG
2
+
3
+ ## 0.1.0
4
+
5
+ Initial Release.
Original file line number Diff line number Diff line change 1
- # api-elements.js
1
+ # API Elements JavaScript
2
+
3
+ This library provides an interface to [ API Elements] ( http://apielements.org ) in JavaScript.
4
+
5
+ ## Install
6
+
7
+ ``` shell
8
+ $ npm install api-elements
9
+ ```
10
+
11
+ ## Usage
12
+
13
+ ### Node
14
+
15
+ ``` javascript
16
+ const apiElements = require (' api-elements' );
17
+ const namespace = new apiElements.Namespace ();
18
+
19
+
20
+ // Parsing a JSON Representation of API Elements tree
21
+ const parseResult = namespace .serialiser .deserialise ({
22
+ element: ' parseResult' ,
23
+ content: []
24
+ });
25
+
26
+ console .log (parseResult);
27
+
28
+
29
+ // Creating API Elements directly
30
+ const parseResult = new namespace.elements.ParseResult ();
31
+ console .log (parseResult);
32
+ ```
Original file line number Diff line number Diff line change
1
+ const minim = require ( 'minim' ) ;
2
+ const minimParseResult = require ( 'minim-parse-result' ) ;
3
+
4
+
5
+ class Namespace extends minim . Namespace {
6
+ constructor ( ) {
7
+ super ( ) ;
8
+ this . use ( minimParseResult ) ;
9
+ }
10
+ }
11
+
12
+
13
+ const namespace = new Namespace ( ) ;
14
+
15
+
16
+ module . exports = namespace ;
17
+ module . exports . Namespace = Namespace ;
Original file line number Diff line number Diff line change
1
+ {
2
+ "name" : " api-elements" ,
3
+ "version" : " 0.1.0" ,
4
+ "description" : " API Elements JavaScript" ,
5
+ "main" : " lib/api-elements.js" ,
6
+ "repository" : {
7
+ "type" : " git" ,
8
+ "url" : " https://github.com/apiaryio/api-elements.js.git"
9
+ },
10
+ "scripts" : {
11
+ "test" : " mocha"
12
+ },
13
+ "author" : " Apiary" ,
14
+ "license" : " MIT" ,
15
+ "dependencies" : {
16
+ "minim" : " ^0.20.4" ,
17
+ "minim-parse-result" : " ^0.10.0"
18
+ },
19
+ "devDependencies" : {
20
+ "chai" : " ^4.1.2" ,
21
+ "mocha" : " ^5.0.0"
22
+ },
23
+ "engines" : {
24
+ "node" : " >=4"
25
+ },
26
+ "author" :
" Apiary.io <[email protected] >" ,
27
+ "license" : " MIT"
28
+ }
Original file line number Diff line number Diff line change
1
+ const { expect } = require ( 'chai' ) ;
2
+
3
+ const apiElements = require ( '../lib/api-elements' ) ;
4
+
5
+
6
+ describe ( 'API Elements' , ( ) => {
7
+ context ( 'provides a default namespace' , ( ) => {
8
+ let namespace ;
9
+
10
+ before ( ( ) => {
11
+ namespace = apiElements ;
12
+ } ) ;
13
+
14
+ context ( 'which provides elements' , ( ) => {
15
+ it ( 'contains ParseResult' , ( ) => {
16
+ expect ( namespace . elements . ParseResult ) . to . not . be . null ;
17
+ } ) ;
18
+
19
+ it ( 'contains Category' , ( ) => {
20
+ expect ( namespace . elements . Category ) . to . not . be . null ;
21
+ } ) ;
22
+ } ) ;
23
+ } ) ;
24
+
25
+ context ( 'provides a namespace class' , ( ) => {
26
+ let namespace ;
27
+
28
+ before ( ( ) => {
29
+ namespace = new apiElements . Namespace ( ) ;
30
+ } ) ;
31
+
32
+ context ( 'which provides elements' , ( ) => {
33
+ it ( 'contains ParseResult' , ( ) => {
34
+ expect ( namespace . elements . ParseResult ) . to . not . be . null ;
35
+ } ) ;
36
+
37
+ it ( 'contains Category' , ( ) => {
38
+ expect ( namespace . elements . Category ) . to . not . be . null ;
39
+ } ) ;
40
+ } ) ;
41
+ } ) ;
42
+ } ) ;
You can’t perform that action at this time.
0 commit comments