git.fiddlerwoaroof.com
Raw Blame History
{:rename-macros {}, :renames {}, :use-macros {raise datascript.db}, :excludes #{}, :name datascript.pull-parser, :imports nil, :requires {db datascript.db, datascript.db datascript.db}, :uses nil, :defs {PullAttrName {:num-fields 1, :protocols #{cljs.core/IRecord cljs.core/IEquiv cljs.core/IHash cljs.core/ICollection cljs.core/ICounted cljs.core/ISeqable cljs.core/IMeta cljs.core/ICloneable cljs.core/IPrintWithWriter cljs.core/IIterable datascript.pull-parser/IPullSpecComponent cljs.core/IWithMeta cljs.core/IAssociative cljs.core/IMap cljs.core/ILookup}, :name datascript.pull-parser/PullAttrName, :file "out/datascript/pull_parser.cljc", :end-column 24, :type true, :column 12, :internal-ctor true, :line 10, :record true, :end-line 10, :skip-protocol-flag #{cljs.core/IRecord cljs.core/IEquiv cljs.core/IHash cljs.core/ICollection cljs.core/ICounted cljs.core/ISeqable cljs.core/IMeta cljs.core/ICloneable cljs.core/IPrintWithWriter cljs.core/IWithMeta cljs.core/IAssociative cljs.core/IMap cljs.core/ILookup}}, simplify-pattern-clauses {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/pull_parser.cljc", :line 160, :column 8, :end-line 160, :end-column 32, :private true, :arglists (quote ([pattern]))}, :private true, :name datascript.pull-parser/simplify-pattern-clauses, :variadic false, :file "out/datascript/pull_parser.cljc", :end-column 32, :method-params ([pattern]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 160, :end-line 160, :max-fixed-arity 1, :fn-var true, :arglists (quote ([pattern]))}, -as-spec {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/pull_parser.cljc", :line 8, :column 4, :end-line 8, :end-column 12, :protocol datascript.pull-parser/IPullSpecComponent, :doc nil, :arglists (quote ([this]))}, :protocol datascript.pull-parser/IPullSpecComponent, :name datascript.pull-parser/-as-spec, :variadic false, :file "out/datascript/pull_parser.cljc", :end-column 12, :method-params ([this]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 7, :end-line 8, :max-fixed-arity 1, :fn-var true, :arglists (quote ([this])), :doc nil}, wildcard? {:name datascript.pull-parser/wildcard?, :file "out/datascript/pull_parser.cljc", :line 61, :column 1, :end-line 61, :end-column 25, :private true, :meta {:file "/Users/edwlan/todolist/out/datascript/pull_parser.cljc", :line 61, :column 16, :end-line 61, :end-column 25, :private true}}, ->PullMapSpecEntry {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/pull_parser.cljc", :line 39, :column 12, :end-line 39, :end-column 28, :internal-ctor true, :factory :positional, :arglists (quote ([attr porrl]))}, :name datascript.pull-parser/->PullMapSpecEntry, :variadic false, :file "out/datascript/pull_parser.cljc", :end-column 28, :method-params ([attr porrl]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :internal-ctor true, :factory :positional, :line 39, :end-line 39, :max-fixed-arity 2, :fn-var true, :arglists (quote ([attr porrl]))}, map->PullWildcard {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/pull_parser.cljc", :line 32, :column 12, :end-line 32, :end-column 24, :internal-ctor true, :factory :map, :arglists (quote ([G__22815]))}, :name datascript.pull-parser/map->PullWildcard, :variadic false, :file "out/datascript/pull_parser.cljc", :end-column 24, :method-params ([G__22815]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :internal-ctor true, :factory :map, :line 32, :end-line 32, :max-fixed-arity 1, :fn-var true, :arglists (quote ([G__22815]))}, map->PullDefaultExpr {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/pull_parser.cljc", :line 26, :column 12, :end-line 26, :end-column 27, :internal-ctor true, :factory :map, :arglists (quote ([G__22807]))}, :name datascript.pull-parser/map->PullDefaultExpr, :variadic false, :file "out/datascript/pull_parser.cljc", :end-column 27, :method-params ([G__22807]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :internal-ctor true, :factory :map, :line 26, :end-line 26, :max-fixed-arity 1, :fn-var true, :arglists (quote ([G__22807]))}, PullMapSpecEntry {:num-fields 2, :protocols #{cljs.core/IRecord cljs.core/IEquiv cljs.core/IHash cljs.core/ICollection cljs.core/ICounted cljs.core/ISeqable cljs.core/IMeta cljs.core/ICloneable cljs.core/IPrintWithWriter cljs.core/IIterable datascript.pull-parser/IPullSpecComponent cljs.core/IWithMeta cljs.core/IAssociative cljs.core/IMap cljs.core/ILookup}, :name datascript.pull-parser/PullMapSpecEntry, :file "out/datascript/pull_parser.cljc", :end-column 28, :type true, :column 12, :internal-ctor true, :line 39, :record true, :end-line 39, :skip-protocol-flag #{cljs.core/IRecord cljs.core/IEquiv cljs.core/IHash cljs.core/ICollection cljs.core/ICounted cljs.core/ISeqable cljs.core/IMeta cljs.core/ICloneable cljs.core/IPrintWithWriter cljs.core/IWithMeta cljs.core/IAssociative cljs.core/IMap cljs.core/ILookup}}, expand-map-clause {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/pull_parser.cljc", :line 156, :column 8, :end-line 156, :end-column 25, :private true, :arglists (quote ([clause]))}, :private true, :name datascript.pull-parser/expand-map-clause, :variadic false, :file "out/datascript/pull_parser.cljc", :end-column 25, :method-params ([clause]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 156, :end-line 156, :max-fixed-arity 1, :fn-var true, :arglists (quote ([clause]))}, map->PullReverseAttrName {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/pull_parser.cljc", :line 15, :column 12, :end-line 15, :end-column 31, :internal-ctor true, :factory :map, :arglists (quote ([G__22791]))}, :name datascript.pull-parser/map->PullReverseAttrName, :variadic false, :file "out/datascript/pull_parser.cljc", :end-column 31, :method-params ([G__22791]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :internal-ctor true, :factory :map, :line 15, :end-line 15, :max-fixed-arity 1, :fn-var true, :arglists (quote ([G__22791]))}, ->PullReverseAttrName {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/pull_parser.cljc", :line 15, :column 12, :end-line 15, :end-column 31, :internal-ctor true, :factory :positional, :arglists (quote ([attr rattr]))}, :name datascript.pull-parser/->PullReverseAttrName, :variadic false, :file "out/datascript/pull_parser.cljc", :end-column 31, :method-params ([attr rattr]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :internal-ctor true, :factory :positional, :line 15, :end-line 15, :max-fixed-arity 2, :fn-var true, :arglists (quote ([attr rattr]))}, PullSpec {:num-fields 2, :protocols #{cljs.core/IRecord cljs.core/IEquiv cljs.core/IHash cljs.core/ICollection cljs.core/ICounted cljs.core/ISeqable cljs.core/IMeta cljs.core/ICloneable cljs.core/IPrintWithWriter cljs.core/IIterable cljs.core/IWithMeta cljs.core/IAssociative cljs.core/IMap cljs.core/ILookup}, :name datascript.pull-parser/PullSpec, :file "out/datascript/pull_parser.cljc", :end-column 20, :type true, :column 12, :internal-ctor true, :line 5, :record true, :end-line 5, :skip-protocol-flag #{cljs.core/IRecord cljs.core/IEquiv cljs.core/IHash cljs.core/ICollection cljs.core/ICounted cljs.core/ISeqable cljs.core/IMeta cljs.core/ICloneable cljs.core/IPrintWithWriter cljs.core/IWithMeta cljs.core/IAssociative cljs.core/IMap cljs.core/ILookup}}, parse-attr-spec {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/pull_parser.cljc", :line 140, :column 8, :end-line 140, :end-column 23, :private true, :arglists (quote ([spec]))}, :private true, :name datascript.pull-parser/parse-attr-spec, :variadic false, :file "out/datascript/pull_parser.cljc", :end-column 23, :method-params ([spec]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 140, :end-line 140, :max-fixed-arity 1, :fn-var true, :arglists (quote ([spec]))}, map->PullLimitExpr {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/pull_parser.cljc", :line 20, :column 12, :end-line 20, :end-column 25, :internal-ctor true, :factory :map, :arglists (quote ([G__22799]))}, :name datascript.pull-parser/map->PullLimitExpr, :variadic false, :file "out/datascript/pull_parser.cljc", :end-column 25, :method-params ([G__22799]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :internal-ctor true, :factory :map, :line 20, :end-line 20, :max-fixed-arity 1, :fn-var true, :arglists (quote ([G__22799]))}, ->PullAttrName {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/pull_parser.cljc", :line 10, :column 12, :end-line 10, :end-column 24, :internal-ctor true, :factory :positional, :arglists (quote ([attr]))}, :name datascript.pull-parser/->PullAttrName, :variadic false, :file "out/datascript/pull_parser.cljc", :end-column 24, :method-params ([attr]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :internal-ctor true, :factory :positional, :line 10, :end-line 10, :max-fixed-arity 1, :fn-var true, :arglists (quote ([attr]))}, parse-map-spec-entry {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/pull_parser.cljc", :line 115, :column 8, :end-line 115, :end-column 28, :private true, :arglists (quote ([[k v]]))}, :private true, :name datascript.pull-parser/parse-map-spec-entry, :variadic false, :file "out/datascript/pull_parser.cljc", :end-column 28, :method-params ([p__22857]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 115, :end-line 115, :max-fixed-arity 1, :fn-var true, :arglists (quote ([[k v]]))}, aggregate-specs {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/pull_parser.cljc", :line 45, :column 8, :end-line 45, :end-column 23, :private true, :arglists (quote ([res part]))}, :private true, :name datascript.pull-parser/aggregate-specs, :variadic false, :file "out/datascript/pull_parser.cljc", :end-column 23, :method-params ([res part]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 45, :end-line 45, :max-fixed-arity 2, :fn-var true, :arglists (quote ([res part]))}, parse-pull {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/pull_parser.cljc", :line 218, :column 7, :end-line 218, :end-column 17, :arglists (quote ([pattern])), :doc "Parse EDN pull `pattern` specification (see `parse-pattern`), and\nconvert the resulting tree into a `PullSpec` instance (see `pattern->spec`).\nThrows an error if the supplied `pattern` cannot be parsed."}, :name datascript.pull-parser/parse-pull, :variadic false, :file "out/datascript/pull_parser.cljc", :end-column 17, :method-params ([pattern]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 218, :end-line 218, :max-fixed-arity 1, :fn-var true, :arglists (quote ([pattern])), :doc "Parse EDN pull `pattern` specification (see `parse-pattern`), and\nconvert the resulting tree into a `PullSpec` instance (see `pattern->spec`).\nThrows an error if the supplied `pattern` cannot be parsed."}, ->PullDefaultExpr {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/pull_parser.cljc", :line 26, :column 12, :end-line 26, :end-column 27, :internal-ctor true, :factory :positional, :arglists (quote ([attr value]))}, :name datascript.pull-parser/->PullDefaultExpr, :variadic false, :file "out/datascript/pull_parser.cljc", :end-column 27, :method-params ([attr value]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :internal-ctor true, :factory :positional, :line 26, :end-line 26, :max-fixed-arity 2, :fn-var true, :arglists (quote ([attr value]))}, ->PullLimitExpr {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/pull_parser.cljc", :line 20, :column 12, :end-line 20, :end-column 25, :internal-ctor true, :factory :positional, :arglists (quote ([attr limit]))}, :name datascript.pull-parser/->PullLimitExpr, :variadic false, :file "out/datascript/pull_parser.cljc", :end-column 25, :method-params ([attr limit]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :internal-ctor true, :factory :positional, :line 20, :end-line 20, :max-fixed-arity 2, :fn-var true, :arglists (quote ([attr limit]))}, map->PullRecursionLimit {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/pull_parser.cljc", :line 34, :column 12, :end-line 34, :end-column 30, :internal-ctor true, :factory :map, :arglists (quote ([G__22823]))}, :name datascript.pull-parser/map->PullRecursionLimit, :variadic false, :file "out/datascript/pull_parser.cljc", :end-column 30, :method-params ([G__22823]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :internal-ctor true, :factory :map, :line 34, :end-line 34, :max-fixed-arity 1, :fn-var true, :arglists (quote ([G__22823]))}, PullRecursionLimit {:num-fields 1, :protocols #{cljs.core/IRecord cljs.core/IEquiv cljs.core/IHash cljs.core/ICollection cljs.core/ICounted cljs.core/ISeqable cljs.core/IMeta cljs.core/ICloneable cljs.core/IPrintWithWriter cljs.core/IIterable datascript.pull-parser/IPullSpecComponent cljs.core/IWithMeta cljs.core/IAssociative cljs.core/IMap cljs.core/ILookup}, :name datascript.pull-parser/PullRecursionLimit, :file "out/datascript/pull_parser.cljc", :end-column 30, :type true, :column 12, :internal-ctor true, :line 34, :record true, :end-line 34, :skip-protocol-flag #{cljs.core/IRecord cljs.core/IEquiv cljs.core/IHash cljs.core/ICollection cljs.core/ICounted cljs.core/ISeqable cljs.core/IMeta cljs.core/ICloneable cljs.core/IPrintWithWriter cljs.core/IWithMeta cljs.core/IAssociative cljs.core/IMap cljs.core/ILookup}}, IPullSpecComponent {:meta {:file "/Users/edwlan/todolist/out/datascript/pull_parser.cljc", :line 7, :column 14, :end-line 7, :end-column 32, :doc nil, :protocol-symbol true, :jsdoc ("@interface"), :protocol-info {:methods {-as-spec [[this]]}}}, :protocol-symbol true, :name datascript.pull-parser/IPullSpecComponent, :file "out/datascript/pull_parser.cljc", :end-column 32, :column 1, :line 7, :protocol-info {:methods {-as-spec [[this]]}}, :info nil, :end-line 7, :impls #{datascript.pull-parser/PullReverseAttrName datascript.pull-parser/PullDefaultExpr datascript.pull-parser/PullPattern datascript.pull-parser/PullAttrName datascript.pull-parser/PullRecursionLimit datascript.pull-parser/PullMapSpecEntry datascript.pull-parser/PullLimitExpr}, :doc nil, :jsdoc ("@interface")}, ->PullPattern {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/pull_parser.cljc", :line 51, :column 12, :end-line 51, :end-column 23, :internal-ctor true, :factory :positional, :arglists (quote ([specs]))}, :name datascript.pull-parser/->PullPattern, :variadic false, :file "out/datascript/pull_parser.cljc", :end-column 23, :method-params ([specs]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :internal-ctor true, :factory :positional, :line 51, :end-line 51, :max-fixed-arity 1, :fn-var true, :arglists (quote ([specs]))}, PullLimitExpr {:num-fields 2, :protocols #{cljs.core/IRecord cljs.core/IEquiv cljs.core/IHash cljs.core/ICollection cljs.core/ICounted cljs.core/ISeqable cljs.core/IMeta cljs.core/ICloneable cljs.core/IPrintWithWriter cljs.core/IIterable datascript.pull-parser/IPullSpecComponent cljs.core/IWithMeta cljs.core/IAssociative cljs.core/IMap cljs.core/ILookup}, :name datascript.pull-parser/PullLimitExpr, :file "out/datascript/pull_parser.cljc", :end-column 25, :type true, :column 12, :internal-ctor true, :line 20, :record true, :end-line 20, :skip-protocol-flag #{cljs.core/IRecord cljs.core/IEquiv cljs.core/IHash cljs.core/ICollection cljs.core/ICounted cljs.core/ISeqable cljs.core/IMeta cljs.core/ICloneable cljs.core/IPrintWithWriter cljs.core/IWithMeta cljs.core/IAssociative cljs.core/IMap cljs.core/ILookup}}, parse-wildcard {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/pull_parser.cljc", :line 63, :column 8, :end-line 63, :end-column 22, :private true, :arglists (quote ([spec]))}, :private true, :name datascript.pull-parser/parse-wildcard, :variadic false, :file "out/datascript/pull_parser.cljc", :end-column 22, :method-params ([spec]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 63, :end-line 63, :max-fixed-arity 1, :fn-var true, :arglists (quote ([spec]))}, map->PullSpec {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/pull_parser.cljc", :line 5, :column 12, :end-line 5, :end-column 20, :internal-ctor true, :factory :map, :arglists (quote ([G__22775]))}, :name datascript.pull-parser/map->PullSpec, :variadic false, :file "out/datascript/pull_parser.cljc", :end-column 20, :method-params ([G__22775]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :internal-ctor true, :factory :map, :line 5, :end-line 5, :max-fixed-arity 1, :fn-var true, :arglists (quote ([G__22775]))}, parse-attr-expr {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/pull_parser.cljc", :line 134, :column 8, :end-line 134, :end-column 23, :private true, :arglists (quote ([spec]))}, :private true, :name datascript.pull-parser/parse-attr-expr, :variadic false, :file "out/datascript/pull_parser.cljc", :end-column 23, :method-params ([spec]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 134, :end-line 134, :max-fixed-arity 1, :fn-var true, :arglists (quote ([spec]))}, parse-recursion-limit {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/pull_parser.cljc", :line 77, :column 8, :end-line 77, :end-column 29, :private true, :arglists (quote ([spec]))}, :private true, :name datascript.pull-parser/parse-recursion-limit, :variadic false, :file "out/datascript/pull_parser.cljc", :end-column 29, :method-params ([spec]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 77, :end-line 77, :max-fixed-arity 1, :fn-var true, :arglists (quote ([spec]))}, pattern->spec {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/pull_parser.cljc", :line 191, :column 7, :end-line 191, :end-column 20, :arglists (quote ([pattern])), :doc "Convert a parsed tree of pull pattern records into a `PullSpec` instance,\na record type containing two keys:\n\n* `:wildcard?` - a boolean indicating if the pattern contains a wildcard.\n* `:attrs` - a map of attribute specifications.\n\nThe attribute specification map consists of keys which will become the keys\nin the result map, and values which are themselves maps describing the\nattribute:\n\n* `:attr`       (required) - The attr name to pull; for reverse attributes\n                             this will be the normalized attribute name.\n* `:limit`      (optional) - If present, specifies a custom limit for this\n                             attribute; Either `nil`, indicating no limit,\n                             or a positive integer.\n* `:default`    (optional) - If present, specifies a default value for this\n                             attribute\n* `:recursion`  (optional) - If present, specifies a recursion limit for this\n                             attribute; Either `nil`, indicating no limit, or\n                             a positive integer.\n* `:subpattern` (optional) - If present, specifies a sub `PullSpec` instance\n                             to be applied to entities matched by this\n                             attribute."}, :name datascript.pull-parser/pattern->spec, :variadic false, :file "out/datascript/pull_parser.cljc", :end-column 20, :method-params ([pattern]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 191, :end-line 191, :max-fixed-arity 1, :fn-var true, :arglists (quote ([pattern])), :doc "Convert a parsed tree of pull pattern records into a `PullSpec` instance,\na record type containing two keys:\n\n* `:wildcard?` - a boolean indicating if the pattern contains a wildcard.\n* `:attrs` - a map of attribute specifications.\n\nThe attribute specification map consists of keys which will become the keys\nin the result map, and values which are themselves maps describing the\nattribute:\n\n* `:attr`       (required) - The attr name to pull; for reverse attributes\n                             this will be the normalized attribute name.\n* `:limit`      (optional) - If present, specifies a custom limit for this\n                             attribute; Either `nil`, indicating no limit,\n                             or a positive integer.\n* `:default`    (optional) - If present, specifies a default value for this\n                             attribute\n* `:recursion`  (optional) - If present, specifies a recursion limit for this\n                             attribute; Either `nil`, indicating no limit, or\n                             a positive integer.\n* `:subpattern` (optional) - If present, specifies a sub `PullSpec` instance\n                             to be applied to entities matched by this\n                             attribute."}, ->PullSpec {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/pull_parser.cljc", :line 5, :column 12, :end-line 5, :end-column 20, :internal-ctor true, :factory :positional, :arglists (quote ([wildcard? attrs]))}, :name datascript.pull-parser/->PullSpec, :variadic false, :file "out/datascript/pull_parser.cljc", :end-column 20, :method-params ([wildcard? attrs]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :internal-ctor true, :factory :positional, :line 5, :end-line 5, :max-fixed-arity 2, :fn-var true, :arglists (quote ([wildcard? attrs]))}, parse-pattern {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/pull_parser.cljc", :line 169, :column 7, :end-line 169, :end-column 20, :arglists (quote ([pattern])), :doc "Parse an EDN pull pattern into a tree of records using the following\ngrammar:\n\n```\npattern            = [attr-spec+]\nattr-spec          = attr-name | wildcard | map-spec | attr-expr\nattr-name          = an edn keyword that names an attr\nwildcard           = \"*\" or '*'\nmap-spec           = { ((attr-name | limit-expr) (pattern | recursion-limit))+ }\nattr-expr          = limit-expr | default-expr\nlimit-expr         = [\"limit\" attr-name (positive-number | nil)]\ndefault-expr       = [\"default\" attr-name any-value]\nrecursion-limit    = positive-number | '...'\n```"}, :name datascript.pull-parser/parse-pattern, :variadic false, :file "out/datascript/pull_parser.cljc", :end-column 20, :method-params ([pattern]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 169, :end-line 169, :max-fixed-arity 1, :fn-var true, :arglists (quote ([pattern])), :doc "Parse an EDN pull pattern into a tree of records using the following\ngrammar:\n\n```\npattern            = [attr-spec+]\nattr-spec          = attr-name | wildcard | map-spec | attr-expr\nattr-name          = an edn keyword that names an attr\nwildcard           = \"*\" or '*'\nmap-spec           = { ((attr-name | limit-expr) (pattern | recursion-limit))+ }\nattr-expr          = limit-expr | default-expr\nlimit-expr         = [\"limit\" attr-name (positive-number | nil)]\ndefault-expr       = [\"default\" attr-name any-value]\nrecursion-limit    = positive-number | '...'\n```"}, parse-attr-name {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/pull_parser.cljc", :line 68, :column 8, :end-line 68, :end-column 23, :private true, :arglists (quote ([spec]))}, :private true, :name datascript.pull-parser/parse-attr-name, :variadic false, :file "out/datascript/pull_parser.cljc", :end-column 23, :method-params ([spec]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 68, :end-line 68, :max-fixed-arity 1, :fn-var true, :arglists (quote ([spec]))}, limit? {:name datascript.pull-parser/limit?, :file "out/datascript/pull_parser.cljc", :line 90, :column 1, :end-line 90, :end-column 22, :private true, :meta {:file "/Users/edwlan/todolist/out/datascript/pull_parser.cljc", :line 90, :column 16, :end-line 90, :end-column 22, :private true}}, PullReverseAttrName {:num-fields 2, :protocols #{cljs.core/IRecord cljs.core/IEquiv cljs.core/IHash cljs.core/ICollection cljs.core/ICounted cljs.core/ISeqable cljs.core/IMeta cljs.core/ICloneable cljs.core/IPrintWithWriter cljs.core/IIterable datascript.pull-parser/IPullSpecComponent cljs.core/IWithMeta cljs.core/IAssociative cljs.core/IMap cljs.core/ILookup}, :name datascript.pull-parser/PullReverseAttrName, :file "out/datascript/pull_parser.cljc", :end-column 31, :type true, :column 12, :internal-ctor true, :line 15, :record true, :end-line 15, :skip-protocol-flag #{cljs.core/IRecord cljs.core/IEquiv cljs.core/IHash cljs.core/ICollection cljs.core/ICounted cljs.core/ISeqable cljs.core/IMeta cljs.core/ICloneable cljs.core/IPrintWithWriter cljs.core/IWithMeta cljs.core/IAssociative cljs.core/IMap cljs.core/ILookup}}, PullDefaultExpr {:num-fields 2, :protocols #{cljs.core/IRecord cljs.core/IEquiv cljs.core/IHash cljs.core/ICollection cljs.core/ICounted cljs.core/ISeqable cljs.core/IMeta cljs.core/ICloneable cljs.core/IPrintWithWriter cljs.core/IIterable datascript.pull-parser/IPullSpecComponent cljs.core/IWithMeta cljs.core/IAssociative cljs.core/IMap cljs.core/ILookup}, :name datascript.pull-parser/PullDefaultExpr, :file "out/datascript/pull_parser.cljc", :end-column 27, :type true, :column 12, :internal-ctor true, :line 26, :record true, :end-line 26, :skip-protocol-flag #{cljs.core/IRecord cljs.core/IEquiv cljs.core/IHash cljs.core/ICollection cljs.core/ICounted cljs.core/ISeqable cljs.core/IMeta cljs.core/ICloneable cljs.core/IPrintWithWriter cljs.core/IWithMeta cljs.core/IAssociative cljs.core/IMap cljs.core/ILookup}}, parse-limit-expr {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/pull_parser.cljc", :line 92, :column 8, :end-line 92, :end-column 24, :private true, :arglists (quote ([spec]))}, :private true, :name datascript.pull-parser/parse-limit-expr, :variadic false, :file "out/datascript/pull_parser.cljc", :end-column 24, :method-params ([spec]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 92, :end-line 92, :max-fixed-arity 1, :fn-var true, :arglists (quote ([spec]))}, map->PullAttrName {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/pull_parser.cljc", :line 10, :column 12, :end-line 10, :end-column 24, :internal-ctor true, :factory :map, :arglists (quote ([G__22783]))}, :name datascript.pull-parser/map->PullAttrName, :variadic false, :file "out/datascript/pull_parser.cljc", :end-column 24, :method-params ([G__22783]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :internal-ctor true, :factory :map, :line 10, :end-line 10, :max-fixed-arity 1, :fn-var true, :arglists (quote ([G__22783]))}, maybe-attr-expr? {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/pull_parser.cljc", :line 86, :column 8, :end-line 86, :end-column 24, :private true, :arglists (quote ([spec]))}, :private true, :name datascript.pull-parser/maybe-attr-expr?, :variadic false, :file "out/datascript/pull_parser.cljc", :end-column 24, :method-params ([spec]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 86, :end-line 86, :max-fixed-arity 1, :fn-var true, :arglists (quote ([spec]))}, PullWildcard {:num-fields 0, :protocols #{cljs.core/IRecord cljs.core/IEquiv cljs.core/IHash cljs.core/ICollection cljs.core/ICounted cljs.core/ISeqable cljs.core/IMeta cljs.core/ICloneable cljs.core/IPrintWithWriter cljs.core/IIterable cljs.core/IWithMeta cljs.core/IAssociative cljs.core/IMap cljs.core/ILookup}, :name datascript.pull-parser/PullWildcard, :file "out/datascript/pull_parser.cljc", :end-column 24, :type true, :column 12, :internal-ctor true, :line 32, :record true, :end-line 32, :skip-protocol-flag #{cljs.core/IRecord cljs.core/IEquiv cljs.core/IHash cljs.core/ICollection cljs.core/ICounted cljs.core/ISeqable cljs.core/IMeta cljs.core/ICloneable cljs.core/IPrintWithWriter cljs.core/IWithMeta cljs.core/IAssociative cljs.core/IMap cljs.core/ILookup}}, default? {:name datascript.pull-parser/default?, :file "out/datascript/pull_parser.cljc", :line 103, :column 1, :end-line 103, :end-column 24, :private true, :meta {:file "/Users/edwlan/todolist/out/datascript/pull_parser.cljc", :line 103, :column 16, :end-line 103, :end-column 24, :private true}}, pattern-clause-type {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/pull_parser.cljc", :line 149, :column 8, :end-line 149, :end-column 27, :private true, :arglists (quote ([clause]))}, :private true, :name datascript.pull-parser/pattern-clause-type, :variadic false, :file "out/datascript/pull_parser.cljc", :end-column 27, :method-params ([clause]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 149, :end-line 149, :max-fixed-arity 1, :fn-var true, :arglists (quote ([clause]))}, parse-default-expr {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/pull_parser.cljc", :line 105, :column 8, :end-line 105, :end-column 26, :private true, :arglists (quote ([spec]))}, :private true, :name datascript.pull-parser/parse-default-expr, :variadic false, :file "out/datascript/pull_parser.cljc", :end-column 26, :method-params ([spec]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 105, :end-line 105, :max-fixed-arity 1, :fn-var true, :arglists (quote ([spec]))}, unlimited-recursion? {:name datascript.pull-parser/unlimited-recursion?, :file "out/datascript/pull_parser.cljc", :line 75, :column 1, :end-line 75, :end-column 36, :private true, :meta {:file "/Users/edwlan/todolist/out/datascript/pull_parser.cljc", :line 75, :column 16, :end-line 75, :end-column 36, :private true}}, map->PullMapSpecEntry {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/pull_parser.cljc", :line 39, :column 12, :end-line 39, :end-column 28, :internal-ctor true, :factory :map, :arglists (quote ([G__22831]))}, :name datascript.pull-parser/map->PullMapSpecEntry, :variadic false, :file "out/datascript/pull_parser.cljc", :end-column 28, :method-params ([G__22831]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :internal-ctor true, :factory :map, :line 39, :end-line 39, :max-fixed-arity 1, :fn-var true, :arglists (quote ([G__22831]))}, ->PullRecursionLimit {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/pull_parser.cljc", :line 34, :column 12, :end-line 34, :end-column 30, :internal-ctor true, :factory :positional, :arglists (quote ([limit]))}, :name datascript.pull-parser/->PullRecursionLimit, :variadic false, :file "out/datascript/pull_parser.cljc", :end-column 30, :method-params ([limit]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :internal-ctor true, :factory :positional, :line 34, :end-line 34, :max-fixed-arity 1, :fn-var true, :arglists (quote ([limit]))}, PullPattern {:num-fields 1, :protocols #{cljs.core/IRecord cljs.core/IEquiv cljs.core/IHash cljs.core/ICollection cljs.core/ICounted cljs.core/ISeqable cljs.core/IMeta cljs.core/ICloneable cljs.core/IPrintWithWriter cljs.core/IIterable datascript.pull-parser/IPullSpecComponent cljs.core/IWithMeta cljs.core/IAssociative cljs.core/IMap cljs.core/ILookup}, :name datascript.pull-parser/PullPattern, :file "out/datascript/pull_parser.cljc", :end-column 23, :type true, :column 12, :internal-ctor true, :line 51, :record true, :end-line 51, :skip-protocol-flag #{cljs.core/IRecord cljs.core/IEquiv cljs.core/IHash cljs.core/ICollection cljs.core/ICounted cljs.core/ISeqable cljs.core/IMeta cljs.core/ICloneable cljs.core/IPrintWithWriter cljs.core/IWithMeta cljs.core/IAssociative cljs.core/IMap cljs.core/ILookup}}, ->PullWildcard {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/pull_parser.cljc", :line 32, :column 12, :end-line 32, :end-column 24, :internal-ctor true, :factory :positional, :arglists (quote ([]))}, :name datascript.pull-parser/->PullWildcard, :variadic false, :file "out/datascript/pull_parser.cljc", :end-column 24, :method-params ([]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :internal-ctor true, :factory :positional, :line 32, :end-line 32, :max-fixed-arity 0, :fn-var true, :arglists (quote ([]))}, parse-map-spec {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/pull_parser.cljc", :line 128, :column 8, :end-line 128, :end-column 22, :private true, :arglists (quote ([spec]))}, :private true, :name datascript.pull-parser/parse-map-spec, :variadic false, :file "out/datascript/pull_parser.cljc", :end-column 22, :method-params ([spec]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :line 128, :end-line 128, :max-fixed-arity 1, :fn-var true, :arglists (quote ([spec]))}, map->PullPattern {:protocol-inline nil, :meta {:file "/Users/edwlan/todolist/out/datascript/pull_parser.cljc", :line 51, :column 12, :end-line 51, :end-column 23, :internal-ctor true, :factory :map, :arglists (quote ([G__22839]))}, :name datascript.pull-parser/map->PullPattern, :variadic false, :file "out/datascript/pull_parser.cljc", :end-column 23, :method-params ([G__22839]), :protocol-impl nil, :arglists-meta (nil nil), :column 1, :internal-ctor true, :factory :map, :line 51, :end-line 51, :max-fixed-arity 1, :fn-var true, :arglists (quote ([G__22839]))}}, :require-macros {db datascript.db, datascript.db datascript.db}, :cljs.analyzer/constants {:seen #{wildcard? :* :wildcard :rattr :limit :else attr :fragment :default :other * :value limit rattr default value :porrl :recursion :specs :attrs :subpattern :error porrl :wildcard? ... specs :parser/pull :map attrs :attr}, :order [:wildcard? :attrs wildcard? attrs :attr attr :rattr rattr :limit limit :value :default value :recursion :porrl porrl :specs :subpattern specs :* * ... :error :fragment :parser/pull default :map :wildcard :else :other]}, :doc nil}