Giter VIP home page Giter VIP logo

jaxine's People

Contributors

plastikfan avatar

Watchers

 avatar

jaxine's Issues

Convert To Typescript

Conversion to typescript is required because of the need to use interfaces which of course don't exist in JS. This may not work out well because of ramda, but its worth trying it.

Create ability for client to specify more options via Spec object

converter.buildElement accepts a getOptions calback which returns the build options. The build options currrently allows for only id, recurse and discards. Options needs to be expanded to allow further customisations eg the name of the _children, element name(_) attributes plus others.

index.js exports is incorrect

The export is currently setup to export just a single function. This does not scale. If another function were to be introduced, any downstream clients would have to change their require statement. This needs to be fixed before being published.

Tidy up comments and rename some variables

Since this repo was created out of a component embedded inside another repo, there are still some inappropriate comments and in-correct variable naming.

eg, any variable named 'inherits' should be renamed to recurse, since recurse is the generic name, whereas inherits can be the value of what is set in recurse.

Classify jaxine

Introduce a class that wraps jaxine functionality. This is in preparation for converting to typescript and allow jaxine to be properly injected into client via a composition root.

Recfactor Spec/Options

  • Change descendants dependant code to access it from options instead of spec
  • Define curried version of all API functions and partially apply with default spec
  • Update validateSpec
  • Update al test cases
  • Update README
  • Ensure all jsdoc comments are up to date
  • Ensure index.js is up to date

throwIfMissing not working

Not working when enabled. TypeError occurs and the following is the stack trace:

     TypeError: fn is not a function
      at find (node_modules/ramda/src/find.js:37:9)
      at /Users/Plastikfan/dev/github/js/jaxine/node_modules/ramda/src/internal/_dispatchable.js:41:15
      at /Users/Plastikfan/dev/github/js/jaxine/node_modules/ramda/src/internal/_curry2.js:22:18
      at f1 (node_modules/ramda/src/internal/_curry1.js:18:17)
      at buildChildren (webpack:///./lib/converter.impl.js?:318:57)
      at buildElementWithSpec (webpack:///./lib/converter.impl.js?:30:15)
      at XWrap.R.reduce [as f] (webpack:///./lib/converter.impl.js?:280:19)
      at XWrap.@@transducer/step (node_modules/ramda/src/internal/_xwrap.js:12:17)
      at _arrayReduce (node_modules/ramda/src/internal/_reduce.js:11:34)
      at _reduce (node_modules/ramda/src/internal/_reduce.js:45:12)
      at /Users/Plastikfan/dev/github/js/jaxine/node_modules/ramda/src/internal/_curry3.js:32:18
      at f1 (node_modules/ramda/src/internal/_curry1.js:18:17)
      at buildChildren (webpack:///./lib/converter.impl.js?:282:11)
      at Object.buildElementWithSpec (webpack:///./lib/converter.impl.js?:30:15)
      at R.curry (webpack:///./lib/converter.js?:97:15)
      at /Users/Plastikfan/dev/github/js/jaxine/node_modules/ramda/src/internal/_curryN.js:37:27
      at /Users/Plastikfan/dev/github/js/jaxine/node_modules/ramda/src/internal/_arity.js:22:19
      at Object.buildElement (webpack:///./lib/converter.js?:114:10)
      at Context.it (webpack:///./tests/converter.impl.spec.js?:50:30)

npm can't load jaxine

The package .json main entry points to index.js. However the index.js file lives in lib/index.js. So we either need to move the file or redefine the main entry. I think the convention is that the index should live in the root directory, so probably best to move the file.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.