Coder Social home page Coder Social logo

plato's People

Contributors

eneroth avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

Forkers

mr-oss

plato's Issues

Only keyword keys are supported

Hi there, thanks for this library!
My application uses some string keys in its state map, which plato currently doesn't support. I started working on adding support for strings, but I figured it would be worth generalizing it further to support any type for a key, plus adding a couple features. Thought I'd run this by you before I get too deep into it:

The keys in local storage would be in this format:

{base-key}[{separator}{type-of-key}:{value-of-key}, ...]": value

So for this map: {:foo {"bar" {{:qux "baz"} ['a 'b 'c]}}}, a separator _, and the base key "base-key", we'd get something like this in local storage:

{ "base-key_kw:foo_str:bar_hm:{:qux "baz"}": "[a b c]" }

Tangentially related features:

  • ability to control depth of paths that go into Local Storage keys. So we could, for instance, choose a depth of 2 and have a map like {:foo {:bar {:baz 3}}} and end up with this in local storage:
{ "base-key_kw:foo_kw:bar": "{:baz 3}" }
  • ability to control whether to put vectors into local storage keys or just serialize the whole thing. Something like {:foo [1 2 3]} could be:
"base-key_kw:foo": "[1 2 3]"

or

"base-key_kw:foo": [],
"base-key_kw:foo_0": 1,
"base-key_kw:foo_1": 2,
"base-key_kw:foo_2": 3

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.