Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

goog namespaces #145

Open
shaunlebron opened this issue Sep 23, 2015 · 5 comments
Open

goog namespaces #145

shaunlebron opened this issue Sep 23, 2015 · 5 comments

Comments

@shaunlebron
Copy link
Member

Perhaps we can create a dedicated docs area for commonly used goog namespaces. Preliminary plan is to simply allow manual cljsdoc files for goog things:

  • cljsdoc/<ns>/<symbol>.cljsdoc files for goog symbols
  • cljsdoc/<ns>.cljsdoc for goog namespace

We can use this Closure API data ripped from the official docs to get a simple index used for name validation and type info.


Related discussion:

I'll skip history tracking or parsing of course.
screen shot 2015-09-23 at 12 03 19 pm
screen shot 2015-09-23 at 12 03 29 pm
screen shot 2015-09-23 at 12 03 49 pm

@shaunlebron
Copy link
Member Author

added goog.js to repo

@shaunlebron
Copy link
Member Author

Google Closure Library is like the large standard library of clojurescript, like that of Python, Ruby, etc.

  • peter shuck's talk

@shaunlebron
Copy link
Member Author

Pasted this into the readme, generated from googs.clj

:i  :ns               :overview
0   goog.array        Utilities for manipulating arrays.
1   goog.asserts      Utilities to check the preconditions, postconditions and invariants runtime.
2   goog.color        Utilities related to color and color conversion.
3   goog.crypt        Namespace with crypto related helper functions.
4   goog.cssom        CSS Object Model helper functions.
5   goog.date         Functions and objects for date representation and manipulation.
6   goog.db           Wrappers for the HTML5 IndexedDB.
7   goog.debug        Logging and debugging utilities.
8   goog.dispose      The dispose method is used to clean up references and resources.
9   goog.dom          Utilities for manipulating the browser's Document Object Model Inspiration taken *heavily* from mochikit (http://mochikit.com/).
10  goog.events       An event manager for both native browser event targets and custom JavaScript event targets (`goog.events.Listenable`).
11  goog.format       Provides utility functions for formatting strings, numbers etc.
12  goog.fs           Wrappers for the HTML5 File API.
13  goog.functions    Utilities for creating functions.
14  goog.fx           Legacy stub for the goog.fx namespace.
15  goog.graphics     Graphics utility functions and factory methods.
16  goog.iter         Python style iteration utilities.
17  goog.json         JSON utility functions.
18  goog.locale       Functions for dealing with Date formatting & Parsing, County and language name, TimeZone list.
19  goog.log          Basic strippable logging definitions.
20  goog.math         Additional mathematical functions.
21  goog.memoize      Tool for caching the result of expensive deterministic functions.
22  goog.messaging    Functions for manipulating message channels.
23  goog.object       Utilities for manipulating objects/maps/hashes.
24  goog.positioning  Common positioning code.
25  goog.proto        Protocol buffer serializer.
26  goog.reflect      Useful compiler idioms.
27  goog.singleton    Provides an implementation for getInstance() methods.
28  goog.soy          Provides utility methods to render soy template.
29  goog.string       Utilities for string manipulation.
30  goog.structs      Generics method for collection-like classes and objects.
31  goog.style        Utilities for element styles.
32  goog.testing      Enable mocking of functions not attached to objects whether they be global / top-level or anonymous methods / closures.
33  goog.tweak        Provides facilities for creating and querying tweaks.
34  goog.url          Class for parsing strings into URLs using browser native resolution.
35  goog.vec          Supplies global data types and constants for the vector math library.
36  goog.webgl        Constants used by the WebGL rendering, including all of the constants used from the WebGL context.
37  goog.window       Utilities for window manipulation.

@shaunlebron
Copy link
Member Author

some highlight features I noticed:

  • goog.array - for shuffle, binary insert
  • goog.color - color conversion
  • goog.crypt - for md5, sha
  • goog.cssom - for modifying stylesheets
  • goog.date - for defining date intervals
  • goog.format - email parsing, html/json pretty printer
  • goog.string - title/camel case
  • goog.math.interpolators - has monotonic cubic splines to prevent dipping past control points

I also forgot about the Closure Cheatsheet, and noticed it has been down since 2018. archived here

Cheatsheet’s markdown files are here though: https://github.com/kuzmisin/closurecheatsheet

@shaunlebron
Copy link
Member Author

API docs are here: https://google.github.io/closure-library/api/

Source is gh-pages here: https://github.com/google/closure-library/tree/gh-pages

Recent discussion about its maintenance: google/closure-library#1153 (comment)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant