New set of libraries: "Core Haxe"

Howdy again!

So, some more updates to this, not the name change, its fairly inconsequential at this point, so maybe ill change it at some point, maybe not. We’ll see, but its more important to get the actual libs up and running first. Apart from bug fixes, i put on a new set of repos:

(full list here: core-haxe)

  • json-rpc - basic typed json-rpc client (based on the rest client)

  • db-core - database abstraction mean you can use different “plugins” to actually supply the implementation (currently only sqlite and mysql, but i plan on adding others as i get time / need them - eg: Postgres, IndexedDB and cassandra i can see me wanting in the near future). The point here is that you can use the same interface to add, remove, query, etc datasets from a variety of datasource (database types essentially)

  • db-mysql - mysql for db-core

  • mysql - this is a set of classes that will allow for the same interface to be used for mysql dbs, this can be used without any of the db-*. The reason this is important is because the node mysql libs have a totally different interface from the sys ones, so its important (imo) to be able to unify that so you can just use “mysql” across haxe targets

  • db-sqlite - sqlite for db-core

  • sqlite3 - same idea as mysql (ie, being able to use sqlite across haxe targets with the same interface). You also dont need to use db-* to use this.

  • libsqlite3 - these are hxcpp externs for libsqlite3 which should perform better than haxe’s inbuilt libsqlite (plus you can use prepared statements etc)

  • queues-core - this is a queue abstraction allowing you to create different message queues (currently only rabbitmq and some internal impls)

  • queues-rabbitmq - the rabbbitmq plugin for queues-core

  • rabbitmq - this is the externs and whatnot for rabbitmq - currently this is just for nodejs, but the idea is similar to the “sqlite” and “mysql” libs - that you can use the same interface for interacting with rabbitmq regardless of haxe target. Like “sqlite” and “mysql” you dont need queues-* to use this.

I think thats about it! Most (all?) of these repos have readmes now (albeit pretty simple ones), and most dont have tests - im actually unsure of a good testing strategy here - especially for the ones that rely on external servers (like mysql and rabbitmq).

Cheers,
Ian

5 Likes