");
+ _.each(this.datasets, destroyDataset);
+ function destroyDataset(dataset) {
+ dataset.destroy();
+ }
+ }
+ });
+ return Menu;
+ }();
+ var Status = function() {
+ "use strict";
+ function Status(options) {
+ this.$el = $("
", {
+ role: "status",
+ "aria-live": "polite"
+ }).css({
+ position: "absolute",
+ padding: "0",
+ border: "0",
+ height: "1px",
+ width: "1px",
+ "margin-bottom": "-1px",
+ "margin-right": "-1px",
+ overflow: "hidden",
+ clip: "rect(0 0 0 0)",
+ "white-space": "nowrap"
+ });
+ options.$input.after(this.$el);
+ _.each(options.menu.datasets, _.bind(function(dataset) {
+ if (dataset.onSync) {
+ dataset.onSync("rendered", _.bind(this.update, this));
+ dataset.onSync("cleared", _.bind(this.cleared, this));
+ }
+ }, this));
+ }
+ _.mixin(Status.prototype, {
+ update: function update(event, suggestions) {
+ var length = suggestions.length;
+ var words;
+ if (length === 1) {
+ words = {
+ result: "result",
+ is: "is"
+ };
+ } else {
+ words = {
+ result: "results",
+ is: "are"
+ };
+ }
+ this.$el.text(length + " " + words.result + " " + words.is + " available, use up and down arrow keys to navigate.");
+ },
+ cleared: function() {
+ this.$el.text("");
+ }
+ });
+ return Status;
+ }();
+ var DefaultMenu = function() {
+ "use strict";
+ var s = Menu.prototype;
+ function DefaultMenu() {
+ Menu.apply(this, [].slice.call(arguments, 0));
+ }
+ _.mixin(DefaultMenu.prototype, Menu.prototype, {
+ open: function open() {
+ !this._allDatasetsEmpty() && this._show();
+ return s.open.apply(this, [].slice.call(arguments, 0));
+ },
+ close: function close() {
+ this._hide();
+ return s.close.apply(this, [].slice.call(arguments, 0));
+ },
+ _onRendered: function onRendered() {
+ if (this._allDatasetsEmpty()) {
+ this._hide();
+ } else {
+ this.isOpen() && this._show();
+ }
+ return s._onRendered.apply(this, [].slice.call(arguments, 0));
+ },
+ _onCleared: function onCleared() {
+ if (this._allDatasetsEmpty()) {
+ this._hide();
+ } else {
+ this.isOpen() && this._show();
+ }
+ return s._onCleared.apply(this, [].slice.call(arguments, 0));
+ },
+ setLanguageDirection: function setLanguageDirection(dir) {
+ this.$node.css(dir === "ltr" ? this.css.ltr : this.css.rtl);
+ return s.setLanguageDirection.apply(this, [].slice.call(arguments, 0));
+ },
+ _hide: function hide() {
+ this.$node.hide();
+ },
+ _show: function show() {
+ this.$node.css("display", "block");
+ }
+ });
+ return DefaultMenu;
+ }();
+ var Typeahead = function() {
+ "use strict";
+ function Typeahead(o, www) {
+ var onFocused, onBlurred, onEnterKeyed, onTabKeyed, onEscKeyed, onUpKeyed, onDownKeyed, onLeftKeyed, onRightKeyed, onQueryChanged, onWhitespaceChanged;
+ o = o || {};
+ if (!o.input) {
+ $.error("missing input");
+ }
+ if (!o.menu) {
+ $.error("missing menu");
+ }
+ if (!o.eventBus) {
+ $.error("missing event bus");
+ }
+ www.mixin(this);
+ this.eventBus = o.eventBus;
+ this.minLength = _.isNumber(o.minLength) ? o.minLength : 1;
+ this.input = o.input;
+ this.menu = o.menu;
+ this.enabled = true;
+ this.autoselect = !!o.autoselect;
+ this.active = false;
+ this.input.hasFocus() && this.activate();
+ this.dir = this.input.getLangDir();
+ this._hacks();
+ this.menu.bind().onSync("selectableClicked", this._onSelectableClicked, this).onSync("asyncRequested", this._onAsyncRequested, this).onSync("asyncCanceled", this._onAsyncCanceled, this).onSync("asyncReceived", this._onAsyncReceived, this).onSync("datasetRendered", this._onDatasetRendered, this).onSync("datasetCleared", this._onDatasetCleared, this);
+ onFocused = c(this, "activate", "open", "_onFocused");
+ onBlurred = c(this, "deactivate", "_onBlurred");
+ onEnterKeyed = c(this, "isActive", "isOpen", "_onEnterKeyed");
+ onTabKeyed = c(this, "isActive", "isOpen", "_onTabKeyed");
+ onEscKeyed = c(this, "isActive", "_onEscKeyed");
+ onUpKeyed = c(this, "isActive", "open", "_onUpKeyed");
+ onDownKeyed = c(this, "isActive", "open", "_onDownKeyed");
+ onLeftKeyed = c(this, "isActive", "isOpen", "_onLeftKeyed");
+ onRightKeyed = c(this, "isActive", "isOpen", "_onRightKeyed");
+ onQueryChanged = c(this, "_openIfActive", "_onQueryChanged");
+ onWhitespaceChanged = c(this, "_openIfActive", "_onWhitespaceChanged");
+ this.input.bind().onSync("focused", onFocused, this).onSync("blurred", onBlurred, this).onSync("enterKeyed", onEnterKeyed, this).onSync("tabKeyed", onTabKeyed, this).onSync("escKeyed", onEscKeyed, this).onSync("upKeyed", onUpKeyed, this).onSync("downKeyed", onDownKeyed, this).onSync("leftKeyed", onLeftKeyed, this).onSync("rightKeyed", onRightKeyed, this).onSync("queryChanged", onQueryChanged, this).onSync("whitespaceChanged", onWhitespaceChanged, this).onSync("langDirChanged", this._onLangDirChanged, this);
+ }
+ _.mixin(Typeahead.prototype, {
+ _hacks: function hacks() {
+ var $input, $menu;
+ $input = this.input.$input || $("
");
+ $menu = this.menu.$node || $("
");
+ $input.on("blur.tt", function($e) {
+ var active, isActive, hasActive;
+ active = document.activeElement;
+ isActive = $menu.is(active);
+ hasActive = $menu.has(active).length > 0;
+ if (_.isMsie() && (isActive || hasActive)) {
+ $e.preventDefault();
+ $e.stopImmediatePropagation();
+ _.defer(function() {
+ $input.focus();
+ });
+ }
+ });
+ $menu.on("mousedown.tt", function($e) {
+ $e.preventDefault();
+ });
+ },
+ _onSelectableClicked: function onSelectableClicked(type, $el) {
+ this.select($el);
+ },
+ _onDatasetCleared: function onDatasetCleared() {
+ this._updateHint();
+ },
+ _onDatasetRendered: function onDatasetRendered(type, suggestions, async, dataset) {
+ this._updateHint();
+ if (this.autoselect) {
+ var cursorClass = this.selectors.cursor.substr(1);
+ this.menu.$node.find(this.selectors.suggestion).first().addClass(cursorClass);
+ }
+ this.eventBus.trigger("render", suggestions, async, dataset);
+ },
+ _onAsyncRequested: function onAsyncRequested(type, dataset, query) {
+ this.eventBus.trigger("asyncrequest", query, dataset);
+ },
+ _onAsyncCanceled: function onAsyncCanceled(type, dataset, query) {
+ this.eventBus.trigger("asynccancel", query, dataset);
+ },
+ _onAsyncReceived: function onAsyncReceived(type, dataset, query) {
+ this.eventBus.trigger("asyncreceive", query, dataset);
+ },
+ _onFocused: function onFocused() {
+ this._minLengthMet() && this.menu.update(this.input.getQuery());
+ },
+ _onBlurred: function onBlurred() {
+ if (this.input.hasQueryChangedSinceLastFocus()) {
+ this.eventBus.trigger("change", this.input.getQuery());
+ }
+ },
+ _onEnterKeyed: function onEnterKeyed(type, $e) {
+ var $selectable;
+ if ($selectable = this.menu.getActiveSelectable()) {
+ if (this.select($selectable)) {
+ $e.preventDefault();
+ $e.stopPropagation();
+ }
+ } else if (this.autoselect) {
+ if (this.select(this.menu.getTopSelectable())) {
+ $e.preventDefault();
+ $e.stopPropagation();
+ }
+ }
+ },
+ _onTabKeyed: function onTabKeyed(type, $e) {
+ var $selectable;
+ if ($selectable = this.menu.getActiveSelectable()) {
+ this.select($selectable) && $e.preventDefault();
+ } else if (this.autoselect) {
+ if ($selectable = this.menu.getTopSelectable()) {
+ this.autocomplete($selectable) && $e.preventDefault();
+ }
+ }
+ },
+ _onEscKeyed: function onEscKeyed() {
+ this.close();
+ },
+ _onUpKeyed: function onUpKeyed() {
+ this.moveCursor(-1);
+ },
+ _onDownKeyed: function onDownKeyed() {
+ this.moveCursor(+1);
+ },
+ _onLeftKeyed: function onLeftKeyed() {
+ if (this.dir === "rtl" && this.input.isCursorAtEnd()) {
+ this.autocomplete(this.menu.getActiveSelectable() || this.menu.getTopSelectable());
+ }
+ },
+ _onRightKeyed: function onRightKeyed() {
+ if (this.dir === "ltr" && this.input.isCursorAtEnd()) {
+ this.autocomplete(this.menu.getActiveSelectable() || this.menu.getTopSelectable());
+ }
+ },
+ _onQueryChanged: function onQueryChanged(e, query) {
+ this._minLengthMet(query) ? this.menu.update(query) : this.menu.empty();
+ },
+ _onWhitespaceChanged: function onWhitespaceChanged() {
+ this._updateHint();
+ },
+ _onLangDirChanged: function onLangDirChanged(e, dir) {
+ if (this.dir !== dir) {
+ this.dir = dir;
+ this.menu.setLanguageDirection(dir);
+ }
+ },
+ _openIfActive: function openIfActive() {
+ this.isActive() && this.open();
+ },
+ _minLengthMet: function minLengthMet(query) {
+ query = _.isString(query) ? query : this.input.getQuery() || "";
+ return query.length >= this.minLength;
+ },
+ _updateHint: function updateHint() {
+ var $selectable, data, val, query, escapedQuery, frontMatchRegEx, match;
+ $selectable = this.menu.getTopSelectable();
+ data = this.menu.getSelectableData($selectable);
+ val = this.input.getInputValue();
+ if (data && !_.isBlankString(val) && !this.input.hasOverflow()) {
+ query = Input.normalizeQuery(val);
+ escapedQuery = _.escapeRegExChars(query);
+ frontMatchRegEx = new RegExp("^(?:" + escapedQuery + ")(.+$)", "i");
+ match = frontMatchRegEx.exec(data.val);
+ match && this.input.setHint(val + match[1]);
+ } else {
+ this.input.clearHint();
+ }
+ },
+ isEnabled: function isEnabled() {
+ return this.enabled;
+ },
+ enable: function enable() {
+ this.enabled = true;
+ },
+ disable: function disable() {
+ this.enabled = false;
+ },
+ isActive: function isActive() {
+ return this.active;
+ },
+ activate: function activate() {
+ if (this.isActive()) {
+ return true;
+ } else if (!this.isEnabled() || this.eventBus.before("active")) {
+ return false;
+ } else {
+ this.active = true;
+ this.eventBus.trigger("active");
+ return true;
+ }
+ },
+ deactivate: function deactivate() {
+ if (!this.isActive()) {
+ return true;
+ } else if (this.eventBus.before("idle")) {
+ return false;
+ } else {
+ this.active = false;
+ this.close();
+ this.eventBus.trigger("idle");
+ return true;
+ }
+ },
+ isOpen: function isOpen() {
+ return this.menu.isOpen();
+ },
+ open: function open() {
+ if (!this.isOpen() && !this.eventBus.before("open")) {
+ this.input.setAriaExpanded(true);
+ this.menu.open();
+ this._updateHint();
+ this.eventBus.trigger("open");
+ }
+ return this.isOpen();
+ },
+ close: function close() {
+ if (this.isOpen() && !this.eventBus.before("close")) {
+ this.input.setAriaExpanded(false);
+ this.menu.close();
+ this.input.clearHint();
+ this.input.resetInputValue();
+ this.eventBus.trigger("close");
+ }
+ return !this.isOpen();
+ },
+ setVal: function setVal(val) {
+ this.input.setQuery(_.toStr(val));
+ },
+ getVal: function getVal() {
+ return this.input.getQuery();
+ },
+ select: function select($selectable) {
+ var data = this.menu.getSelectableData($selectable);
+ if (data && !this.eventBus.before("select", data.obj, data.dataset)) {
+ this.input.setQuery(data.val, true);
+ this.eventBus.trigger("select", data.obj, data.dataset);
+ this.close();
+ return true;
+ }
+ return false;
+ },
+ autocomplete: function autocomplete($selectable) {
+ var query, data, isValid;
+ query = this.input.getQuery();
+ data = this.menu.getSelectableData($selectable);
+ isValid = data && query !== data.val;
+ if (isValid && !this.eventBus.before("autocomplete", data.obj, data.dataset)) {
+ this.input.setQuery(data.val);
+ this.eventBus.trigger("autocomplete", data.obj, data.dataset);
+ return true;
+ }
+ return false;
+ },
+ moveCursor: function moveCursor(delta) {
+ var query, $candidate, data, suggestion, datasetName, cancelMove, id;
+ query = this.input.getQuery();
+ $candidate = this.menu.selectableRelativeToCursor(delta);
+ data = this.menu.getSelectableData($candidate);
+ suggestion = data ? data.obj : null;
+ datasetName = data ? data.dataset : null;
+ id = $candidate ? $candidate.attr("id") : null;
+ this.input.trigger("cursorchange", id);
+ cancelMove = this._minLengthMet() && this.menu.update(query);
+ if (!cancelMove && !this.eventBus.before("cursorchange", suggestion, datasetName)) {
+ this.menu.setCursor($candidate);
+ if (data) {
+ if (typeof data.val === "string") {
+ this.input.setInputValue(data.val);
+ }
+ } else {
+ this.input.resetInputValue();
+ this._updateHint();
+ }
+ this.eventBus.trigger("cursorchange", suggestion, datasetName);
+ return true;
+ }
+ return false;
+ },
+ destroy: function destroy() {
+ this.input.destroy();
+ this.menu.destroy();
+ }
+ });
+ return Typeahead;
+ function c(ctx) {
+ var methods = [].slice.call(arguments, 1);
+ return function() {
+ var args = [].slice.call(arguments);
+ _.each(methods, function(method) {
+ return ctx[method].apply(ctx, args);
+ });
+ };
+ }
+ }();
+ (function() {
+ "use strict";
+ var old, keys, methods;
+ old = $.fn.typeahead;
+ keys = {
+ www: "tt-www",
+ attrs: "tt-attrs",
+ typeahead: "tt-typeahead"
+ };
+ methods = {
+ initialize: function initialize(o, datasets) {
+ var www;
+ datasets = _.isArray(datasets) ? datasets : [].slice.call(arguments, 1);
+ o = o || {};
+ www = WWW(o.classNames);
+ return this.each(attach);
+ function attach() {
+ var $input, $wrapper, $hint, $menu, defaultHint, defaultMenu, eventBus, input, menu, status, typeahead, MenuConstructor;
+ _.each(datasets, function(d) {
+ d.highlight = !!o.highlight;
+ });
+ $input = $(this);
+ $wrapper = $(www.html.wrapper);
+ $hint = $elOrNull(o.hint);
+ $menu = $elOrNull(o.menu);
+ defaultHint = o.hint !== false && !$hint;
+ defaultMenu = o.menu !== false && !$menu;
+ defaultHint && ($hint = buildHintFromInput($input, www));
+ defaultMenu && ($menu = $(www.html.menu).css(www.css.menu));
+ $hint && $hint.val("");
+ $input = prepInput($input, www);
+ if (defaultHint || defaultMenu) {
+ $wrapper.css(www.css.wrapper);
+ $input.css(defaultHint ? www.css.input : www.css.inputWithNoHint);
+ $input.wrap($wrapper).parent().prepend(defaultHint ? $hint : null).append(defaultMenu ? $menu : null);
+ }
+ MenuConstructor = defaultMenu ? DefaultMenu : Menu;
+ eventBus = new EventBus({
+ el: $input
+ });
+ input = new Input({
+ hint: $hint,
+ input: $input,
+ menu: $menu
+ }, www);
+ menu = new MenuConstructor({
+ node: $menu,
+ datasets: datasets
+ }, www);
+ status = new Status({
+ $input: $input,
+ menu: menu
+ });
+ typeahead = new Typeahead({
+ input: input,
+ menu: menu,
+ eventBus: eventBus,
+ minLength: o.minLength,
+ autoselect: o.autoselect
+ }, www);
+ $input.data(keys.www, www);
+ $input.data(keys.typeahead, typeahead);
+ }
+ },
+ isEnabled: function isEnabled() {
+ var enabled;
+ ttEach(this.first(), function(t) {
+ enabled = t.isEnabled();
+ });
+ return enabled;
+ },
+ enable: function enable() {
+ ttEach(this, function(t) {
+ t.enable();
+ });
+ return this;
+ },
+ disable: function disable() {
+ ttEach(this, function(t) {
+ t.disable();
+ });
+ return this;
+ },
+ isActive: function isActive() {
+ var active;
+ ttEach(this.first(), function(t) {
+ active = t.isActive();
+ });
+ return active;
+ },
+ activate: function activate() {
+ ttEach(this, function(t) {
+ t.activate();
+ });
+ return this;
+ },
+ deactivate: function deactivate() {
+ ttEach(this, function(t) {
+ t.deactivate();
+ });
+ return this;
+ },
+ isOpen: function isOpen() {
+ var open;
+ ttEach(this.first(), function(t) {
+ open = t.isOpen();
+ });
+ return open;
+ },
+ open: function open() {
+ ttEach(this, function(t) {
+ t.open();
+ });
+ return this;
+ },
+ close: function close() {
+ ttEach(this, function(t) {
+ t.close();
+ });
+ return this;
+ },
+ select: function select(el) {
+ var success = false, $el = $(el);
+ ttEach(this.first(), function(t) {
+ success = t.select($el);
+ });
+ return success;
+ },
+ autocomplete: function autocomplete(el) {
+ var success = false, $el = $(el);
+ ttEach(this.first(), function(t) {
+ success = t.autocomplete($el);
+ });
+ return success;
+ },
+ moveCursor: function moveCursoe(delta) {
+ var success = false;
+ ttEach(this.first(), function(t) {
+ success = t.moveCursor(delta);
+ });
+ return success;
+ },
+ val: function val(newVal) {
+ var query;
+ if (!arguments.length) {
+ ttEach(this.first(), function(t) {
+ query = t.getVal();
+ });
+ return query;
+ } else {
+ ttEach(this, function(t) {
+ t.setVal(_.toStr(newVal));
+ });
+ return this;
+ }
+ },
+ destroy: function destroy() {
+ ttEach(this, function(typeahead, $input) {
+ revert($input);
+ typeahead.destroy();
+ });
+ return this;
+ }
+ };
+ $.fn.typeahead = function(method) {
+ if (methods[method]) {
+ return methods[method].apply(this, [].slice.call(arguments, 1));
+ } else {
+ return methods.initialize.apply(this, arguments);
+ }
+ };
+ $.fn.typeahead.noConflict = function noConflict() {
+ $.fn.typeahead = old;
+ return this;
+ };
+ function ttEach($els, fn) {
+ $els.each(function() {
+ var $input = $(this), typeahead;
+ (typeahead = $input.data(keys.typeahead)) && fn(typeahead, $input);
+ });
+ }
+ function buildHintFromInput($input, www) {
+ return $input.clone().addClass(www.classes.hint).removeData().css(www.css.hint).css(getBackgroundStyles($input)).prop({
+ readonly: true,
+ required: false
+ }).removeAttr("id name placeholder").removeClass("required").attr({
+ spellcheck: "false",
+ tabindex: -1
+ });
+ }
+ function prepInput($input, www) {
+ $input.data(keys.attrs, {
+ dir: $input.attr("dir"),
+ autocomplete: $input.attr("autocomplete"),
+ spellcheck: $input.attr("spellcheck"),
+ style: $input.attr("style")
+ });
+ $input.addClass(www.classes.input).attr({
+ spellcheck: false
+ });
+ try {
+ !$input.attr("dir") && $input.attr("dir", "auto");
+ } catch (e) {}
+ return $input;
+ }
+ function getBackgroundStyles($el) {
+ return {
+ backgroundAttachment: $el.css("background-attachment"),
+ backgroundClip: $el.css("background-clip"),
+ backgroundColor: $el.css("background-color"),
+ backgroundImage: $el.css("background-image"),
+ backgroundOrigin: $el.css("background-origin"),
+ backgroundPosition: $el.css("background-position"),
+ backgroundRepeat: $el.css("background-repeat"),
+ backgroundSize: $el.css("background-size")
+ };
+ }
+ function revert($input) {
+ var www, $wrapper;
+ www = $input.data(keys.www);
+ $wrapper = $input.parent().filter(www.selectors.wrapper);
+ _.each($input.data(keys.attrs), function(val, key) {
+ _.isUndefined(val) ? $input.removeAttr(key) : $input.attr(key, val);
+ });
+ $input.removeData(keys.typeahead).removeData(keys.www).removeData(keys.attr).removeClass(www.classes.input);
+ if ($wrapper.length) {
+ $input.detach().insertAfter($wrapper);
+ $wrapper.remove();
+ }
+ }
+ function $elOrNull(obj) {
+ var isValid, $el;
+ isValid = _.isJQuery(obj) || _.isElement(obj);
+ $el = isValid ? $(obj).first() : [];
+ return $el.length ? $el : null;
+ }
+ })();
+});
\ No newline at end of file
diff --git a/3.1.0/latest_version b/3.1.0/latest_version
new file mode 100644
index 00000000..fd2a0186
--- /dev/null
+++ b/3.1.0/latest_version
@@ -0,0 +1 @@
+3.1.0
diff --git a/3.1.0/search.json b/3.1.0/search.json
new file mode 100644
index 00000000..d37b3a86
--- /dev/null
+++ b/3.1.0/search.json
@@ -0,0 +1 @@
+{"Typealiases.html#/s:4Turf17LocationDirectiona":{"name":"LocationDirection","abstract":"\u003cp\u003eAn azimuth measured in degrees clockwise from true north.\u003c/p\u003e"},"Typealiases.html#/s:4Turf16LocationDistancea":{"name":"LocationDistance","abstract":"\u003cp\u003eA distance in meters.\u003c/p\u003e"},"Typealiases.html#/s:4Turf15LocationDegreesa":{"name":"LocationDegrees","abstract":"\u003cp\u003eA latitude or longitude in degrees.\u003c/p\u003e"},"Typealiases.html#/s:4Turf20LocationCoordinate2Da":{"name":"LocationCoordinate2D","abstract":"\u003cp\u003eA geographic coordinate.\u003c/p\u003e"},"Typealiases.html#/LocationDirection":{"name":"LocationDirection","abstract":"\u003cp\u003eAn azimuth measured in degrees clockwise from true north.\u003c/p\u003e"},"Typealiases.html#/LocationDistance":{"name":"LocationDistance","abstract":"\u003cp\u003eA distance in meters.\u003c/p\u003e"},"Typealiases.html#/LocationDegrees":{"name":"LocationDegrees","abstract":"\u003cp\u003eA latitude or longitude in degrees.\u003c/p\u003e"},"Typealiases.html#/s:4Turf9JSONArraya":{"name":"JSONArray","abstract":"\u003cp\u003eA JSON array of \u003ccode\u003e\u003ca href=\"36f8f5912051ae747ef441d6511ca4cbEnums/JSONValue.html\"\u003eJSONValue\u003c/a\u003e\u003c/code\u003e instances.\u003c/p\u003e"},"Typealiases.html#/s:4Turf10JSONObjecta":{"name":"JSONObject","abstract":"\u003cp\u003eA JSON object represented in memory by a dictionary with strings as keys and \u003ccode\u003e\u003ca href=\"36f8f5912051ae747ef441d6511ca4cbEnums/JSONValue.html\"\u003eJSONValue\u003c/a\u003e\u003c/code\u003e instances as values.\u003c/p\u003e"},"Typealiases.html#/s:4Turf15LocationRadiansa":{"name":"LocationRadians","abstract":"\u003cp\u003eA latitude or longitude measured in radians, as opposed to \u003ccode\u003e\u003ca href=\"36f8f5912051ae747ef441d6511ca4cbTypealiases.html#/s:4Turf15LocationDegreesa\"\u003eLocationDegrees\u003c/a\u003e\u003c/code\u003e, which is measured in degrees of arc.\u003c/p\u003e"},"Typealiases.html#/s:4Turf14RadianDistancea":{"name":"RadianDistance","abstract":"\u003cp\u003eA difference in latitude or longitude measured in radians, as opposed to \u003ccode\u003eCLLocationDegrees\u003c/code\u003e, which is used by some libraries to represent a similar distance measured in degrees of arc.\u003c/p\u003e"},"Typealiases.html#/s:4Turf11LineSegmenta":{"name":"LineSegment","abstract":"\u003cp\u003eA segment between two positions in a \u003ccode\u003e\u003ca href=\"36f8f5912051ae747ef441d6511ca4cbStructs/LineString.html\"\u003eLineString\u003c/a\u003e\u003c/code\u003e geometry or \u003ccode\u003e\u003ca href=\"36f8f5912051ae747ef441d6511ca4cbStructs/Ring.html\"\u003eRing\u003c/a\u003e\u003c/code\u003e.\u003c/p\u003e"},"Structs/Ring.html#/s:4Turf4RingV11coordinatesSaySo22CLLocationCoordinate2DVGvp":{"name":"coordinates","abstract":"\u003cp\u003eThe positions at which the linear ring is located.\u003c/p\u003e","parent_name":"Ring"},"Structs/Ring.html#/s:4Turf4RingV11coordinatesACSaySo22CLLocationCoordinate2DVG_tcfc":{"name":"init(coordinates:)","abstract":"\u003cp\u003eInitializes a linear ring defined by the given positions.\u003c/p\u003e","parent_name":"Ring"},"Structs/Ring.html#/s:4Turf4RingV4areaSdvp":{"name":"area","abstract":"\u003cp\u003eCalculate the approximate area of the polygon were it projected onto the earth, in square meters.","parent_name":"Ring"},"Structs/Ring.html#/s:4Turf4RingV8contains_14ignoreBoundarySbSo22CLLocationCoordinate2DV_SbtF":{"name":"contains(_:ignoreBoundary:)","abstract":"\u003cp\u003eDetermines if the given point falls within the ring.","parent_name":"Ring"},"Structs/Ring.html#/s:Se4fromxs7Decoder_p_tKcfc":{"name":"init(from:)","parent_name":"Ring"},"Structs/Ring.html#/s:SE6encode2toys7Encoder_p_tKF":{"name":"encode(to:)","parent_name":"Ring"},"Structs/RadianCoordinate2D.html#/s:4Turf18RadianCoordinate2DV8latitude9longitudeACSd_Sdtcfc":{"name":"init(latitude:longitude:)","abstract":"\u003cp\u003eInitializes a coordinate pair located at the given latitude and longitude.\u003c/p\u003e","parent_name":"RadianCoordinate2D"},"Structs/RadianCoordinate2D.html#/s:4Turf18RadianCoordinate2DVyACSo010CLLocationC1DVcfc":{"name":"init(_:)","abstract":"\u003cp\u003eInitializes a coordinate pair measured in radians that is coincident to the given coordinate pair measured in degrees of arc.\u003c/p\u003e","parent_name":"RadianCoordinate2D"},"Structs/RadianCoordinate2D.html#/s:4Turf18RadianCoordinate2DV9direction2to10Foundation11MeasurementVySo11NSUnitAngleCGAC_tF":{"name":"direction(to:)","abstract":"\u003cp\u003eReturns direction given two coordinates.\u003c/p\u003e","parent_name":"RadianCoordinate2D"},"Structs/RadianCoordinate2D.html#/s:4Turf18RadianCoordinate2DV10coordinate2at6facingACSd_10Foundation11MeasurementVySo11NSUnitAngleCGtF":{"name":"coordinate(at:facing:)","abstract":"\u003cp\u003eReturns coordinate at a given distance and direction away from coordinate.\u003c/p\u003e","parent_name":"RadianCoordinate2D"},"Structs/RadianCoordinate2D.html#/s:4Turf18RadianCoordinate2DV8distance2toSdAC_tF":{"name":"distance(to:)","abstract":"\u003cp\u003eReturns the Haversine distance between two coordinates measured in radians.\u003c/p\u003e","parent_name":"RadianCoordinate2D"},"Structs/Polygon.html#/s:4Turf7PolygonV11coordinatesSaySaySo22CLLocationCoordinate2DVGGvp":{"name":"coordinates","abstract":"\u003cp\u003eThe positions at which the polygon is located. Each nested array corresponds to one linear ring.\u003c/p\u003e","parent_name":"Polygon"},"Structs/Polygon.html#/s:4Turf22ForeignMemberContainerP14foreignMembersSDySSAA9JSONValueOSgGvp":{"name":"foreignMembers","parent_name":"Polygon"},"Structs/Polygon.html#/s:4Turf7PolygonVyACSaySaySo22CLLocationCoordinate2DVGGcfc":{"name":"init(_:)","abstract":"\u003cp\u003eInitializes a polygon defined by the given positions.\u003c/p\u003e","parent_name":"Polygon"},"Structs/Polygon.html#/s:4Turf7PolygonV9outerRing10innerRingsAcA0D0V_SayAGGtcfc":{"name":"init(outerRing:innerRings:)","abstract":"\u003cp\u003eInitializes a polygon defined by the given linear rings.\u003c/p\u003e","parent_name":"Polygon"},"Structs/Polygon.html#/s:4Turf7PolygonV6center6radius8verticesACSo22CLLocationCoordinate2DV_SdSitcfc":{"name":"init(center:radius:vertices:)","abstract":"\u003cp\u003eInitializes a polygon as a given center coordinate with a given number of","parent_name":"Polygon"},"Structs/Polygon.html#/s:Se4fromxs7Decoder_p_tKcfc":{"name":"init(from:)","parent_name":"Polygon"},"Structs/Polygon.html#/s:SE6encode2toys7Encoder_p_tKF":{"name":"encode(to:)","parent_name":"Polygon"},"Structs/Polygon.html#/s:4Turf7PolygonV10innerRingsSayAA4RingVGvp":{"name":"innerRings","abstract":"\u003cp\u003eRepresentation of \u003ccode\u003ePolygon\u003c/code\u003es coordinates of inner rings\u003c/p\u003e","parent_name":"Polygon"},"Structs/Polygon.html#/s:4Turf7PolygonV9outerRingAA0D0Vvp":{"name":"outerRing","abstract":"\u003cp\u003eRepresentation of \u003ccode\u003ePolygon\u003c/code\u003es coordinates of outer ring\u003c/p\u003e","parent_name":"Polygon"},"Structs/Polygon.html#/s:4Turf7PolygonV4areaSdvp":{"name":"area","abstract":"\u003cp\u003eThe polygon’s area.\u003c/p\u003e","parent_name":"Polygon"},"Structs/Polygon.html#/s:4Turf7PolygonV8contains_14ignoreBoundarySbSo22CLLocationCoordinate2DV_SbtF":{"name":"contains(_:ignoreBoundary:)","abstract":"\u003cp\u003eReturns whether the given coordinate falls within the polygon and outside of its interior rings.\u003c/p\u003e","parent_name":"Polygon"},"Structs/Polygon.html#/s:4Turf7PolygonV6smooth10iterationsACSi_tF":{"name":"smooth(iterations:)","abstract":"\u003cp\u003eReturns the polygon with corners smoothed out using \u003ca href=\"https://www.cs.unc.edu/%7Edm/UNC/COMP258/LECTURES/Chaikins-Algorithm.pdf\"\u003eChaikin’s algorithm\u003c/a\u003e.\u003c/p\u003e","parent_name":"Polygon"},"Structs/Polygon.html#/s:4Turf7PolygonV10simplified9tolerance14highestQualityACSd_SbtF":{"name":"simplified(tolerance:highestQuality:)","abstract":"\u003cp\u003eReturns a copy of the polygon simplified using the Ramer–Douglas–Peucker algorithm.\u003c/p\u003e","parent_name":"Polygon"},"Structs/Polygon.html#/s:4Turf7PolygonV8simplify9tolerance14highestQualityySd_SbtF":{"name":"simplify(tolerance:highestQuality:)","abstract":"\u003cp\u003eSimplifies the polygon in place using the Ramer–Douglas–Peucker algorithm.\u003c/p\u003e","parent_name":"Polygon"},"Structs/Polygon.html#/s:4Turf7PolygonV6centerSo22CLLocationCoordinate2DVSgvp":{"name":"center","abstract":"\u003cp\u003eCalculates the absolute center of the bounding box.\u003c/p\u003e","parent_name":"Polygon"},"Structs/Polygon.html#/s:4Turf7PolygonV8centroidSo22CLLocationCoordinate2DVSgvp":{"name":"centroid","abstract":"\u003cp\u003eCalculates the centroid using the mean of all vertices.\u003c/p\u003e","parent_name":"Polygon"},"Structs/Polygon.html#/s:4Turf7PolygonV12centerOfMassSo22CLLocationCoordinate2DVSgvp":{"name":"centerOfMass","abstract":"\u003cp\u003eCalculates the \u003ca href=\"https://en.wikipedia.org/wiki/Center_of_mass\"\u003ecenter of mass\u003c/a\u003e using the \u003ca href=\"https://en.wikipedia.org/wiki/Centroid#Centroid_of_polygon\"\u003ecentroid of polygon\u003c/a\u003e formula.\u003c/p\u003e","parent_name":"Polygon"},"Structs/Polygon.html#/s:4Turf19GeometryConvertibleP8geometryAA0B0Ovp":{"name":"geometry","parent_name":"Polygon"},"Structs/Polygon.html#/s:4Turf7PolygonV3wktSSvp":{"name":"wkt","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"Polygon"},"Structs/Polygon.html#/s:4Turf7PolygonV3wktACSS_tKcfc":{"name":"init(wkt:)","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"Polygon"},"Structs/Point.html#/s:4Turf5PointV11coordinatesSo22CLLocationCoordinate2DVvp":{"name":"coordinates","abstract":"\u003cp\u003eThe position at which the point is located.\u003c/p\u003e","parent_name":"Point"},"Structs/Point.html#/s:4Turf22ForeignMemberContainerP14foreignMembersSDySSAA9JSONValueOSgGvp":{"name":"foreignMembers","parent_name":"Point"},"Structs/Point.html#/s:4Turf5PointVyACSo22CLLocationCoordinate2DVcfc":{"name":"init(_:)","abstract":"\u003cp\u003eInitializes a point defined by the given position.\u003c/p\u003e","parent_name":"Point"},"Structs/Point.html#/s:Se4fromxs7Decoder_p_tKcfc":{"name":"init(from:)","parent_name":"Point"},"Structs/Point.html#/s:SE6encode2toys7Encoder_p_tKF":{"name":"encode(to:)","parent_name":"Point"},"Structs/Point.html#/s:4Turf19GeometryConvertibleP8geometryAA0B0Ovp":{"name":"geometry","parent_name":"Point"},"Structs/Point.html#/s:4Turf5PointV3wktSSvp":{"name":"wkt","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"Point"},"Structs/Point.html#/s:4Turf5PointV3wktACSS_tKcfc":{"name":"init(wkt:)","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"Point"},"Structs/MultiPolygon.html#/s:4Turf12MultiPolygonV11coordinatesSaySaySaySo22CLLocationCoordinate2DVGGGvp":{"name":"coordinates","abstract":"\u003cp\u003eThe positions at which the multipolygon is located. Each nested array corresponds to one polygon.\u003c/p\u003e","parent_name":"MultiPolygon"},"Structs/MultiPolygon.html#/s:4Turf22ForeignMemberContainerP14foreignMembersSDySSAA9JSONValueOSgGvp":{"name":"foreignMembers","parent_name":"MultiPolygon"},"Structs/MultiPolygon.html#/s:4Turf12MultiPolygonV8polygonsSayAA0C0VGvp":{"name":"polygons","abstract":"\u003cp\u003eThe polygon geometries that conceptually form the multipolygon.\u003c/p\u003e","parent_name":"MultiPolygon"},"Structs/MultiPolygon.html#/s:4Turf12MultiPolygonVyACSaySaySaySo22CLLocationCoordinate2DVGGGcfc":{"name":"init(_:)","abstract":"\u003cp\u003eInitializes a multipolygon defined by the given positions.\u003c/p\u003e","parent_name":"MultiPolygon"},"Structs/MultiPolygon.html#/s:4Turf12MultiPolygonVyACSayAA0C0VGcfc":{"name":"init(_:)","abstract":"\u003cp\u003eInitializes a multipolygon coincident to the given polygons.\u003c/p\u003e","parent_name":"MultiPolygon"},"Structs/MultiPolygon.html#/s:Se4fromxs7Decoder_p_tKcfc":{"name":"init(from:)","parent_name":"MultiPolygon"},"Structs/MultiPolygon.html#/s:SE6encode2toys7Encoder_p_tKF":{"name":"encode(to:)","parent_name":"MultiPolygon"},"Structs/MultiPolygon.html#/s:4Turf12MultiPolygonV8contains_14ignoreBoundarySbSo22CLLocationCoordinate2DV_SbtF":{"name":"contains(_:ignoreBoundary:)","abstract":"\u003cp\u003eDetermines if the given coordinate falls within any of the polygons.","parent_name":"MultiPolygon"},"Structs/MultiPolygon.html#/s:4Turf19GeometryConvertibleP8geometryAA0B0Ovp":{"name":"geometry","parent_name":"MultiPolygon"},"Structs/MultiPolygon.html#/s:4Turf12MultiPolygonV3wktSSvp":{"name":"wkt","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"MultiPolygon"},"Structs/MultiPolygon.html#/s:4Turf12MultiPolygonV3wktACSS_tKcfc":{"name":"init(wkt:)","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"MultiPolygon"},"Structs/MultiPoint.html#/s:4Turf10MultiPointV11coordinatesSaySo22CLLocationCoordinate2DVGvp":{"name":"coordinates","abstract":"\u003cp\u003eThe positions at which the multipoint is located.\u003c/p\u003e","parent_name":"MultiPoint"},"Structs/MultiPoint.html#/s:4Turf22ForeignMemberContainerP14foreignMembersSDySSAA9JSONValueOSgGvp":{"name":"foreignMembers","parent_name":"MultiPoint"},"Structs/MultiPoint.html#/s:4Turf10MultiPointVyACSaySo22CLLocationCoordinate2DVGcfc":{"name":"init(_:)","abstract":"\u003cp\u003eInitializes a multipoint defined by the given positions.\u003c/p\u003e","parent_name":"MultiPoint"},"Structs/MultiPoint.html#/s:Se4fromxs7Decoder_p_tKcfc":{"name":"init(from:)","parent_name":"MultiPoint"},"Structs/MultiPoint.html#/s:SE6encode2toys7Encoder_p_tKF":{"name":"encode(to:)","parent_name":"MultiPoint"},"Structs/MultiPoint.html#/s:4Turf19GeometryConvertibleP8geometryAA0B0Ovp":{"name":"geometry","parent_name":"MultiPoint"},"Structs/MultiPoint.html#/s:4Turf10MultiPointV3wktSSvp":{"name":"wkt","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"MultiPoint"},"Structs/MultiPoint.html#/s:4Turf10MultiPointV3wktACSS_tKcfc":{"name":"init(wkt:)","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"MultiPoint"},"Structs/MultiLineString.html#/s:4Turf15MultiLineStringV11coordinatesSaySaySo22CLLocationCoordinate2DVGGvp":{"name":"coordinates","abstract":"\u003cp\u003eThe positions at which the multi–line string is located. Each nested array corresponds to one line string.\u003c/p\u003e","parent_name":"MultiLineString"},"Structs/MultiLineString.html#/s:4Turf22ForeignMemberContainerP14foreignMembersSDySSAA9JSONValueOSgGvp":{"name":"foreignMembers","parent_name":"MultiLineString"},"Structs/MultiLineString.html#/s:4Turf15MultiLineStringVyACSaySaySo22CLLocationCoordinate2DVGGcfc":{"name":"init(_:)","abstract":"\u003cp\u003eInitializes a multi–line string defined by the given positions.\u003c/p\u003e","parent_name":"MultiLineString"},"Structs/MultiLineString.html#/s:4Turf15MultiLineStringVyAcA7PolygonVcfc":{"name":"init(_:)","abstract":"\u003cp\u003eInitializes a multi–line string coincident to the given polygon’s linear rings.\u003c/p\u003e","parent_name":"MultiLineString"},"Structs/MultiLineString.html#/s:Se4fromxs7Decoder_p_tKcfc":{"name":"init(from:)","parent_name":"MultiLineString"},"Structs/MultiLineString.html#/s:SE6encode2toys7Encoder_p_tKF":{"name":"encode(to:)","parent_name":"MultiLineString"},"Structs/MultiLineString.html#/s:4Turf19GeometryConvertibleP8geometryAA0B0Ovp":{"name":"geometry","parent_name":"MultiLineString"},"Structs/MultiLineString.html#/s:4Turf15MultiLineStringV3wktSSvp":{"name":"wkt","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"MultiLineString"},"Structs/MultiLineString.html#/s:4Turf15MultiLineStringV3wktACSS_tKcfc":{"name":"init(wkt:)","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"MultiLineString"},"Structs/LineString/IndexedCoordinate.html#/s:4Turf10LineStringV17IndexedCoordinateV10coordinateSo22CLLocationCoordinate2DVvp":{"name":"coordinate","abstract":"\u003cp\u003eThe coordinate\u003c/p\u003e","parent_name":"IndexedCoordinate"},"Structs/LineString/IndexedCoordinate.html#/s:4Turf10LineStringV17IndexedCoordinateV8distanceSdvp":{"name":"distance","abstract":"\u003cp\u003eThe coordinate’s distance from the start of the polyline\u003c/p\u003e","parent_name":"IndexedCoordinate"},"Structs/LineString.html#/s:4Turf10LineStringV11coordinatesSaySo22CLLocationCoordinate2DVGvp":{"name":"coordinates","abstract":"\u003cp\u003eThe positions at which the line string is located.\u003c/p\u003e","parent_name":"LineString"},"Structs/LineString.html#/s:4Turf22ForeignMemberContainerP14foreignMembersSDySSAA9JSONValueOSgGvp":{"name":"foreignMembers","parent_name":"LineString"},"Structs/LineString.html#/s:4Turf10LineStringVyACSaySo22CLLocationCoordinate2DVGcfc":{"name":"init(_:)","abstract":"\u003cp\u003eInitializes a line string defined by given positions.\u003c/p\u003e","parent_name":"LineString"},"Structs/LineString.html#/s:4Turf10LineStringVyAcA4RingVcfc":{"name":"init(_:)","abstract":"\u003cp\u003eInitializes a line string coincident to the given linear ring.\u003c/p\u003e","parent_name":"LineString"},"Structs/LineString.html#/s:Se4fromxs7Decoder_p_tKcfc":{"name":"init(from:)","parent_name":"LineString"},"Structs/LineString.html#/s:SE6encode2toys7Encoder_p_tKF":{"name":"encode(to:)","parent_name":"LineString"},"Structs/LineString.html#/s:4Turf10LineStringV6bezier10resolution9sharpnessACSgSi_SdtF":{"name":"bezier(resolution:sharpness:)","abstract":"\u003cp\u003eReturns the line string transformed into an approximation of a curve by applying a Bézier spline algorithm.\u003c/p\u003e","parent_name":"LineString"},"Structs/LineString.html#/s:4Turf10LineStringV7trimmed4from2toACSgSd_SdtF":{"name":"trimmed(from:to:)","abstract":"\u003cp\u003eReturns the portion of the line string that begins at the given start distance and extends the given stop distance along the line string.\u003c/p\u003e","parent_name":"LineString"},"Structs/LineString.html#/s:4Turf10LineStringV7trimmed4from8distanceACSgSo22CLLocationCoordinate2DV_SdtF":{"name":"trimmed(from:distance:)","abstract":"\u003cp\u003eReturns the portion of the line string that begins at the given coordinate and extends the given distance along the line string.\u003c/p\u003e","parent_name":"LineString"},"Structs/LineString/IndexedCoordinate.html":{"name":"IndexedCoordinate","abstract":"\u003cp\u003e\u003ccode\u003eIndexedCoordinate\u003c/code\u003e is a coordinate with additional information such as the index from its position in the polyline and distance from the start of the polyline.\u003c/p\u003e","parent_name":"LineString"},"Structs/LineString.html#/s:4Turf10LineStringV19coordinateFromStart8distanceSo22CLLocationCoordinate2DVSgSd_tF":{"name":"coordinateFromStart(distance:)","abstract":"\u003cp\u003eReturns a coordinate along a line string at a certain distance from the start of the polyline.\u003c/p\u003e","parent_name":"LineString"},"Structs/LineString.html#/s:4Turf10LineStringV26indexedCoordinateFromStart8distanceAC07IndexedE0VSgSd_tF":{"name":"indexedCoordinateFromStart(distance:)","abstract":"\u003cp\u003eReturns an indexed coordinate along a line string at a certain distance from the start of the polyline.\u003c/p\u003e","parent_name":"LineString"},"Structs/LineString.html#/s:4Turf10LineStringV8distance4from2toSdSgSo22CLLocationCoordinate2DVSg_AJtF":{"name":"distance(from:to:)","abstract":"\u003cp\u003eReturns the distance along a slice of the line string with the given endpoints.\u003c/p\u003e","parent_name":"LineString"},"Structs/LineString.html#/s:4Turf10LineStringV6sliced4from2toACSgSo22CLLocationCoordinate2DVSg_AJtF":{"name":"sliced(from:to:)","abstract":"\u003cp\u003eReturns a subset of the line string between two given coordinates.\u003c/p\u003e","parent_name":"LineString"},"Structs/LineString.html#/s:4Turf10LineStringV17closestCoordinate2toAC07IndexedE0VSgSo22CLLocationCoordinate2DV_tF":{"name":"closestCoordinate(to:)","abstract":"\u003cp\u003eReturns the geographic coordinate along the line string that is closest to the given coordinate as the crow flies.\u003c/p\u003e","parent_name":"LineString"},"Structs/LineString.html#/s:4Turf10LineStringV10simplified9tolerance14highestQualityACSd_SbtF":{"name":"simplified(tolerance:highestQuality:)","abstract":"\u003cp\u003eReturns a copy of the line string simplified using the Ramer–Douglas–Peucker algorithm.\u003c/p\u003e","parent_name":"LineString"},"Structs/LineString.html#/s:4Turf10LineStringV8simplify9tolerance14highestQualityySd_SbtF":{"name":"simplify(tolerance:highestQuality:)","abstract":"\u003cp\u003eSimplifies the line string in place using the Ramer–Douglas–Peucker algorithm.\u003c/p\u003e","parent_name":"LineString"},"Structs/LineString.html#/s:4Turf10LineStringV13intersections4withSaySo22CLLocationCoordinate2DVGAC_tF":{"name":"intersections(with:)","abstract":"\u003cp\u003eReturns all intersections with another \u003ccode\u003eLineString\u003c/code\u003e.\u003c/p\u003e","parent_name":"LineString"},"Structs/LineString.html#/s:4Turf19GeometryConvertibleP8geometryAA0B0Ovp":{"name":"geometry","parent_name":"LineString"},"Structs/LineString.html#/s:4Turf10LineStringV3wktSSvp":{"name":"wkt","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"LineString"},"Structs/LineString.html#/s:4Turf10LineStringV3wktACSS_tKcfc":{"name":"init(wkt:)","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"LineString"},"Structs/GeometryCollection.html#/s:4Turf18GeometryCollectionV10geometriesSayAA0B0OGvp":{"name":"geometries","abstract":"\u003cp\u003eThe geometries contained by the geometry collection.\u003c/p\u003e","parent_name":"GeometryCollection"},"Structs/GeometryCollection.html#/s:4Turf22ForeignMemberContainerP14foreignMembersSDySSAA9JSONValueOSgGvp":{"name":"foreignMembers","parent_name":"GeometryCollection"},"Structs/GeometryCollection.html#/s:4Turf18GeometryCollectionV10geometriesACSayAA0B0OG_tcfc":{"name":"init(geometries:)","abstract":"\u003cp\u003eInitializes a geometry collection defined by the given geometries.\u003c/p\u003e","parent_name":"GeometryCollection"},"Structs/GeometryCollection.html#/s:4Turf18GeometryCollectionVyAcA12MultiPolygonVcfc":{"name":"init(_:)","abstract":"\u003cp\u003eInitializes a geometry collection coincident to the given multipolygon.\u003c/p\u003e","parent_name":"GeometryCollection"},"Structs/GeometryCollection.html#/s:Se4fromxs7Decoder_p_tKcfc":{"name":"init(from:)","parent_name":"GeometryCollection"},"Structs/GeometryCollection.html#/s:SE6encode2toys7Encoder_p_tKF":{"name":"encode(to:)","parent_name":"GeometryCollection"},"Structs/GeometryCollection.html#/s:4Turf19GeometryConvertibleP8geometryAA0B0Ovp":{"name":"geometry","parent_name":"GeometryCollection"},"Structs/GeometryCollection.html#/s:4Turf18GeometryCollectionV3wktSSvp":{"name":"wkt","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"GeometryCollection"},"Structs/GeometryCollection.html#/s:4Turf18GeometryCollectionV3wktACSS_tKcfc":{"name":"init(wkt:)","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"GeometryCollection"},"Structs/FeatureCollection.html#/s:4Turf17FeatureCollectionV8featuresSayAA0B0VGvp":{"name":"features","abstract":"\u003cp\u003eThe features that the collection contains.\u003c/p\u003e","parent_name":"FeatureCollection"},"Structs/FeatureCollection.html#/s:4Turf22ForeignMemberContainerP14foreignMembersSDySSAA9JSONValueOSgGvp":{"name":"foreignMembers","parent_name":"FeatureCollection"},"Structs/FeatureCollection.html#/s:4Turf17FeatureCollectionV8featuresACSayAA0B0VG_tcfc":{"name":"init(features:)","abstract":"\u003cp\u003eInitializes a feature collection containing the given features.\u003c/p\u003e","parent_name":"FeatureCollection"},"Structs/FeatureCollection.html#/s:Se4fromxs7Decoder_p_tKcfc":{"name":"init(from:)","parent_name":"FeatureCollection"},"Structs/FeatureCollection.html#/s:SE6encode2toys7Encoder_p_tKF":{"name":"encode(to:)","parent_name":"FeatureCollection"},"Structs/FeatureCollection.html#/s:4Turf24GeoJSONObjectConvertibleP03geoC0AA0bC0Ovp":{"name":"geoJSONObject","parent_name":"FeatureCollection"},"Structs/Feature.html#/s:4Turf7FeatureV10identifierAA0B10IdentifierOSgvp":{"name":"identifier","abstract":"\u003cp\u003eA string or number that commonly identifies the feature in the context of a data set.\u003c/p\u003e","parent_name":"Feature"},"Structs/Feature.html#/s:4Turf7FeatureV10propertiesSDySSAA9JSONValueOSgGSgvp":{"name":"properties","abstract":"\u003cp\u003eArbitrary, JSON-compatible attributes to associate with the feature.\u003c/p\u003e","parent_name":"Feature"},"Structs/Feature.html#/s:4Turf7FeatureV8geometryAA8GeometryOSgvp":{"name":"geometry","abstract":"\u003cp\u003eThe geometry at which the feature is located.\u003c/p\u003e","parent_name":"Feature"},"Structs/Feature.html#/s:4Turf22ForeignMemberContainerP14foreignMembersSDySSAA9JSONValueOSgGvp":{"name":"foreignMembers","parent_name":"Feature"},"Structs/Feature.html#/s:4Turf7FeatureV8geometryAcA8GeometryO_tcfc":{"name":"init(geometry:)","abstract":"\u003cp\u003eInitializes a feature located at the given geometry.\u003c/p\u003e","parent_name":"Feature"},"Structs/Feature.html#/s:4Turf7FeatureV8geometryAcA19GeometryConvertible_pSg_tcfc":{"name":"init(geometry:)","abstract":"\u003cp\u003eInitializes a feature defined by the given geometry-convertible instance.\u003c/p\u003e","parent_name":"Feature"},"Structs/Feature.html#/s:Se4fromxs7Decoder_p_tKcfc":{"name":"init(from:)","parent_name":"Feature"},"Structs/Feature.html#/s:SE6encode2toys7Encoder_p_tKF":{"name":"encode(to:)","parent_name":"Feature"},"Structs/Feature.html#/s:4Turf24GeoJSONObjectConvertibleP03geoC0AA0bC0Ovp":{"name":"geoJSONObject","parent_name":"Feature"},"Structs/LocationCoordinate2D.html#/latitude":{"name":"latitude","abstract":"\u003cp\u003eThe latitude in degrees.\u003c/p\u003e","parent_name":"LocationCoordinate2D"},"Structs/LocationCoordinate2D.html#/longitude":{"name":"longitude","abstract":"\u003cp\u003eThe longitude in degrees.\u003c/p\u003e","parent_name":"LocationCoordinate2D"},"Structs/LocationCoordinate2D.html#/init(latitude:longitude:)":{"name":"init(latitude:longitude:)","abstract":"\u003cp\u003eCreates a degree-based geographic coordinate.\u003c/p\u003e","parent_name":"LocationCoordinate2D"},"Structs/BoundingBox.html#/s:4Turf11BoundingBoxV9southWestSo22CLLocationCoordinate2DVvp":{"name":"southWest","abstract":"\u003cp\u003eThe southwesternmost position contained in the bounding box.\u003c/p\u003e","parent_name":"BoundingBox"},"Structs/BoundingBox.html#/s:4Turf11BoundingBoxV9northEastSo22CLLocationCoordinate2DVvp":{"name":"northEast","abstract":"\u003cp\u003eThe northeasternmost position contained in the bounding box.\u003c/p\u003e","parent_name":"BoundingBox"},"Structs/BoundingBox.html#/s:4Turf11BoundingBoxV4fromACSgSaySo22CLLocationCoordinate2DVGSg_tcfc":{"name":"init(from:)","abstract":"\u003cp\u003eInitializes the smallest bounding box that contains all the given coordinates.\u003c/p\u003e","parent_name":"BoundingBox"},"Structs/BoundingBox.html#/s:4Turf11BoundingBoxV9southWest9northEastACSo22CLLocationCoordinate2DV_AGtcfc":{"name":"init(southWest:northEast:)","abstract":"\u003cp\u003eInitializes a bounding box defined by its southwesternmost and northeasternmost positions.\u003c/p\u003e","parent_name":"BoundingBox"},"Structs/BoundingBox.html#/s:4Turf11BoundingBoxV8contains_14ignoreBoundarySbSo22CLLocationCoordinate2DV_SbtF":{"name":"contains(_:ignoreBoundary:)","abstract":"\u003cp\u003eReturns a Boolean value indicating whether the bounding box contains the given position.\u003c/p\u003e","parent_name":"BoundingBox"},"Structs/BoundingBox.html#/s:SH4hash4intoys6HasherVz_tF":{"name":"hash(into:)","parent_name":"BoundingBox"},"Structs/BoundingBox.html#/s:SE6encode2toys7Encoder_p_tKF":{"name":"encode(to:)","parent_name":"BoundingBox"},"Structs/BoundingBox.html#/s:Se4fromxs7Decoder_p_tKcfc":{"name":"init(from:)","parent_name":"BoundingBox"},"Structs/BoundingBox.html":{"name":"BoundingBox","abstract":"\u003cp\u003eA \u003ca href=\"https://datatracker.ietf.org/doc/html/rfc7946#section-5\"\u003ebounding box\u003c/a\u003e indicates the extremes of a \u003ccode\u003e\u003ca href=\"36f8f5912051ae747ef441d6511ca4cbEnums/GeoJSONObject.html\"\u003eGeoJSONObject\u003c/a\u003e\u003c/code\u003e along the x- and y-axes (longitude and latitude, respectively).\u003c/p\u003e"},"Structs/LocationCoordinate2D.html":{"name":"LocationCoordinate2D","abstract":"\u003cp\u003eA geographic coordinate with its components measured in degrees.\u003c/p\u003e"},"Structs/Feature.html":{"name":"Feature","abstract":"\u003cp\u003eA \u003ca href=\"https://datatracker.ietf.org/doc/html/rfc7946#section-3.2\"\u003eFeature object\u003c/a\u003e represents a spatially bounded thing.\u003c/p\u003e"},"Structs/FeatureCollection.html":{"name":"FeatureCollection","abstract":"\u003cp\u003eA \u003ca href=\"https://datatracker.ietf.org/doc/html/rfc7946#section-3.3\"\u003eFeatureCollection object\u003c/a\u003e is a collection of Feature objects.\u003c/p\u003e"},"Structs/GeometryCollection.html":{"name":"GeometryCollection","abstract":"\u003cp\u003eA \u003ca href=\"https://datatracker.ietf.org/doc/html/rfc7946#section-3.1.8\"\u003eGeometryCollection geometry\u003c/a\u003e is a heterogeneous collection of \u003ccode\u003e\u003ca href=\"36f8f5912051ae747ef441d6511ca4cbEnums/Geometry.html\"\u003eGeometry\u003c/a\u003e\u003c/code\u003e objects that are related.\u003c/p\u003e"},"Structs/LineString.html":{"name":"LineString","abstract":"\u003cp\u003eA \u003ca href=\"https://datatracker.ietf.org/doc/html/rfc7946#section-3.1.4\"\u003eLineString geometry\u003c/a\u003e is a collection of two or more positions, each position connected to the next position linearly.\u003c/p\u003e"},"Structs/MultiLineString.html":{"name":"MultiLineString","abstract":"\u003cp\u003eA \u003ca href=\"https://datatracker.ietf.org/doc/html/rfc7946#section-3.1.5\"\u003eMultiLineString geometry\u003c/a\u003e is a collection of \u003ccode\u003e\u003ca href=\"36f8f5912051ae747ef441d6511ca4cbStructs/LineString.html\"\u003eLineString\u003c/a\u003e\u003c/code\u003e geometries that are disconnected but related.\u003c/p\u003e"},"Structs/MultiPoint.html":{"name":"MultiPoint","abstract":"\u003cp\u003eA \u003ca href=\"https://datatracker.ietf.org/doc/html/rfc7946#section-3.1.3\"\u003eMultiPoint geometry\u003c/a\u003e represents a collection of disconnected but related positions.\u003c/p\u003e"},"Structs/MultiPolygon.html":{"name":"MultiPolygon","abstract":"\u003cp\u003eA \u003ca href=\"https://datatracker.ietf.org/doc/html/rfc7946#section-3.1.7\"\u003eMultiPolygon geometry\u003c/a\u003e is a collection of \u003ccode\u003e\u003ca href=\"36f8f5912051ae747ef441d6511ca4cbStructs/Polygon.html\"\u003ePolygon\u003c/a\u003e\u003c/code\u003e geometries that are disconnected but related.\u003c/p\u003e"},"Structs/Point.html":{"name":"Point","abstract":"\u003cp\u003eA \u003ca href=\"https://datatracker.ietf.org/doc/html/rfc7946#section-3.1.2\"\u003ePoint geometry\u003c/a\u003e represents a single position.\u003c/p\u003e"},"Structs/Polygon.html":{"name":"Polygon","abstract":"\u003cp\u003eA \u003ca href=\"https://datatracker.ietf.org/doc/html/rfc7946#section-3.1.6\"\u003ePolygon geometry\u003c/a\u003e is conceptually a collection of \u003ccode\u003e\u003ca href=\"36f8f5912051ae747ef441d6511ca4cbStructs/Ring.html\"\u003eRing\u003c/a\u003e\u003c/code\u003es that form a single connected geometry.\u003c/p\u003e"},"Structs/RadianCoordinate2D.html":{"name":"RadianCoordinate2D","abstract":"\u003cp\u003eA coordinate pair measured in radians, as opposed to \u003ccode\u003e\u003ca href=\"36f8f5912051ae747ef441d6511ca4cbTypealiases.html#/s:4Turf20LocationCoordinate2Da\"\u003eLocationCoordinate2D\u003c/a\u003e\u003c/code\u003e, which is measured in degrees of arc.\u003c/p\u003e"},"Structs/Ring.html":{"name":"Ring","abstract":"\u003cp\u003eA \u003ca href=\"https://datatracker.ietf.org/doc/html/rfc7946#section-3.1.6\"\u003elinear ring\u003c/a\u003e is a closed figure bounded by three or more straight line segments.\u003c/p\u003e"},"Protocols/WKTConvertible.html#/s:4Turf14WKTConvertibleP3wktSSvp":{"name":"wkt","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"WKTConvertible"},"Protocols/WKTConvertible.html#/s:4Turf14WKTConvertibleP3wktxSS_tKcfc":{"name":"init(wkt:)","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"WKTConvertible"},"Protocols/GeometryConvertible.html#/s:4Turf19GeometryConvertibleP8geometryAA0B0Ovp":{"name":"geometry","abstract":"\u003cp\u003eThe instance wrapped in a \u003ccode\u003e\u003ca href=\"36f8f5912051ae747ef441d6511ca4cbEnums/Geometry.html\"\u003eGeometry\u003c/a\u003e\u003c/code\u003e instance.\u003c/p\u003e","parent_name":"GeometryConvertible"},"Protocols/ForeignMemberContainer.html#/s:4Turf22ForeignMemberContainerP14foreignMembersSDySSAA9JSONValueOSgGvp":{"name":"foreignMembers","abstract":"\u003cp\u003e\u003ca href=\"https://datatracker.ietf.org/doc/html/rfc7946#section-6.1\"\u003eForeign members\u003c/a\u003e to round-trip to JSON.\u003c/p\u003e","parent_name":"ForeignMemberContainer"},"Protocols/GeoJSONObjectConvertible.html#/s:4Turf24GeoJSONObjectConvertibleP03geoC0AA0bC0Ovp":{"name":"geoJSONObject","abstract":"\u003cp\u003eThe instance wrapped in a \u003ccode\u003e\u003ca href=\"36f8f5912051ae747ef441d6511ca4cbEnums/GeoJSONObject.html\"\u003eGeoJSONObject\u003c/a\u003e\u003c/code\u003e instance.\u003c/p\u003e","parent_name":"GeoJSONObjectConvertible"},"Protocols/GeoJSONObjectConvertible.html":{"name":"GeoJSONObjectConvertible","abstract":"\u003cp\u003eA type that can be represented as a \u003ccode\u003e\u003ca href=\"36f8f5912051ae747ef441d6511ca4cbEnums/GeoJSONObject.html\"\u003eGeoJSONObject\u003c/a\u003e\u003c/code\u003e instance.\u003c/p\u003e"},"Protocols/ForeignMemberContainer.html":{"name":"ForeignMemberContainer","abstract":"\u003cp\u003eA GeoJSON object that can contain \u003ca href=\"https://datatracker.ietf.org/doc/html/rfc7946#section-6.1\"\u003eforeign members\u003c/a\u003e in arbitrary keys.\u003c/p\u003e"},"Protocols/GeometryConvertible.html":{"name":"GeometryConvertible","abstract":"\u003cp\u003eA type that can be represented as a \u003ccode\u003e\u003ca href=\"36f8f5912051ae747ef441d6511ca4cbEnums/Geometry.html\"\u003eGeometry\u003c/a\u003e\u003c/code\u003e instance.\u003c/p\u003e"},"Protocols/WKTConvertible.html":{"name":"WKTConvertible","abstract":"\u003cp\u003eEntity which can be converted to and from \u0026lsquo;Well Known Text\u0026rsquo;.\u003c/p\u003e"},"Functions.html#/s:4Turf12intersectionySo22CLLocationCoordinate2DVSgAD_ADt_AD_ADttF":{"name":"intersection(_:_:)","abstract":"\u003cp\u003eReturns the intersection of two line segments.\u003c/p\u003e"},"Functions.html#/s:4Turf3midySo22CLLocationCoordinate2DVAD_ADtF":{"name":"mid(_:_:)","abstract":"\u003cp\u003eReturns the point midway between two coordinates measured in degrees.\u003c/p\u003e"},"Extensions/JSONObject.html#/s:SD4TurfSSRszAA9JSONValueOSgRs_rlE0A8RawValuea":{"name":"TurfRawValue","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"JSONObject"},"Extensions/JSONObject.html#/s:SD4TurfSSRszAA9JSONValueOSgRs_rlE12turfRawValueSDySSADGSgSDySSypSgG_tcfc":{"name":"init(turfRawValue:)","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"JSONObject"},"Extensions/JSONObject.html#/s:SD4TurfSSRszAA9JSONValueOSgRs_rlE12turfRawValueSDySSypSgGvp":{"name":"turfRawValue","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"JSONObject"},"Extensions/JSONArray.html#/s:Sa4TurfAA9JSONValueOSgRszlE0A8RawValuea":{"name":"TurfRawValue","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"JSONArray"},"Extensions/JSONArray.html#/s:Sa4TurfAA9JSONValueOSgRszlE12turfRawValueSayADGSgSayypSgG_tcfc":{"name":"init(turfRawValue:)","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"JSONArray"},"Extensions/JSONArray.html#/s:Sa4TurfAA9JSONValueOSgRszlE12turfRawValueSayypSgGvp":{"name":"turfRawValue","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"JSONArray"},"Extensions/CodingUserInfoKey.html#/s:s17CodingUserInfoKeyV4TurfE22includesForeignMembersABvpZ":{"name":"includesForeignMembers","abstract":"\u003cp\u003eIndicates if coding of foreign members is enabled.\u003c/p\u003e","parent_name":"CodingUserInfoKey"},"Extensions/LocationCoordinate2D.html#/s:So22CLLocationCoordinate2DV4TurfEyAbC06RadianB1DVcfc":{"name":"init(_:)","abstract":"\u003cp\u003eInstantiates a LocationCoordinate2D from a RadianCoordinate2D\u003c/p\u003e","parent_name":"LocationCoordinate2D"},"Extensions/LocationCoordinate2D.html#/s:SQ2eeoiySbx_xtFZ":{"name":"==(_:_:)","parent_name":"LocationCoordinate2D"},"Extensions/LocationCoordinate2D.html#/s:So22CLLocationCoordinate2DV4TurfE9direction2toSdAB_tF":{"name":"direction(to:)","abstract":"\u003cp\u003eReturns the direction from the receiver to the given coordinate.\u003c/p\u003e","parent_name":"LocationCoordinate2D"},"Extensions/LocationCoordinate2D.html#/s:So22CLLocationCoordinate2DV4TurfE10coordinate2at6facingABSd_SdtF":{"name":"coordinate(at:facing:)","abstract":"\u003cp\u003eReturns a coordinate a certain Haversine distance away in the given direction.\u003c/p\u003e","parent_name":"LocationCoordinate2D"},"Extensions/LocationCoordinate2D.html#/s:So22CLLocationCoordinate2DV4TurfE10coordinate2at6facingABSd_10Foundation11MeasurementVySo11NSUnitAngleCGtF":{"name":"coordinate(at:facing:)","abstract":"\u003cp\u003eReturns a coordinate a certain Haversine distance away in the given direction.\u003c/p\u003e","parent_name":"LocationCoordinate2D"},"Extensions/LocationCoordinate2D.html#/s:So22CLLocationCoordinate2DV4TurfE8distance2toSdAB_tF":{"name":"distance(to:)","abstract":"\u003cp\u003eReturns the Haversine distance between two coordinates measured in degrees.\u003c/p\u003e","parent_name":"LocationCoordinate2D"},"Extensions/LocationDegrees.html#/s:Sd4TurfE9toRadiansSdyF":{"name":"toRadians()","abstract":"\u003cp\u003eReturns the direction in radians.\u003c/p\u003e","parent_name":"LocationDegrees"},"Extensions/LocationDegrees.html#/s:Sd4TurfE9toDegreesSdyF":{"name":"toDegrees()","abstract":"\u003cp\u003eReturns the direction in degrees.\u003c/p\u003e","parent_name":"LocationDegrees"},"Extensions/LocationDirection.html#/s:Sd4TurfE4wrap3min3maxS2d_SdtF":{"name":"wrap(min:max:)","abstract":"\u003cp\u003eReturns a normalized number given min and max bounds.\u003c/p\u003e","parent_name":"LocationDirection"},"Extensions/LocationDirection.html#/s:Sd4TurfE10difference4fromS2d_tF":{"name":"difference(from:)","abstract":"\u003cp\u003eReturns the smaller difference between the receiver and another direction.\u003c/p\u003e","parent_name":"LocationDirection"},"Extensions.html#/CharacterSet":{"name":"CharacterSet"},"Extensions/LocationDirection.html":{"name":"LocationDirection"},"Extensions/LocationDegrees.html":{"name":"LocationDegrees"},"Extensions/LocationCoordinate2D.html":{"name":"LocationCoordinate2D"},"Extensions/CodingUserInfoKey.html":{"name":"CodingUserInfoKey","abstract":"\u003cp\u003eKey to pass to populate a \u003ccode\u003euserInfo\u003c/code\u003e dictionary, which is passed to the \u003ccode\u003eJSONDecoder\u003c/code\u003e or \u003ccode\u003eJSONEncoder\u003c/code\u003e to enable processing foreign members.\u003c/p\u003e"},"Extensions/JSONArray.html":{"name":"JSONArray"},"Extensions/JSONObject.html":{"name":"JSONObject"},"Enums/JSONValue.html#/s:4Turf9JSONValueO6stringyACSScACmF":{"name":"string(_:)","abstract":"\u003cp\u003eA string.\u003c/p\u003e","parent_name":"JSONValue"},"Enums/JSONValue.html#/s:4Turf9JSONValueO6numberyACSdcACmF":{"name":"number(_:)","abstract":"\u003cp\u003eA floating-point number.\u003c/p\u003e","parent_name":"JSONValue"},"Enums/JSONValue.html#/s:4Turf9JSONValueO7booleanyACSbcACmF":{"name":"boolean(_:)","abstract":"\u003cp\u003eA Boolean value.\u003c/p\u003e","parent_name":"JSONValue"},"Enums/JSONValue.html#/s:4Turf9JSONValueO5arrayyACSayACSgGcACmF":{"name":"array(_:)","abstract":"\u003cp\u003eA heterogeneous array of JSON values and \u003ccode\u003enull\u003c/code\u003e values.\u003c/p\u003e","parent_name":"JSONValue"},"Enums/JSONValue.html#/s:4Turf9JSONValueO6objectyACSDySSACSgGcACmF":{"name":"object(_:)","abstract":"\u003cp\u003eAn object containing JSON values and \u003ccode\u003enull\u003c/code\u003e values keyed by strings.\u003c/p\u003e","parent_name":"JSONValue"},"Enums/JSONValue.html#/s:4Turf9JSONValueOyACSScfc":{"name":"init(_:)","abstract":"\u003cp\u003eInitializes a JSON value representing the given string.\u003c/p\u003e","parent_name":"JSONValue"},"Enums/JSONValue.html#/s:4Turf9JSONValueOyACxcSzRzlufc":{"name":"init(_:)","abstract":"\u003cp\u003eInitializes a JSON value representing the given integer.\u003c/p\u003e","parent_name":"JSONValue"},"Enums/JSONValue.html#/s:4Turf9JSONValueOyACxcSBRzlufc":{"name":"init(_:)","abstract":"\u003cp\u003eInitializes a JSON value representing the given floating-point number.\u003c/p\u003e","parent_name":"JSONValue"},"Enums/JSONValue.html#/s:4Turf9JSONValueOyACSbcfc":{"name":"init(_:)","abstract":"\u003cp\u003eInitializes a JSON value representing the given Boolean value.\u003c/p\u003e","parent_name":"JSONValue"},"Enums/JSONValue.html#/s:4Turf9JSONValueOyACSayACSgGcfc":{"name":"init(_:)","abstract":"\u003cp\u003eInitializes a JSON value representing the given JSON array.\u003c/p\u003e","parent_name":"JSONValue"},"Enums/JSONValue.html#/s:4Turf9JSONValueOyACSDySSACSgGcfc":{"name":"init(_:)","abstract":"\u003cp\u003eInitializes a JSON value representing the given JSON object.\u003c/p\u003e","parent_name":"JSONValue"},"Enums/JSONValue.html#/s:4Turf9JSONValueO6stringSSSgvp":{"name":"string","abstract":"\u003cp\u003eA string value, if the JSON value represents a string.\u003c/p\u003e","parent_name":"JSONValue"},"Enums/JSONValue.html#/s:4Turf9JSONValueO6numberSdSgvp":{"name":"number","abstract":"\u003cp\u003eA floating-point number value, if the JSON value represents a number.\u003c/p\u003e","parent_name":"JSONValue"},"Enums/JSONValue.html#/s:4Turf9JSONValueO7booleanSbSgvp":{"name":"boolean","abstract":"\u003cp\u003eA Boolean value, if the JSON value represents a Boolean.\u003c/p\u003e","parent_name":"JSONValue"},"Enums/JSONValue.html#/s:4Turf9JSONValueO5arraySayACSgGSgvp":{"name":"array","abstract":"\u003cp\u003eAn array of JSON values, if the JSON value represents an array.\u003c/p\u003e","parent_name":"JSONValue"},"Enums/JSONValue.html#/s:4Turf9JSONValueO6objectSDySSACSgGSgvp":{"name":"object","abstract":"\u003cp\u003eAn object containing JSON values keyed by strings, if the JSON value represents an object.\u003c/p\u003e","parent_name":"JSONValue"},"Enums/JSONValue.html#/s:SY8RawValueQa":{"name":"RawValue","parent_name":"JSONValue"},"Enums/JSONValue.html#/s:SY8rawValuexSg03RawB0Qz_tcfc":{"name":"init(rawValue:)","parent_name":"JSONValue"},"Enums/JSONValue.html#/s:SY8rawValue03RawB0Qzvp":{"name":"rawValue","abstract":"\u003cp\u003eThis branch must happen after the \u003ccode\u003eNSNumber\u003c/code\u003e branch","parent_name":"JSONValue"},"Enums/JSONValue.html#/s:s26ExpressibleByStringLiteralP06stringD0x0cD4TypeQz_tcfc":{"name":"init(stringLiteral:)","parent_name":"JSONValue"},"Enums/JSONValue.html#/s:s27ExpressibleByIntegerLiteralP07integerD0x0cD4TypeQz_tcfc":{"name":"init(integerLiteral:)","parent_name":"JSONValue"},"Enums/JSONValue.html#/s:s25ExpressibleByFloatLiteralP05floatD0x0cD4TypeQz_tcfc":{"name":"init(floatLiteral:)","parent_name":"JSONValue"},"Enums/JSONValue.html#/s:s27ExpressibleByBooleanLiteralP07booleanD0x0cD4TypeQz_tcfc":{"name":"init(booleanLiteral:)","parent_name":"JSONValue"},"Enums/JSONValue.html#/s:s25ExpressibleByArrayLiteralP0cD7ElementQa":{"name":"ArrayLiteralElement","parent_name":"JSONValue"},"Enums/JSONValue.html#/s:s25ExpressibleByArrayLiteralP05arrayD0x0cD7ElementQzd_tcfc":{"name":"init(arrayLiteral:)","parent_name":"JSONValue"},"Enums/JSONValue.html#/s:s30ExpressibleByDictionaryLiteralP3KeyQa":{"name":"Key","parent_name":"JSONValue"},"Enums/JSONValue.html#/s:s30ExpressibleByDictionaryLiteralP5ValueQa":{"name":"Value","parent_name":"JSONValue"},"Enums/JSONValue.html#/s:s30ExpressibleByDictionaryLiteralP010dictionaryD0x3KeyQz_5ValueQztd_tcfc":{"name":"init(dictionaryLiteral:)","parent_name":"JSONValue"},"Enums/JSONValue.html#/s:Se4fromxs7Decoder_p_tKcfc":{"name":"init(from:)","parent_name":"JSONValue"},"Enums/JSONValue.html#/s:SE6encode2toys7Encoder_p_tKF":{"name":"encode(to:)","parent_name":"JSONValue"},"Enums/Geometry.html#/s:4Turf8GeometryO5pointyAcA5PointVcACmF":{"name":"point(_:)","abstract":"\u003cp\u003eA single position.\u003c/p\u003e","parent_name":"Geometry"},"Enums/Geometry.html#/s:4Turf8GeometryO10lineStringyAcA04LineD0VcACmF":{"name":"lineString(_:)","abstract":"\u003cp\u003eA collection of two or more positions, each position connected to the next position linearly.\u003c/p\u003e","parent_name":"Geometry"},"Enums/Geometry.html#/s:4Turf8GeometryO7polygonyAcA7PolygonVcACmF":{"name":"polygon(_:)","abstract":"\u003cp\u003eConceptually, a collection of \u003ccode\u003e\u003ca href=\"36f8f5912051ae747ef441d6511ca4cbStructs/Ring.html\"\u003eRing\u003c/a\u003e\u003c/code\u003es that form a single connected geometry.\u003c/p\u003e","parent_name":"Geometry"},"Enums/Geometry.html#/s:4Turf8GeometryO10multiPointyAcA05MultiD0VcACmF":{"name":"multiPoint(_:)","abstract":"\u003cp\u003eA collection of positions that are disconnected but related.\u003c/p\u003e","parent_name":"Geometry"},"Enums/Geometry.html#/s:4Turf8GeometryO15multiLineStringyAcA05MultidE0VcACmF":{"name":"multiLineString(_:)","abstract":"\u003cp\u003eA collection of \u003ccode\u003e\u003ca href=\"36f8f5912051ae747ef441d6511ca4cbStructs/LineString.html\"\u003eLineString\u003c/a\u003e\u003c/code\u003e geometries that are disconnected but related.\u003c/p\u003e","parent_name":"Geometry"},"Enums/Geometry.html#/s:4Turf8GeometryO12multiPolygonyAcA05MultiD0VcACmF":{"name":"multiPolygon(_:)","abstract":"\u003cp\u003eA collection of \u003ccode\u003e\u003ca href=\"36f8f5912051ae747ef441d6511ca4cbStructs/Polygon.html\"\u003ePolygon\u003c/a\u003e\u003c/code\u003e geometries that are disconnected but related.\u003c/p\u003e","parent_name":"Geometry"},"Enums/Geometry.html#/s:4Turf8GeometryO18geometryCollectionyAcA0bD0VcACmF":{"name":"geometryCollection(_:)","abstract":"\u003cp\u003eA heterogeneous collection of geometries that are related.\u003c/p\u003e","parent_name":"Geometry"},"Enums/Geometry.html#/s:4Turf8GeometryOyAcA0B11Convertible_pcfc":{"name":"init(_:)","abstract":"\u003cp\u003eInitializes a geometry representing the given geometry–convertible instance.\u003c/p\u003e","parent_name":"Geometry"},"Enums/Geometry.html#/s:4Turf24GeoJSONObjectConvertibleP03geoC0AA0bC0Ovp":{"name":"geoJSONObject","parent_name":"Geometry"},"Enums/Geometry.html#/s:Se4fromxs7Decoder_p_tKcfc":{"name":"init(from:)","parent_name":"Geometry"},"Enums/Geometry.html#/s:SE6encode2toys7Encoder_p_tKF":{"name":"encode(to:)","parent_name":"Geometry"},"Enums/Geometry.html#/s:4Turf8GeometryO5pointAA5PointVSgvp":{"name":"point","abstract":"\u003cp\u003eA single position.\u003c/p\u003e","parent_name":"Geometry"},"Enums/Geometry.html#/s:4Turf8GeometryO10lineStringAA04LineD0VSgvp":{"name":"lineString","abstract":"\u003cp\u003eA collection of two or more positions, each position connected to the next position linearly.\u003c/p\u003e","parent_name":"Geometry"},"Enums/Geometry.html#/s:4Turf8GeometryO7polygonAA7PolygonVSgvp":{"name":"polygon","abstract":"\u003cp\u003eConceptually, a collection of \u003ccode\u003e\u003ca href=\"36f8f5912051ae747ef441d6511ca4cbStructs/Ring.html\"\u003eRing\u003c/a\u003e\u003c/code\u003es that form a single connected geometry.\u003c/p\u003e","parent_name":"Geometry"},"Enums/Geometry.html#/s:4Turf8GeometryO10multiPointAA05MultiD0VSgvp":{"name":"multiPoint","abstract":"\u003cp\u003eA collection of positions that are disconnected but related.\u003c/p\u003e","parent_name":"Geometry"},"Enums/Geometry.html#/s:4Turf8GeometryO15multiLineStringAA05MultidE0VSgvp":{"name":"multiLineString","abstract":"\u003cp\u003eA collection of \u003ccode\u003e\u003ca href=\"36f8f5912051ae747ef441d6511ca4cbStructs/LineString.html\"\u003eLineString\u003c/a\u003e\u003c/code\u003e geometries that are disconnected but related.\u003c/p\u003e","parent_name":"Geometry"},"Enums/Geometry.html#/s:4Turf8GeometryO12multiPolygonAA05MultiD0VSgvp":{"name":"multiPolygon","abstract":"\u003cp\u003eA collection of \u003ccode\u003e\u003ca href=\"36f8f5912051ae747ef441d6511ca4cbStructs/Polygon.html\"\u003ePolygon\u003c/a\u003e\u003c/code\u003e geometries that are disconnected but related.\u003c/p\u003e","parent_name":"Geometry"},"Enums/Geometry.html#/s:4Turf8GeometryO18geometryCollectionAA0bD0VSgvp":{"name":"geometryCollection","abstract":"\u003cp\u003eA heterogeneous collection of geometries that are related.\u003c/p\u003e","parent_name":"Geometry"},"Enums/Geometry.html#/s:4Turf19GeometryConvertibleP8geometryAA0B0Ovp":{"name":"geometry","parent_name":"Geometry"},"Enums/Geometry.html#/s:4Turf8GeometryO3wktSSvp":{"name":"wkt","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"Geometry"},"Enums/Geometry.html#/s:4Turf8GeometryO3wktACSS_tKcfc":{"name":"init(wkt:)","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"Geometry"},"Enums/GeoJSONObject.html#/s:4Turf13GeoJSONObjectO8geometryyAcA8GeometryOcACmF":{"name":"geometry(_:)","abstract":"\u003cp\u003eA \u003ca href=\"https://datatracker.ietf.org/doc/html/rfc7946#section-3.1\"\u003eGeometry object\u003c/a\u003e represents points, curves, and surfaces in coordinate space.\u003c/p\u003e","parent_name":"GeoJSONObject"},"Enums/GeoJSONObject.html#/s:4Turf13GeoJSONObjectO7featureyAcA7FeatureVcACmF":{"name":"feature(_:)","abstract":"\u003cp\u003eA \u003ca href=\"https://datatracker.ietf.org/doc/html/rfc7946#section-3.2\"\u003eFeature object\u003c/a\u003e represents a spatially bounded thing.\u003c/p\u003e","parent_name":"GeoJSONObject"},"Enums/GeoJSONObject.html#/s:4Turf13GeoJSONObjectO17featureCollectionyAcA07FeatureE0VcACmF":{"name":"featureCollection(_:)","abstract":"\u003cp\u003eA \u003ca href=\"https://datatracker.ietf.org/doc/html/rfc7946#section-3.3\"\u003eFeatureCollection object\u003c/a\u003e is a collection of Feature objects.\u003c/p\u003e","parent_name":"GeoJSONObject"},"Enums/GeoJSONObject.html#/s:4Turf13GeoJSONObjectOyAcA0bC11Convertible_pcfc":{"name":"init(_:)","abstract":"\u003cp\u003eInitializes a GeoJSON object representing the given GeoJSON object–convertible instance.\u003c/p\u003e","parent_name":"GeoJSONObject"},"Enums/GeoJSONObject.html#/s:4Turf13GeoJSONObjectO8geometryAA8GeometryOSgvp":{"name":"geometry","abstract":"\u003cp\u003eA geometry object.\u003c/p\u003e","parent_name":"GeoJSONObject"},"Enums/GeoJSONObject.html#/s:4Turf13GeoJSONObjectO7featureAA7FeatureVSgvp":{"name":"feature","abstract":"\u003cp\u003eA feature object.\u003c/p\u003e","parent_name":"GeoJSONObject"},"Enums/GeoJSONObject.html#/s:4Turf13GeoJSONObjectO17featureCollectionAA07FeatureE0VSgvp":{"name":"featureCollection","abstract":"\u003cp\u003eA feature collection object.\u003c/p\u003e","parent_name":"GeoJSONObject"},"Enums/GeoJSONObject.html#/s:Se4fromxs7Decoder_p_tKcfc":{"name":"init(from:)","parent_name":"GeoJSONObject"},"Enums/GeoJSONObject.html#/s:SE6encode2toys7Encoder_p_tKF":{"name":"encode(to:)","parent_name":"GeoJSONObject"},"Enums/GeoJSONObject.html#/s:4Turf24GeoJSONObjectConvertibleP03geoC0AA0bC0Ovp":{"name":"geoJSONObject","parent_name":"GeoJSONObject"},"Enums/FeatureIdentifier.html#/s:4Turf17FeatureIdentifierO6stringyACSScACmF":{"name":"string(_:)","abstract":"\u003cp\u003eA string.\u003c/p\u003e","parent_name":"FeatureIdentifier"},"Enums/FeatureIdentifier.html#/s:4Turf17FeatureIdentifierO6numberyACSdcACmF":{"name":"number(_:)","abstract":"\u003cp\u003eA floating-point number.\u003c/p\u003e","parent_name":"FeatureIdentifier"},"Enums/FeatureIdentifier.html#/s:4Turf17FeatureIdentifierOyACSScfc":{"name":"init(_:)","abstract":"\u003cp\u003eInitializes a feature identifier representing the given string.\u003c/p\u003e","parent_name":"FeatureIdentifier"},"Enums/FeatureIdentifier.html#/s:4Turf17FeatureIdentifierOyACxcSzRzlufc":{"name":"init(_:)","abstract":"\u003cp\u003eInitializes a feature identifier representing the given integer.\u003c/p\u003e","parent_name":"FeatureIdentifier"},"Enums/FeatureIdentifier.html#/s:4Turf17FeatureIdentifierOyACxcSBRzlufc":{"name":"init(_:)","abstract":"\u003cp\u003eInitializes a feature identifier representing the given floating-point number.\u003c/p\u003e","parent_name":"FeatureIdentifier"},"Enums/FeatureIdentifier.html#/s:SY8RawValueQa":{"name":"RawValue","parent_name":"FeatureIdentifier"},"Enums/FeatureIdentifier.html#/s:SY8rawValuexSg03RawB0Qz_tcfc":{"name":"init(rawValue:)","parent_name":"FeatureIdentifier"},"Enums/FeatureIdentifier.html#/s:SY8rawValue03RawB0Qzvp":{"name":"rawValue","parent_name":"FeatureIdentifier"},"Enums/FeatureIdentifier.html#/s:4Turf17FeatureIdentifierO6stringSSSgvp":{"name":"string","abstract":"\u003cp\u003eA string.\u003c/p\u003e","parent_name":"FeatureIdentifier"},"Enums/FeatureIdentifier.html#/s:4Turf17FeatureIdentifierO6numberSdSgvp":{"name":"number","abstract":"\u003cp\u003eA floating-point number.\u003c/p\u003e","parent_name":"FeatureIdentifier"},"Enums/FeatureIdentifier.html#/s:s26ExpressibleByStringLiteralP06stringD0x0cD4TypeQz_tcfc":{"name":"init(stringLiteral:)","parent_name":"FeatureIdentifier"},"Enums/FeatureIdentifier.html#/s:s27ExpressibleByIntegerLiteralP07integerD0x0cD4TypeQz_tcfc":{"name":"init(integerLiteral:)","parent_name":"FeatureIdentifier"},"Enums/FeatureIdentifier.html#/s:s25ExpressibleByFloatLiteralP05floatD0x0cD4TypeQz_tcfc":{"name":"init(floatLiteral:)","parent_name":"FeatureIdentifier"},"Enums/FeatureIdentifier.html#/s:Se4fromxs7Decoder_p_tKcfc":{"name":"init(from:)","parent_name":"FeatureIdentifier"},"Enums/FeatureIdentifier.html#/s:SE6encode2toys7Encoder_p_tKF":{"name":"encode(to:)","parent_name":"FeatureIdentifier"},"Enums/Consumer/Error/Kind.html#/s:4Turf8ConsumerO5ErrorV4KindO8expectedyAGyx__GACyxGcAImSHRzs8SendableRzlF":{"name":"expected(_:)","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"Kind"},"Enums/Consumer/Error/Kind.html#/s:4Turf8ConsumerO5ErrorV4KindO15unexpectedTokenyAGyx__GAImSHRzs8SendableRzlF":{"name":"unexpectedToken","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"Kind"},"Enums/Consumer/Error/Kind.html#/s:4Turf8ConsumerO5ErrorV4KindO6customyAGyx__GsAD_pcAImSHRzs8SendableRzlF":{"name":"custom(_:)","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"Kind"},"Enums/Consumer/Error/Kind.html":{"name":"Kind","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"Error"},"Enums/Consumer/Error.html#/s:4Turf8ConsumerO5ErrorV4kindAE4KindOyx__Gvp":{"name":"kind","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"Error"},"Enums/Consumer/Error.html#/s:4Turf8ConsumerO5ErrorV8locationAC8LocationVyx_GSgvp":{"name":"location","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"Error"},"Enums/Consumer/Error.html#/s:4Turf8ConsumerO5ErrorV9remainingSs17UnicodeScalarViewVSgvp":{"name":"remaining","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"Error"},"Enums/Consumer/Error.html#/s:4Turf8ConsumerO5ErrorV11descriptionSSvp":{"name":"description","abstract":"\u003cp\u003eHuman-readable error description\u003c/p\u003e","parent_name":"Error"},"Enums/Consumer/Charset.html#/s:4Turf8ConsumerO7CharsetV6rangesSaySNys6UInt32VGGvp":{"name":"ranges","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"Charset"},"Enums/Consumer/Match.html#/s:4Turf8ConsumerO5MatchO5tokenyAEyx_GSS_AC8LocationVyx_GtcAGmSHRzs8SendableRzlF":{"name":"token(_:_:)","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"Match"},"Enums/Consumer/Match.html#/s:4Turf8ConsumerO5MatchO4nodeyAEyx_GxSg_SayAGGtcAGmSHRzs8SendableRzlF":{"name":"node(_:_:)","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"Match"},"Enums/Consumer/Match.html#/s:4Turf8ConsumerO5MatchO8locationAC8LocationVyx_GSgvp":{"name":"location","abstract":"\u003cp\u003eThe location of the match in the original source (if known)\u003c/p\u003e","parent_name":"Match"},"Enums/Consumer/Match.html#/s:4Turf8ConsumerO5MatchO9transformys8Sendable_pSgAHx_SaysAG_pGtKXEKF":{"name":"transform(_:)","abstract":"\u003cp\u003eTransform generic AST to application-specific form\u003c/p\u003e","parent_name":"Match"},"Enums/Consumer/Match.html#/s:4Turf8ConsumerO5MatchO11descriptionSSvp":{"name":"description","abstract":"\u003cp\u003eLisp-like description of the AST\u003c/p\u003e","parent_name":"Match"},"Enums/Consumer/Location.html#/s:4Turf8ConsumerO8LocationV5rangeSnySS5IndexVGvp":{"name":"range","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"Location"},"Enums/Consumer/Location.html#/s:4Turf8ConsumerO8LocationV6offsetSi4line_Si6columntvp":{"name":"offset","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"Location"},"Enums/Consumer/Location.html#/s:4Turf8ConsumerO8LocationV11descriptionSSvp":{"name":"description","abstract":"\u003cp\u003eHuman-readable description of the location\u003c/p\u003e","parent_name":"Location"},"Enums/Consumer/Location.html#/s:4Turf8ConsumerO8LocationV2eeoiySbAEyx_G_AGtFZ":{"name":"==(_:_:)","abstract":"\u003cp\u003eEquatable implementation\u003c/p\u003e","parent_name":"Location"},"Enums/Consumer/Location.html#/s:4Turf8ConsumerO8LocationV2atyAEyx_GSnySiGFZ":{"name":"at(_:)","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"Location"},"Enums/Consumer.html#/s:4Turf8ConsumerO6stringyACyxGSScAEmSHRzs8SendableRzlF":{"name":"string(_:)","abstract":"\u003cp\u003ePrimitives\u003c/p\u003e","parent_name":"Consumer"},"Enums/Consumer.html#/s:4Turf8ConsumerO7charsetyACyxGAC7CharsetVyx_GcAEmSHRzs8SendableRzlF":{"name":"charset(_:)","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"Consumer"},"Enums/Consumer.html#/s:4Turf8ConsumerO3anyyACyxGSayAEGcAEmSHRzs8SendableRzlF":{"name":"any(_:)","abstract":"\u003cp\u003eCombinators\u003c/p\u003e","parent_name":"Consumer"},"Enums/Consumer.html#/s:4Turf8ConsumerO8sequenceyACyxGSayAEGcAEmSHRzs8SendableRzlF":{"name":"sequence(_:)","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"Consumer"},"Enums/Consumer.html#/s:4Turf8ConsumerO8optionalyACyxGAEcAEmSHRzs8SendableRzlF":{"name":"optional(_:)","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"Consumer"},"Enums/Consumer.html#/s:4Turf8ConsumerO9oneOrMoreyACyxGAEcAEmSHRzs8SendableRzlF":{"name":"oneOrMore(_:)","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"Consumer"},"Enums/Consumer.html#/s:4Turf8ConsumerO3notyACyxGAEcAEmSHRzs8SendableRzlF":{"name":"not(_:)","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"Consumer"},"Enums/Consumer.html#/s:4Turf8ConsumerO7flattenyACyxGAEcAEmSHRzs8SendableRzlF":{"name":"flatten(_:)","abstract":"\u003cp\u003eTransforms\u003c/p\u003e","parent_name":"Consumer"},"Enums/Consumer.html#/s:4Turf8ConsumerO7discardyACyxGAEcAEmSHRzs8SendableRzlF":{"name":"discard(_:)","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"Consumer"},"Enums/Consumer.html#/s:4Turf8ConsumerO7replaceyACyxGAE_SStcAEmSHRzs8SendableRzlF":{"name":"replace(_:_:)","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"Consumer"},"Enums/Consumer.html#/s:4Turf8ConsumerO5labelyACyxGx_AEtcAEmSHRzs8SendableRzlF":{"name":"label(_:_:)","abstract":"\u003cp\u003eReferences\u003c/p\u003e","parent_name":"Consumer"},"Enums/Consumer.html#/s:4Turf8ConsumerO9referenceyACyxGxcAEmSHRzs8SendableRzlF":{"name":"reference(_:)","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e","parent_name":"Consumer"},"Enums/Consumer.html#/s:4Turf8ConsumerO5matchyAC5MatchOyx_GSSKF":{"name":"match(_:)","abstract":"\u003cp\u003eParse input and return matched result\u003c/p\u003e","parent_name":"Consumer"},"Enums/Consumer.html#/s:4Turf8ConsumerO10isOptionalSbvp":{"name":"isOptional","abstract":"\u003cp\u003eWill the consumer match empty input?\u003c/p\u003e","parent_name":"Consumer"},"Enums/Consumer/Location.html":{"name":"Location","abstract":"\u003cp\u003eSource location\u003c/p\u003e","parent_name":"Consumer"},"Enums/Consumer/Match.html":{"name":"Match","abstract":"\u003cp\u003eAbstract syntax tree returned by consumer\u003c/p\u003e","parent_name":"Consumer"},"Enums/Consumer/Charset.html":{"name":"Charset","abstract":"\u003cp\u003eOpaque type used for efficient character matching\u003c/p\u003e","parent_name":"Consumer"},"Enums/Consumer.html#/s:4Turf8ConsumerO9Transforma":{"name":"Transform","abstract":"\u003cp\u003eClosure for transforming a Match to an application-specific data type\u003c/p\u003e","parent_name":"Consumer"},"Enums/Consumer/Error.html":{"name":"Error","abstract":"\u003cp\u003eA Parsing error\u003c/p\u003e","parent_name":"Consumer"},"Enums/Consumer.html#/s:4Turf8ConsumerO13stringLiteralACyxGSS_tcfc":{"name":"init(stringLiteral:)","abstract":"\u003cp\u003eCreate .string() consumer from a string literal\u003c/p\u003e","parent_name":"Consumer"},"Enums/Consumer.html#/s:4Turf8ConsumerO12arrayLiteralACyxGAEd_tcfc":{"name":"init(arrayLiteral:)","abstract":"\u003cp\u003eCreate .sequence() consumer from an array literal\u003c/p\u003e","parent_name":"Consumer"},"Enums/Consumer.html#/s:4Turf8ConsumerO1ooiyACyxGAE_AEtFZ":{"name":"|(_:_:)","abstract":"\u003cp\u003eConverts two consumers into an .any() consumer\u003c/p\u003e","parent_name":"Consumer"},"Enums/Consumer.html#/s:4Turf8ConsumerO9characteryACyxGs7UnicodeO6ScalarVFZ":{"name":"character(_:)","abstract":"\u003cp\u003eMatch a character\u003c/p\u003e","parent_name":"Consumer"},"Enums/Consumer.html#/s:4Turf8ConsumerO9character2inACyxGSNys7UnicodeO6ScalarVG_tFZ":{"name":"character(in:)","abstract":"\u003cp\u003eMatch character in range\u003c/p\u003e","parent_name":"Consumer"},"Enums/Consumer.html#/s:4Turf8ConsumerO9character2inACyxGSS_tFZ":{"name":"character(in:)","abstract":"\u003cp\u003eMatch character in string\u003c/p\u003e","parent_name":"Consumer"},"Enums/Consumer.html#/s:4Turf8ConsumerO9character2inACyxG10Foundation12CharacterSetV_tFZ":{"name":"character(in:)","abstract":"\u003cp\u003eMatch character in set\u003c/p\u003e","parent_name":"Consumer"},"Enums/Consumer.html#/s:4Turf8ConsumerO12anyCharacter6exceptACyxGs7UnicodeO6ScalarVd_tFZ":{"name":"anyCharacter(except:)","abstract":"\u003cp\u003eMatch any character except the one(s) specified\u003c/p\u003e","parent_name":"Consumer"},"Enums/Consumer.html#/s:4Turf8ConsumerO12anyCharacter6exceptACyxG10Foundation0D3SetV_tFZ":{"name":"anyCharacter(except:)","abstract":"\u003cp\u003eMatch any character except the specified set\u003c/p\u003e","parent_name":"Consumer"},"Enums/Consumer.html#/s:4Turf8ConsumerO10zeroOrMoreyACyxGAEFZ":{"name":"zeroOrMore(_:)","abstract":"\u003cp\u003eMatches a list of zero or more \u003ccode\u003econsumer\u003c/code\u003e instances\u003c/p\u003e","parent_name":"Consumer"},"Enums/Consumer.html#/s:4Turf8ConsumerO11interleavedyACyxGAE_AEtFZ":{"name":"interleaved(_:_:)","abstract":"\u003cp\u003eMatches one or more \u003ccode\u003econsumer\u003c/code\u003e instances, separated by an instance of \u003ccode\u003eseparator\u003c/code\u003e","parent_name":"Consumer"},"Enums/Consumer.html#/s:4Turf8ConsumerO6ignore_2inACyxGAF_AFtFZ":{"name":"ignore(_:in:)","abstract":"\u003cp\u003eMatches the \u003ccode\u003etarget\u003c/code\u003e consumer, ignoring any instances of the \u003ccode\u003eignored\u003c/code\u003e consumer","parent_name":"Consumer"},"Enums/Consumer.html#/s:4Turf8ConsumerO11descriptionSSvp":{"name":"description","abstract":"\u003cp\u003eHuman-readable description of what consumer matches\u003c/p\u003e","parent_name":"Consumer"},"Enums/Consumer.html":{"name":"Consumer","abstract":"\u003cp\u003eUndocumented\u003c/p\u003e"},"Enums/FeatureIdentifier.html":{"name":"FeatureIdentifier","abstract":"\u003cp\u003eA \u003ca href=\"https://datatracker.ietf.org/doc/html/rfc7946#section-3.2\"\u003efeature identifier\u003c/a\u003e identifies a \u003ccode\u003e\u003ca href=\"36f8f5912051ae747ef441d6511ca4cbStructs/Feature.html\"\u003eFeature\u003c/a\u003e\u003c/code\u003e object.\u003c/p\u003e"},"Enums/GeoJSONObject.html":{"name":"GeoJSONObject","abstract":"\u003cp\u003eA \u003ca href=\"https://datatracker.ietf.org/doc/html/rfc7946#section-3\"\u003eGeoJSON object\u003c/a\u003e represents a Geometry, Feature, or collection of Features.\u003c/p\u003e"},"Enums/Geometry.html":{"name":"Geometry","abstract":"\u003cp\u003eA \u003ca href=\"https://datatracker.ietf.org/doc/html/rfc7946#section-3.1\"\u003eGeometry object\u003c/a\u003e represents points, curves, and surfaces in coordinate space. Use an instance of this enumeration whenever a value could be any kind of Geometry object.\u003c/p\u003e"},"Enums/JSONValue.html":{"name":"JSONValue","abstract":"\u003cp\u003eA JSON value represents an object, array, or fragment.\u003c/p\u003e"},"Enums.html":{"name":"Enumerations","abstract":"\u003cp\u003eThe following enumerations are available globally.\u003c/p\u003e"},"Extensions.html":{"name":"Extensions","abstract":"\u003cp\u003eThe following extensions are available globally.\u003c/p\u003e"},"Functions.html":{"name":"Functions","abstract":"\u003cp\u003eThe following functions are available globally.\u003c/p\u003e"},"Protocols.html":{"name":"Protocols","abstract":"\u003cp\u003eThe following protocols are available globally.\u003c/p\u003e"},"Structs.html":{"name":"Structures","abstract":"\u003cp\u003eThe following structures are available globally.\u003c/p\u003e"},"Typealiases.html":{"name":"Type Aliases","abstract":"\u003cp\u003eThe following type aliases are available globally.\u003c/p\u003e"}}
\ No newline at end of file
diff --git a/3.1.0/undocumented.json b/3.1.0/undocumented.json
new file mode 100644
index 00000000..d854272f
--- /dev/null
+++ b/3.1.0/undocumented.json
@@ -0,0 +1,362 @@
+{
+ "warnings": [
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/Consumer/Consumer.swift",
+ "line": 36,
+ "symbol": "Consumer",
+ "symbol_kind": "source.lang.swift.decl.enum",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/Consumer/Consumer.swift",
+ "line": 39,
+ "symbol": "Consumer.charset(_:)",
+ "symbol_kind": "source.lang.swift.decl.enumelement",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/Consumer/Consumer.swift",
+ "line": 43,
+ "symbol": "Consumer.sequence(_:)",
+ "symbol_kind": "source.lang.swift.decl.enumelement",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/Consumer/Consumer.swift",
+ "line": 44,
+ "symbol": "Consumer.optional(_:)",
+ "symbol_kind": "source.lang.swift.decl.enumelement",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/Consumer/Consumer.swift",
+ "line": 45,
+ "symbol": "Consumer.oneOrMore(_:)",
+ "symbol_kind": "source.lang.swift.decl.enumelement",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/Consumer/Consumer.swift",
+ "line": 46,
+ "symbol": "Consumer.not(_:)",
+ "symbol_kind": "source.lang.swift.decl.enumelement",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/Consumer/Consumer.swift",
+ "line": 50,
+ "symbol": "Consumer.discard(_:)",
+ "symbol_kind": "source.lang.swift.decl.enumelement",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/Consumer/Consumer.swift",
+ "line": 51,
+ "symbol": "Consumer.replace(_:_:)",
+ "symbol_kind": "source.lang.swift.decl.enumelement",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/Consumer/Consumer.swift",
+ "line": 55,
+ "symbol": "Consumer.reference(_:)",
+ "symbol_kind": "source.lang.swift.decl.enumelement",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/Consumer/Consumer.swift",
+ "line": 60,
+ "symbol": "Consumer",
+ "symbol_kind": "source.lang.swift.decl.extension",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/Consumer/Consumer.swift",
+ "line": 72,
+ "symbol": "Consumer.Location.range",
+ "symbol_kind": "source.lang.swift.decl.var.instance",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/Consumer/Consumer.swift",
+ "line": 73,
+ "symbol": "Consumer.Location.offset",
+ "symbol_kind": "source.lang.swift.decl.var.instance",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/Consumer/Consumer.swift",
+ "line": 78,
+ "symbol": "Consumer.Match.token(_:_:)",
+ "symbol_kind": "source.lang.swift.decl.enumelement",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/Consumer/Consumer.swift",
+ "line": 79,
+ "symbol": "Consumer.Match.node(_:_:)",
+ "symbol_kind": "source.lang.swift.decl.enumelement",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/Consumer/Consumer.swift",
+ "line": 101,
+ "symbol": "Consumer.Error.Kind",
+ "symbol_kind": "source.lang.swift.decl.enum",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/Consumer/Consumer.swift",
+ "line": 102,
+ "symbol": "Consumer.Error.Kind.expected(_:)",
+ "symbol_kind": "source.lang.swift.decl.enumelement",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/Consumer/Consumer.swift",
+ "line": 103,
+ "symbol": "Consumer.Error.Kind.unexpectedToken",
+ "symbol_kind": "source.lang.swift.decl.enumelement",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/Consumer/Consumer.swift",
+ "line": 104,
+ "symbol": "Consumer.Error.Kind.custom(_:)",
+ "symbol_kind": "source.lang.swift.decl.enumelement",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/Consumer/Consumer.swift",
+ "line": 107,
+ "symbol": "Consumer.Error.kind",
+ "symbol_kind": "source.lang.swift.decl.var.instance",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/Consumer/Consumer.swift",
+ "line": 108,
+ "symbol": "Consumer.Error.location",
+ "symbol_kind": "source.lang.swift.decl.var.instance",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/Consumer/Consumer.swift",
+ "line": 109,
+ "symbol": "Consumer.Error.remaining",
+ "symbol_kind": "source.lang.swift.decl.var.instance",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/Consumer/Consumer.swift",
+ "line": 117,
+ "symbol": "Consumer",
+ "symbol_kind": "source.lang.swift.decl.extension",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/Consumer/Consumer.swift",
+ "line": 156,
+ "symbol": "Consumer",
+ "symbol_kind": "source.lang.swift.decl.extension",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/Consumer/Consumer.swift",
+ "line": 191,
+ "symbol": "Consumer",
+ "symbol_kind": "source.lang.swift.decl.extension",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/Consumer/Consumer.swift",
+ "line": 213,
+ "symbol": "Consumer",
+ "symbol_kind": "source.lang.swift.decl.extension",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/Consumer/Consumer.swift",
+ "line": 655,
+ "symbol": "Consumer.Location.at(_:)",
+ "symbol_kind": "source.lang.swift.decl.function.method.static",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/Consumer/Consumer.swift",
+ "line": 687,
+ "symbol": "Consumer.Charset.ranges",
+ "symbol_kind": "source.lang.swift.decl.var.instance",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/JSON.swift",
+ "line": 181,
+ "symbol": "JSONArray.TurfRawValue",
+ "symbol_kind": "source.lang.swift.decl.typealias",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/JSON.swift",
+ "line": 183,
+ "symbol": "JSONArray.init(turfRawValue:)",
+ "symbol_kind": "source.lang.swift.decl.function.method.instance",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/JSON.swift",
+ "line": 187,
+ "symbol": "JSONArray.turfRawValue",
+ "symbol_kind": "source.lang.swift.decl.var.instance",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/JSON.swift",
+ "line": 198,
+ "symbol": "JSONObject.TurfRawValue",
+ "symbol_kind": "source.lang.swift.decl.typealias",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/JSON.swift",
+ "line": 200,
+ "symbol": "JSONObject.init(turfRawValue:)",
+ "symbol_kind": "source.lang.swift.decl.function.method.instance",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/JSON.swift",
+ "line": 204,
+ "symbol": "JSONObject.turfRawValue",
+ "symbol_kind": "source.lang.swift.decl.var.instance",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/WKT.swift",
+ "line": 7,
+ "symbol": "WKTConvertible.wkt",
+ "symbol_kind": "source.lang.swift.decl.var.instance",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/WKT.swift",
+ "line": 8,
+ "symbol": "WKTConvertible.init(wkt:)",
+ "symbol_kind": "source.lang.swift.decl.function.method.instance",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/WKT.swift",
+ "line": 12,
+ "symbol": "Point.wkt",
+ "symbol_kind": "source.lang.swift.decl.var.instance",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/WKT.swift",
+ "line": 16,
+ "symbol": "Point.init(wkt:)",
+ "symbol_kind": "source.lang.swift.decl.function.method.instance",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/WKT.swift",
+ "line": 22,
+ "symbol": "MultiPoint.wkt",
+ "symbol_kind": "source.lang.swift.decl.var.instance",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/WKT.swift",
+ "line": 26,
+ "symbol": "MultiPoint.init(wkt:)",
+ "symbol_kind": "source.lang.swift.decl.function.method.instance",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/WKT.swift",
+ "line": 32,
+ "symbol": "LineString.wkt",
+ "symbol_kind": "source.lang.swift.decl.var.instance",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/WKT.swift",
+ "line": 36,
+ "symbol": "LineString.init(wkt:)",
+ "symbol_kind": "source.lang.swift.decl.function.method.instance",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/WKT.swift",
+ "line": 42,
+ "symbol": "MultiLineString.wkt",
+ "symbol_kind": "source.lang.swift.decl.var.instance",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/WKT.swift",
+ "line": 46,
+ "symbol": "MultiLineString.init(wkt:)",
+ "symbol_kind": "source.lang.swift.decl.function.method.instance",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/WKT.swift",
+ "line": 52,
+ "symbol": "Polygon.wkt",
+ "symbol_kind": "source.lang.swift.decl.var.instance",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/WKT.swift",
+ "line": 56,
+ "symbol": "Polygon.init(wkt:)",
+ "symbol_kind": "source.lang.swift.decl.function.method.instance",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/WKT.swift",
+ "line": 62,
+ "symbol": "MultiPolygon.wkt",
+ "symbol_kind": "source.lang.swift.decl.var.instance",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/WKT.swift",
+ "line": 66,
+ "symbol": "MultiPolygon.init(wkt:)",
+ "symbol_kind": "source.lang.swift.decl.function.method.instance",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/WKT.swift",
+ "line": 72,
+ "symbol": "Geometry.wkt",
+ "symbol_kind": "source.lang.swift.decl.var.instance",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/WKT.swift",
+ "line": 91,
+ "symbol": "Geometry.init(wkt:)",
+ "symbol_kind": "source.lang.swift.decl.function.method.instance",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/WKT.swift",
+ "line": 98,
+ "symbol": "GeometryCollection.wkt",
+ "symbol_kind": "source.lang.swift.decl.var.instance",
+ "warning": "undocumented"
+ },
+ {
+ "file": "/Users/aleks/Developer/turf-swift/Sources/Turf/WKT.swift",
+ "line": 120,
+ "symbol": "GeometryCollection.init(wkt:)",
+ "symbol_kind": "source.lang.swift.decl.function.method.instance",
+ "warning": "undocumented"
+ }
+ ],
+ "source_directory": "/Users/aleks/Developer/turf-swift"
+}
\ No newline at end of file
diff --git a/index.html b/index.html
index 4261b26e..1c51f3f5 100644
--- a/index.html
+++ b/index.html
@@ -1 +1 @@
-
+