goog namespaces
shaunlebron opened this issue · 5 comments
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 symbolscljsdoc/<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:
added goog.js to repo
Google Closure Library is like the large standard library of clojurescript, like that of Python, Ruby, etc.
- peter shuck's talk
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.
some highlight features I noticed:
goog.array
- for shuffle, binary insertgoog.color
- color conversiongoog.crypt
- for md5, shagoog.cssom
- for modifying stylesheetsgoog.date
- for defining date intervalsgoog.format
- email parsing, html/json pretty printergoog.string
- title/camel casegoog.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
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)