@google/earthengine 1.7.19 → 1.7.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/browser.js +80 -44
- package/build/ee_api_js.js +598 -595
- package/build/ee_api_js_debug.js +57 -21
- package/build/ee_api_js_npm.js +80 -44
- package/build/main.js +80 -44
- package/package.json +1 -1
- package/src/abstractoverlay.js +7 -7
- package/src/apiclient.js +11 -3
- package/src/apifunction.js +60 -5
- package/src/collection.js +23 -20
- package/src/computedobject.js +16 -12
- package/src/customfunction.js +17 -10
- package/src/date.js +8 -7
- package/src/deserializer.js +12 -2
- package/src/dictionary.js +9 -5
- package/src/ee.js +18 -16
- package/src/element.js +16 -13
- package/src/feature.js +10 -7
- package/src/featurecollection.js +18 -11
- package/src/filter.js +49 -46
- package/src/floattileoverlay.js +15 -15
- package/src/image.js +29 -25
- package/src/images.js +2 -2
- package/src/layers/abstractoverlay.js +31 -33
- package/src/list.js +4 -1
- package/src/maplayeroverlay.js +23 -23
- package/src/maptilemanager.js +39 -31
- package/src/number.js +4 -1
- package/src/profiler.js +4 -2
- package/src/string.js +10 -3
- package/src/types.js +5 -5
package/build/main.js
CHANGED
|
@@ -1385,9 +1385,9 @@ $jscomp.polyfill("String.prototype.padStart", function(orig) {
|
|
|
1385
1385
|
return $jscomp.stringPadding(opt_padString, targetLength - string.length) + string;
|
|
1386
1386
|
};
|
|
1387
1387
|
}, "es8", "es3");
|
|
1388
|
-
var CLOSURE_TOGGLE_ORDINALS = {GoogFlags__async_throw_on_unicode_to_byte__enable:!1, GoogFlags__batch_fc_data_fetches_in_microtask__enable:!1, GoogFlags__client_only_wiz_context_per_component__enable:!1, GoogFlags__client_only_wiz_lazy_tsx__disable:!1, GoogFlags__client_only_wiz_queue_effect_and_on_init_initial_runs__disable:!1, GoogFlags__fixed_noopener_behavior__enable:!1, GoogFlags__jspb_coerce_int64_by_jstype__enable:!1,
|
|
1389
|
-
|
|
1390
|
-
|
|
1388
|
+
var CLOSURE_TOGGLE_ORDINALS = {GoogFlags__async_throw_on_unicode_to_byte__enable:!1, GoogFlags__batch_fc_data_fetches_in_microtask__enable:!1, GoogFlags__client_only_wiz_context_per_component__enable:!1, GoogFlags__client_only_wiz_lazy_tsx__disable:!1, GoogFlags__client_only_wiz_queue_effect_and_on_init_initial_runs__disable:!1, GoogFlags__fixed_noopener_behavior__enable:!1, GoogFlags__jspb_coerce_int64_by_jstype__enable:!1, GoogFlags__jspb_disallow_message_tojson__enable:!1, GoogFlags__jspb_serialize_with_dynamic_pivot_selector__enable:!1,
|
|
1389
|
+
GoogFlags__jspb_throw_in_array_constructor_if_array_is_already_constructed__disable:!1, GoogFlags__jspb_use_constant_default_pivot__enable:!1, GoogFlags__minimize_rpc_id_url_params__enable:!1, GoogFlags__optimize_get_ei_from_ved__enable:!1, GoogFlags__override_disable_toggles:!1, GoogFlags__testonly_debug_flag__enable:!1, GoogFlags__testonly_disabled_flag__enable:!1, GoogFlags__testonly_stable_flag__disable:!1, GoogFlags__testonly_staging_flag__disable:!1, GoogFlags__use_toggles:!1, GoogFlags__use_unobfuscated_rpc_method_names__disable:!1,
|
|
1390
|
+
GoogFlags__use_user_agent_client_hints__enable:!1, GoogFlags__wiz_enable_native_promise__enable:!1};
|
|
1391
1391
|
/*
|
|
1392
1392
|
|
|
1393
1393
|
Copyright The Closure Library Authors.
|
|
@@ -6620,11 +6620,9 @@ module$exports$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__jspb_disallow_mes
|
|
|
6620
6620
|
module$exports$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__jspb_use_constant_default_pivot__enable = !1;
|
|
6621
6621
|
module$exports$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__jspb_serialize_with_dynamic_pivot_selector__enable = !1;
|
|
6622
6622
|
module$exports$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__jspb_throw_in_array_constructor_if_array_is_already_constructed__disable = !1;
|
|
6623
|
-
module$exports$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__jspb_deserialize_binary_int64s_as_gbigint__disable = !1;
|
|
6624
|
-
module$exports$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__jspb_write_back_bigint__disable = !1;
|
|
6625
6623
|
module$exports$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__optimize_get_ei_from_ved__enable = !1;
|
|
6626
6624
|
module$exports$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__batch_fc_data_fetches_in_microtask__enable = !1;
|
|
6627
|
-
module$exports$closure$flags$flags$2etoggles.
|
|
6625
|
+
module$exports$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__use_unobfuscated_rpc_method_names__disable = !1;
|
|
6628
6626
|
module$exports$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__minimize_rpc_id_url_params__enable = !1;
|
|
6629
6627
|
module$exports$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__jspb_coerce_int64_by_jstype__enable = !1;
|
|
6630
6628
|
module$exports$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__testonly_disabled_flag__enable = !1;
|
|
@@ -6646,11 +6644,9 @@ goog.flags.JSPB_USE_CONSTANT_DEFAULT_PIVOT = module$exports$closure$flags$flags$
|
|
|
6646
6644
|
goog.flags.JSPB_SERIALIZE_WITH_DYNAMIC_PIVOT_SELECTOR = module$exports$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__use_toggles ? goog.DEBUG || module$exports$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__jspb_serialize_with_dynamic_pivot_selector__enable : goog.readFlagInternalDoNotUseOrElse(748402146, goog.DEBUG);
|
|
6647
6645
|
goog.flags.JSPB_THROW_IN_ARRAY_CONSTRUCTOR_IF_ARRAY_IS_ALREADY_CONSTRUCTED = module$exports$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__use_toggles ? module$exports$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__override_disable_toggles || !module$exports$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__jspb_throw_in_array_constructor_if_array_is_already_constructed__disable : goog.readFlagInternalDoNotUseOrElse(748402147,
|
|
6648
6646
|
!0);
|
|
6649
|
-
goog.flags.JSPB_DESERIALIZE_BINARY_INT64S_AS_GBIGINT = module$exports$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__use_toggles ? module$exports$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__override_disable_toggles || !module$exports$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__jspb_deserialize_binary_int64s_as_gbigint__disable : goog.readFlagInternalDoNotUseOrElse(824648567, !0);
|
|
6650
|
-
goog.flags.JSPB_WRITE_BACK_BIGINT = module$exports$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__use_toggles ? module$exports$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__override_disable_toggles || !module$exports$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__jspb_write_back_bigint__disable : goog.readFlagInternalDoNotUseOrElse(824656860, !0);
|
|
6651
6647
|
goog.flags.OPTIMIZE_GET_EI_FROM_VED = module$exports$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__use_toggles ? module$exports$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__optimize_get_ei_from_ved__enable : goog.readFlagInternalDoNotUseOrElse(333098724, !1);
|
|
6652
6648
|
goog.flags.BATCH_FC_DATA_FETCHES_IN_MICROTASK = module$exports$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__use_toggles ? goog.DEBUG || module$exports$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__batch_fc_data_fetches_in_microtask__enable : goog.readFlagInternalDoNotUseOrElse(861377723, goog.DEBUG);
|
|
6653
|
-
goog.flags.USE_UNOBFUSCATED_RPC_METHOD_NAMES = module$exports$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__use_toggles ? goog.
|
|
6649
|
+
goog.flags.USE_UNOBFUSCATED_RPC_METHOD_NAMES = module$exports$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__use_toggles ? goog.FLAGS_STAGING_DEFAULT && (module$exports$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__override_disable_toggles || !module$exports$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__use_unobfuscated_rpc_method_names__disable) : goog.readFlagInternalDoNotUseOrElse(861377724, module$contents$goog$flags_STAGING);
|
|
6654
6650
|
goog.flags.MINIMIZE_RPC_ID_URL_PARAMS = module$exports$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__use_toggles ? goog.DEBUG || module$exports$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__minimize_rpc_id_url_params__enable : goog.readFlagInternalDoNotUseOrElse(869336903, goog.DEBUG);
|
|
6655
6651
|
goog.flags.JSPB_COERCE_INT64_BY_JSTYPE = module$exports$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__use_toggles ? goog.DEBUG || module$exports$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__jspb_coerce_int64_by_jstype__enable : goog.readFlagInternalDoNotUseOrElse(882674507, goog.DEBUG);
|
|
6656
6652
|
goog.flags.TESTONLY_DISABLED_FLAG = module$exports$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__use_toggles ? module$exports$closure$flags$flags$2etoggles.TOGGLE_GoogFlags__testonly_disabled_flag__enable : goog.readFlagInternalDoNotUseOrElse(2147483644, !1);
|
|
@@ -9408,9 +9404,9 @@ module$exports$eeapiclient$ee_api_client.ProjectRegistrationBillingConsentEnum =
|
|
|
9408
9404
|
}};
|
|
9409
9405
|
module$exports$eeapiclient$ee_api_client.IProjectRegistrationFreeQuotaEnum = function() {
|
|
9410
9406
|
};
|
|
9411
|
-
module$exports$eeapiclient$ee_api_client.ProjectRegistrationFreeQuotaEnum = {FREE_QUOTA_DISCOVERY:"FREE_QUOTA_DISCOVERY", FREE_QUOTA_FULL:"FREE_QUOTA_FULL", FREE_QUOTA_HIGH_IMPACT:"FREE_QUOTA_HIGH_IMPACT", FREE_QUOTA_NONE:"FREE_QUOTA_NONE", FREE_QUOTA_STANDARD:"FREE_QUOTA_STANDARD", FREE_QUOTA_UNSPECIFIED:"FREE_QUOTA_UNSPECIFIED", values:function() {
|
|
9407
|
+
module$exports$eeapiclient$ee_api_client.ProjectRegistrationFreeQuotaEnum = {FREE_QUOTA_DISCOVERY:"FREE_QUOTA_DISCOVERY", FREE_QUOTA_FULL:"FREE_QUOTA_FULL", FREE_QUOTA_HIGH_IMPACT:"FREE_QUOTA_HIGH_IMPACT", FREE_QUOTA_NONE:"FREE_QUOTA_NONE", FREE_QUOTA_PARTNER_PLUS:"FREE_QUOTA_PARTNER_PLUS", FREE_QUOTA_STANDARD:"FREE_QUOTA_STANDARD", FREE_QUOTA_UNSPECIFIED:"FREE_QUOTA_UNSPECIFIED", values:function() {
|
|
9412
9408
|
return [module$exports$eeapiclient$ee_api_client.ProjectRegistrationFreeQuotaEnum.FREE_QUOTA_UNSPECIFIED, module$exports$eeapiclient$ee_api_client.ProjectRegistrationFreeQuotaEnum.FREE_QUOTA_NONE, module$exports$eeapiclient$ee_api_client.ProjectRegistrationFreeQuotaEnum.FREE_QUOTA_FULL, module$exports$eeapiclient$ee_api_client.ProjectRegistrationFreeQuotaEnum.FREE_QUOTA_DISCOVERY,
|
|
9413
|
-
module$exports$eeapiclient$ee_api_client.ProjectRegistrationFreeQuotaEnum.FREE_QUOTA_STANDARD, module$exports$eeapiclient$ee_api_client.ProjectRegistrationFreeQuotaEnum.FREE_QUOTA_HIGH_IMPACT];
|
|
9409
|
+
module$exports$eeapiclient$ee_api_client.ProjectRegistrationFreeQuotaEnum.FREE_QUOTA_STANDARD, module$exports$eeapiclient$ee_api_client.ProjectRegistrationFreeQuotaEnum.FREE_QUOTA_HIGH_IMPACT, module$exports$eeapiclient$ee_api_client.ProjectRegistrationFreeQuotaEnum.FREE_QUOTA_PARTNER_PLUS];
|
|
9414
9410
|
}};
|
|
9415
9411
|
module$exports$eeapiclient$ee_api_client.IProjectRegistrationUpdateReasonEnum = function() {
|
|
9416
9412
|
};
|
|
@@ -19637,7 +19633,7 @@ var $jscomp$templatelit$m1153655765$102 = $jscomp.createTemplateTagFirstArg(["ht
|
|
|
19637
19633
|
ee.apiclient = {};
|
|
19638
19634
|
var module$contents$ee$apiclient_apiclient = {};
|
|
19639
19635
|
ee.apiclient.VERSION = module$exports$ee$apiVersion.V1;
|
|
19640
|
-
ee.apiclient.API_CLIENT_VERSION = "1.7.
|
|
19636
|
+
ee.apiclient.API_CLIENT_VERSION = "1.7.21";
|
|
19641
19637
|
ee.apiclient.NULL_VALUE = module$exports$eeapiclient$domain_object.NULL_VALUE;
|
|
19642
19638
|
ee.apiclient.PromiseRequestService = module$exports$eeapiclient$promise_request_service.PromiseRequestService;
|
|
19643
19639
|
ee.apiclient.MakeRequestParams = module$contents$eeapiclient$request_params_MakeRequestParams;
|
|
@@ -19942,8 +19938,8 @@ module$contents$ee$apiclient_apiclient.send = function(path, params, callback, m
|
|
|
19942
19938
|
var profileHookAtCallTime = module$contents$ee$apiclient_apiclient.profileHook_, contentType = "application/x-www-form-urlencoded";
|
|
19943
19939
|
body && (contentType = "application/json", method && method.startsWith("multipart") && (contentType = method, method = "POST"));
|
|
19944
19940
|
method = method || "POST";
|
|
19945
|
-
var headers = {"Content-Type":contentType}, version = "1.7.
|
|
19946
|
-
version === "1.7.
|
|
19941
|
+
var headers = {"Content-Type":contentType}, version = "1.7.21";
|
|
19942
|
+
version === "1.7.21" && (version = "latest");
|
|
19947
19943
|
headers[module$contents$ee$apiclient_apiclient.API_CLIENT_VERSION_HEADER] = "ee-js/" + version;
|
|
19948
19944
|
module$contents$ee$apiclient_apiclient.userAgent_ && (headers["User-Agent"] = module$contents$ee$apiclient_apiclient.userAgent_);
|
|
19949
19945
|
var authToken = module$contents$ee$apiclient_apiclient.getAuthToken();
|
|
@@ -22691,23 +22687,58 @@ ee.Function.prototype.toString = function(opt_name, opt_isInstance) {
|
|
|
22691
22687
|
ee.Function.prototype.serialize = function(legacy) {
|
|
22692
22688
|
return (legacy === void 0 ? 0 : legacy) ? ee.Serializer.toJSON(this) : ee.Serializer.toCloudApiJSON(this);
|
|
22693
22689
|
};
|
|
22690
|
+
function deleteProto(obj, opt_seen) {
|
|
22691
|
+
if (!obj || typeof obj !== "object") {
|
|
22692
|
+
return obj;
|
|
22693
|
+
}
|
|
22694
|
+
var seen = opt_seen || new Set();
|
|
22695
|
+
if (seen.has(obj)) {
|
|
22696
|
+
return obj;
|
|
22697
|
+
}
|
|
22698
|
+
seen.add(obj);
|
|
22699
|
+
Object.prototype.hasOwnProperty.call(obj, "constructor") && delete obj.constructor;
|
|
22700
|
+
for (var key in obj) {
|
|
22701
|
+
key !== "__proto__" && Object.prototype.hasOwnProperty.call(obj, key) && deleteProto(obj[key], seen);
|
|
22702
|
+
}
|
|
22703
|
+
return obj;
|
|
22704
|
+
}
|
|
22694
22705
|
ee.ApiFunction = function(name, opt_signature) {
|
|
22706
|
+
if (typeof name !== "string") {
|
|
22707
|
+
throw Error("ApiFunction name must be a string.");
|
|
22708
|
+
}
|
|
22695
22709
|
if (opt_signature === void 0) {
|
|
22696
22710
|
return ee.ApiFunction.lookup(name);
|
|
22697
22711
|
}
|
|
22698
22712
|
if (!(this instanceof ee.ApiFunction)) {
|
|
22699
22713
|
return ee.ComputedObject.construct(ee.ApiFunction, arguments);
|
|
22700
22714
|
}
|
|
22715
|
+
if (opt_signature === null || typeof opt_signature !== "object") {
|
|
22716
|
+
throw Error("opt_signature must be an object.");
|
|
22717
|
+
}
|
|
22718
|
+
deleteProto(opt_signature);
|
|
22701
22719
|
this.signature_ = module$contents$goog$object_unsafeClone(opt_signature);
|
|
22702
22720
|
this.signature_.name = name;
|
|
22703
22721
|
};
|
|
22704
22722
|
goog.inherits(ee.ApiFunction, ee.Function);
|
|
22705
22723
|
goog.exportSymbol("ee.ApiFunction", ee.ApiFunction);
|
|
22706
22724
|
ee.ApiFunction._call = function(name, var_args) {
|
|
22707
|
-
|
|
22725
|
+
if (typeof name !== "string") {
|
|
22726
|
+
throw Error("ApiFunction name must be a string.");
|
|
22727
|
+
}
|
|
22728
|
+
for (var args = Array.prototype.slice.call(arguments, 1), i = 0; i < args.length; i++) {
|
|
22729
|
+
deleteProto(args[i]);
|
|
22730
|
+
}
|
|
22731
|
+
return ee.Function.prototype.call.apply(ee.ApiFunction.lookup(name), args);
|
|
22708
22732
|
};
|
|
22709
22733
|
goog.exportSymbol("ee.ApiFunction._call", ee.ApiFunction._call);
|
|
22710
22734
|
ee.ApiFunction._apply = function(name, namedArgs) {
|
|
22735
|
+
if (typeof name !== "string") {
|
|
22736
|
+
throw Error("ApiFunction name must be a string.");
|
|
22737
|
+
}
|
|
22738
|
+
if (namedArgs === null || typeof namedArgs !== "object") {
|
|
22739
|
+
throw Error("namedArgs must be an object.");
|
|
22740
|
+
}
|
|
22741
|
+
deleteProto(namedArgs);
|
|
22711
22742
|
return ee.ApiFunction.lookup(name).apply(namedArgs);
|
|
22712
22743
|
};
|
|
22713
22744
|
goog.exportSymbol("ee.ApiFunction._apply", ee.ApiFunction._apply);
|
|
@@ -22784,7 +22815,10 @@ ee.ApiFunction.importApi = function(target, prefix, typeName, opt_prepend) {
|
|
|
22784
22815
|
var destination = $jscomp$loop$2006059326$0.isInstance$jscomp$2 ? target.prototype : target;
|
|
22785
22816
|
fname in destination && !destination[fname].signature || (destination[fname] = function($jscomp$loop$2006059326$0) {
|
|
22786
22817
|
return function(var_args) {
|
|
22787
|
-
|
|
22818
|
+
for (var args = Array.prototype.slice.call(arguments, 0), i = 0; i < args.length; i++) {
|
|
22819
|
+
deleteProto(args[i]);
|
|
22820
|
+
}
|
|
22821
|
+
return $jscomp$loop$2006059326$0.apiFunc.callOrApply($jscomp$loop$2006059326$0.isInstance$jscomp$2 ? this : void 0, args);
|
|
22788
22822
|
};
|
|
22789
22823
|
}($jscomp$loop$2006059326$0), destination[fname].toString = goog.bind($jscomp$loop$2006059326$0.apiFunc.toString, $jscomp$loop$2006059326$0.apiFunc, fname, $jscomp$loop$2006059326$0.isInstance$jscomp$2), destination[fname].signature = signature);
|
|
22790
22824
|
}
|
|
@@ -22893,8 +22927,7 @@ ee.Element.prototype.set = function(var_args) {
|
|
|
22893
22927
|
if (ee.Types.isRegularObject(properties)) {
|
|
22894
22928
|
var result = this;
|
|
22895
22929
|
for (var key in properties) {
|
|
22896
|
-
|
|
22897
|
-
result = ee.ApiFunction._call("Element.set", result, key, value);
|
|
22930
|
+
result = ee.ApiFunction._call("Element.set", result, key, properties[key]);
|
|
22898
22931
|
}
|
|
22899
22932
|
} else if (properties instanceof ee.ComputedObject && ee.ApiFunction.lookupInternal("Element.setMulti")) {
|
|
22900
22933
|
result = ee.ApiFunction._call("Element.setMulti", this, properties);
|
|
@@ -22907,7 +22940,7 @@ ee.Element.prototype.set = function(var_args) {
|
|
|
22907
22940
|
}
|
|
22908
22941
|
result = this;
|
|
22909
22942
|
for (var i = 0; i < arguments.length; i += 2) {
|
|
22910
|
-
|
|
22943
|
+
result = ee.ApiFunction._call("Element.set", result, arguments[i], arguments[i + 1]);
|
|
22911
22944
|
}
|
|
22912
22945
|
}
|
|
22913
22946
|
return this.castInternal(result);
|
|
@@ -24796,7 +24829,7 @@ ee.Deserializer.roundTrip_ = function(node, value) {
|
|
|
24796
24829
|
Reencoder.prototype.encode = function(encoder) {
|
|
24797
24830
|
return value;
|
|
24798
24831
|
};
|
|
24799
|
-
Reencoder.prototype.encodeCloudValue = function(
|
|
24832
|
+
Reencoder.prototype.encodeCloudValue = function(serializer) {
|
|
24800
24833
|
return node;
|
|
24801
24834
|
};
|
|
24802
24835
|
return new Reencoder();
|
|
@@ -24937,6 +24970,8 @@ ee.reset = function() {
|
|
|
24937
24970
|
ee.Terrain.reset();
|
|
24938
24971
|
ee.resetGeneratedClasses_();
|
|
24939
24972
|
module$contents$goog$object_clear(ee.Algorithms);
|
|
24973
|
+
ee.successCallbacks_ = [];
|
|
24974
|
+
ee.errorCallbacks_ = [];
|
|
24940
24975
|
};
|
|
24941
24976
|
goog.exportSymbol("ee.reset", ee.reset);
|
|
24942
24977
|
ee.InitState = {NOT_READY:"not_ready", LOADING:"loading", READY:"ready"};
|
|
@@ -25158,7 +25193,8 @@ ee.FloatTileOverlay.prototype.getTile = function(coord, zoom, ownerDocument) {
|
|
|
25158
25193
|
var tileId = this.getTileId(coord, zoom), src = [this.url, tileId].join("/") + "?token=" + this.token, uniqueTileId = [tileId, this.tileCounter, this.token].join("/");
|
|
25159
25194
|
this.tilesLoading.push(uniqueTileId);
|
|
25160
25195
|
this.tileCounter += 1;
|
|
25161
|
-
var div = goog.dom.createDom(goog.dom.TagName.DIV)
|
|
25196
|
+
var div = goog.dom.createDom(goog.dom.TagName.DIV);
|
|
25197
|
+
this.loadFloatTile_(src, coord, uniqueTileId, div);
|
|
25162
25198
|
this.dispatchTileEvent_();
|
|
25163
25199
|
return div;
|
|
25164
25200
|
};
|
|
@@ -27526,29 +27562,29 @@ ee.data.Profiler.Format.prototype.toString = function() {
|
|
|
27526
27562
|
ee.data.Profiler.Format.TEXT = new ee.data.Profiler.Format("text");
|
|
27527
27563
|
ee.data.Profiler.Format.JSON = new ee.data.Profiler.Format("json");
|
|
27528
27564
|
(function() {
|
|
27529
|
-
var exportedFnInfo = {}, orderedFnNames = "ee.ApiFunction.
|
|
27530
|
-
orderedParamLists = [["name", "
|
|
27531
|
-
"image opt_description
|
|
27532
|
-
"collection opt_description
|
|
27533
|
-
"collection opt_description
|
|
27534
|
-
["
|
|
27535
|
-
["
|
|
27536
|
-
["
|
|
27537
|
-
[], ["
|
|
27538
|
-
"
|
|
27539
|
-
["opt_visParams", "opt_callback"], ["opt_visParams", "opt_callback"], ["args", "opt_column"], ["
|
|
27540
|
-
|
|
27541
|
-
["
|
|
27542
|
-
["
|
|
27543
|
-
[ee.ApiFunction.
|
|
27544
|
-
module$contents$ee$batch_Export.
|
|
27545
|
-
ee.ComputedObject.prototype.
|
|
27546
|
-
ee.data.
|
|
27547
|
-
ee.data.
|
|
27548
|
-
ee.
|
|
27549
|
-
ee.Filter.
|
|
27550
|
-
ee.Image.prototype.
|
|
27551
|
-
ee.ImageCollection.prototype.
|
|
27565
|
+
var exportedFnInfo = {}, orderedFnNames = "ee.ApiFunction.lookup ee.ApiFunction._apply ee.ApiFunction._call ee.batch.Export.videoMap.toCloudStorage ee.batch.Export.classifier.toAsset ee.batch.Export.image.toAsset ee.batch.Export.image.toCloudStorage ee.batch.Export.image.toDrive ee.batch.Export.map.toCloudStorage ee.batch.Export.table.toCloudStorage ee.batch.Export.table.toDrive ee.batch.Export.table.toAsset ee.batch.Export.table.toFeatureView ee.batch.Export.table.toBigQuery ee.batch.Export.video.toCloudStorage ee.batch.Export.video.toDrive ee.Collection.prototype.limit ee.Collection.prototype.iterate ee.Collection.prototype.filterMetadata ee.Collection.prototype.map ee.Collection.prototype.filterDate ee.Collection.prototype.filter ee.Collection.prototype.sort ee.Collection.prototype.filterBounds ee.ComputedObject.prototype.serialize ee.ComputedObject.prototype.getInfo ee.ComputedObject.prototype.aside ee.ComputedObject.prototype.evaluate ee.data.authenticate ee.data.authenticateViaPopup ee.data.startTableIngestion ee.data.authenticateViaPrivateKey ee.data.getAsset ee.data.getInfo ee.data.getList ee.data.listAssets ee.data.listImages ee.data.getMapId ee.data.getTileUrl ee.data.listBuckets ee.data.getFeatureViewTilesKey ee.data.getAssetRoots ee.data.listFeatures ee.data.computeValue ee.data.createAssetHome ee.data.getThumbId ee.data.createAsset ee.data.getVideoThumbId ee.data.getFilmstripThumbId ee.data.createFolder ee.data.makeThumbUrl ee.data.getDownloadId ee.data.renameAsset ee.data.makeDownloadUrl ee.data.copyAsset ee.data.getTableDownloadId ee.data.deleteAsset ee.data.makeTableDownloadUrl ee.data.getAssetAcl ee.data.newTaskId ee.data.getTaskStatus ee.data.updateAsset ee.data.getTaskList ee.data.setAssetAcl ee.data.getTaskListWithLimit ee.data.setAssetProperties ee.data.getAssetRootQuota ee.data.listOperations ee.data.cancelOperation ee.data.getWorkloadTag ee.data.setWorkloadTag ee.data.authenticateViaOauth ee.data.setDefaultWorkloadTag ee.data.getOperation ee.data.resetWorkloadTag ee.data.cancelTask ee.data.updateTask ee.data.startProcessing ee.data.startIngestion ee.Date ee.Deserializer.fromJSON ee.Deserializer.fromCloudApiJSON ee.Deserializer.decode ee.Deserializer.decodeCloudApi ee.Dictionary ee.Algorithms ee.call ee.apply ee.initialize ee.reset ee.InitState ee.TILE_SIZE ee.Element.prototype.set ee.Encodable.SourceFrame ee.Feature.prototype.getMap ee.Feature.prototype.getInfo ee.Feature.prototype.getMapId ee.Feature ee.FeatureCollection.prototype.getDownloadURL ee.FeatureCollection.prototype.getInfo ee.FeatureCollection.prototype.select ee.FeatureCollection.prototype.getMapId ee.FeatureCollection.prototype.getMap ee.FeatureCollection ee.Filter.neq ee.Filter.lt ee.Filter.bounds ee.Filter.gte ee.Filter.gt ee.Filter.metadata ee.Filter ee.Filter.lte ee.Filter.and ee.Filter.or ee.Filter.date ee.Filter.inList ee.Filter.prototype.not ee.Filter.eq ee.Function.prototype.call ee.Function.prototype.apply ee.Geometry.prototype.toGeoJSONString ee.Geometry.MultiPoint ee.Geometry.prototype.serialize ee.Geometry.Rectangle ee.Geometry.BBox ee.Geometry.LineString ee.Geometry.LinearRing ee.Geometry.MultiLineString ee.Geometry ee.Geometry.Polygon ee.Geometry.MultiPolygon ee.Geometry.prototype.toGeoJSON ee.Geometry.Point ee.Image.prototype.getDownloadURL ee.Image.prototype.clip ee.Image ee.Image.prototype.getMap ee.Image.prototype.rename ee.Image.prototype.getInfo ee.Image.prototype.expression ee.Image.prototype.select ee.Image.rgb ee.Image.prototype.getThumbId ee.Image.prototype.getMapId ee.Image.cat ee.Image.prototype.getThumbURL ee.ImageCollection.prototype.select ee.ImageCollection.prototype.getMap ee.ImageCollection.prototype.first ee.ImageCollection.prototype.getMapId ee.ImageCollection.prototype.getFilmstripThumbURL ee.ImageCollection.prototype.getVideoThumbURL ee.ImageCollection.prototype.linkCollection ee.ImageCollection.prototype.getInfo ee.ImageCollection ee.List ee.Number ee.Serializer.encodeCloudApiPretty ee.Serializer.toCloudApiJSON ee.Serializer.encode ee.Serializer.toReadableCloudApiJSON ee.Serializer.toJSON ee.Serializer.toReadableJSON ee.Serializer.encodeCloudApi ee.String ee.Terrain".split(" "),
|
|
27566
|
+
orderedParamLists = [["name"], ["name", "namedArgs"], ["name", "var_args"], "collection opt_description opt_bucket opt_fileNamePrefix opt_framesPerSecond opt_writePublicTiles opt_minZoom opt_maxZoom opt_scale opt_region opt_skipEmptyTiles opt_minTimeMachineZoomSubset opt_maxTimeMachineZoomSubset opt_tileWidth opt_tileHeight opt_tileStride opt_videoFormat opt_version opt_mapsApiKey opt_bucketCorsUris opt_priority".split(" "), ["classifier", "opt_description", "opt_assetId", "opt_priority"], "image opt_description opt_assetId opt_pyramidingPolicy opt_dimensions opt_region opt_scale opt_crs opt_crsTransform opt_maxPixels opt_shardSize opt_priority opt_overwrite".split(" "),
|
|
27567
|
+
"image opt_description opt_bucket opt_fileNamePrefix opt_dimensions opt_region opt_scale opt_crs opt_crsTransform opt_maxPixels opt_shardSize opt_fileDimensions opt_skipEmptyTiles opt_fileFormat opt_formatOptions opt_priority".split(" "), "image opt_description opt_folder opt_fileNamePrefix opt_dimensions opt_region opt_scale opt_crs opt_crsTransform opt_maxPixels opt_shardSize opt_fileDimensions opt_skipEmptyTiles opt_fileFormat opt_formatOptions opt_priority".split(" "), "image opt_description opt_bucket opt_fileFormat opt_path opt_writePublicTiles opt_scale opt_maxZoom opt_minZoom opt_region opt_skipEmptyTiles opt_mapsApiKey opt_bucketCorsUris opt_priority".split(" "),
|
|
27568
|
+
"collection opt_description opt_bucket opt_fileNamePrefix opt_fileFormat opt_selectors opt_maxVertices opt_priority".split(" "), "collection opt_description opt_folder opt_fileNamePrefix opt_fileFormat opt_selectors opt_maxVertices opt_priority".split(" "), "collection opt_description opt_assetId opt_maxVertices opt_priority opt_overwrite".split(" "), "collection opt_description opt_assetId opt_maxFeaturesPerTile opt_thinningStrategy opt_thinningRanking opt_zOrderRanking opt_priority".split(" "),
|
|
27569
|
+
"collection opt_description opt_table opt_overwrite opt_append opt_selectors opt_maxVertices opt_priority".split(" "), "collection opt_description opt_bucket opt_fileNamePrefix opt_framesPerSecond opt_dimensions opt_region opt_scale opt_crs opt_crsTransform opt_maxPixels opt_maxFrames opt_priority".split(" "), "collection opt_description opt_folder opt_fileNamePrefix opt_framesPerSecond opt_dimensions opt_region opt_scale opt_crs opt_crsTransform opt_maxPixels opt_maxFrames opt_priority".split(" "),
|
|
27570
|
+
["max", "opt_property", "opt_ascending"], ["algorithm", "opt_first"], ["name", "operator", "value"], ["algorithm", "opt_dropNulls"], ["start", "opt_end"], ["filter"], ["property", "opt_ascending"], ["geometry"], ["legacy"], ["opt_callback"], ["func", "var_args"], ["callback"], ["clientId", "success", "opt_error", "opt_extraScopes", "opt_onImmediateFailed"], ["opt_success", "opt_error"], ["taskId", "request", "opt_callback"], ["privateKey", "opt_success", "opt_error", "opt_extraScopes", "opt_suppressDefaultScopes"],
|
|
27571
|
+
["id", "opt_callback"], ["id", "opt_callback"], ["params", "opt_callback"], ["parent", "opt_params", "opt_callback"], ["parent", "opt_params", "opt_callback"], ["params", "opt_callback"], ["id", "x", "y", "z"], ["project", "opt_callback"], ["params", "opt_callback"], ["opt_callback"], ["asset", "params", "opt_callback"], ["obj", "opt_callback"], ["requestedId", "opt_callback"], ["params", "opt_callback"], ["value", "opt_path", "opt_force", "opt_properties", "opt_callback"], ["params", "opt_callback"],
|
|
27572
|
+
["params", "opt_callback"], ["path", "opt_force", "opt_callback"], ["id"], ["params", "opt_callback"], ["sourceId", "destinationId", "opt_callback"], ["id"], ["sourceId", "destinationId", "opt_overwrite", "opt_callback"], ["params", "opt_callback"], ["assetId", "opt_callback"], ["id"], ["assetId", "opt_callback"], ["opt_count", "opt_callback"], ["taskId", "opt_callback"], ["assetId", "asset", "updateFields", "opt_callback"], ["opt_callback"], ["assetId", "aclUpdate", "opt_callback"], ["opt_limit",
|
|
27573
|
+
"opt_callback"], ["assetId", "properties", "opt_callback"], ["rootId", "opt_callback"], ["opt_limit", "opt_callback"], ["operationName", "opt_callback"], [], ["tag"], "clientId success opt_error opt_extraScopes opt_onImmediateFailed opt_suppressDefaultScopes".split(" "), ["tag"], ["operationName", "opt_callback"], ["opt_resetDefault"], ["taskId", "opt_callback"], ["taskId", "action", "opt_callback"], ["taskId", "params", "opt_callback"], ["taskId", "request", "opt_callback"], ["date", "opt_tz"],
|
|
27574
|
+
["json"], ["json"], ["json"], ["json"], ["opt_dict"], [], ["func", "var_args"], ["func", "namedArgs"], "opt_baseurl opt_tileurl opt_successCallback opt_errorCallback opt_xsrfToken opt_project".split(" "), [], [], [], ["var_args"], [], ["opt_visParams", "opt_callback"], ["opt_callback"], ["opt_visParams", "opt_callback"], ["geometry", "opt_properties"], ["opt_format", "opt_selectors", "opt_filename", "opt_callback"], ["opt_callback"], ["propertySelectors", "opt_newProperties", "opt_retainGeometry"],
|
|
27575
|
+
["opt_visParams", "opt_callback"], ["opt_visParams", "opt_callback"], ["args", "opt_column"], ["name", "value"], ["name", "value"], ["geometry", "opt_errorMargin"], ["name", "value"], ["name", "value"], ["name", "operator", "value"], ["opt_filter"], ["name", "value"], ["var_args"], ["var_args"], ["start", "opt_end"], ["opt_leftField", "opt_rightValue", "opt_rightField", "opt_leftValue"], [], ["name", "value"], ["var_args"], ["namedArgs"], [], ["coords", "opt_proj"], ["legacy"], ["coords", "opt_proj",
|
|
27576
|
+
"opt_geodesic", "opt_evenOdd"], ["west", "south", "east", "north"], ["coords", "opt_proj", "opt_geodesic", "opt_maxError"], ["coords", "opt_proj", "opt_geodesic", "opt_maxError"], ["coords", "opt_proj", "opt_geodesic", "opt_maxError"], ["geoJson", "opt_proj", "opt_geodesic", "opt_evenOdd"], ["coords", "opt_proj", "opt_geodesic", "opt_maxError", "opt_evenOdd"], ["coords", "opt_proj", "opt_geodesic", "opt_maxError", "opt_evenOdd"], [], ["coords", "opt_proj"], ["params", "opt_callback"], ["geometry"],
|
|
27577
|
+
["opt_args"], ["opt_visParams", "opt_callback"], ["var_args"], ["opt_callback"], ["expression", "opt_map"], ["var_args"], ["r", "g", "b"], ["params", "opt_callback"], ["opt_visParams", "opt_callback"], ["var_args"], ["params", "opt_callback"], ["selectors", "opt_names"], ["opt_visParams", "opt_callback"], [], ["opt_visParams", "opt_callback"], ["params", "opt_callback"], ["params", "opt_callback"], ["imageCollection", "opt_linkedBands", "opt_linkedProperties", "opt_matchPropertyName"], ["opt_callback"],
|
|
27578
|
+
["args"], ["list"], ["number"], ["obj"], ["obj"], ["obj", "opt_isCompound"], ["obj"], ["obj"], ["obj"], ["obj"], ["string"], []];
|
|
27579
|
+
[ee.ApiFunction.lookup, ee.ApiFunction._apply, ee.ApiFunction._call, module$contents$ee$batch_Export.videoMap.toCloudStorage, module$contents$ee$batch_Export.classifier.toAsset, module$contents$ee$batch_Export.image.toAsset, module$contents$ee$batch_Export.image.toCloudStorage, module$contents$ee$batch_Export.image.toDrive, module$contents$ee$batch_Export.map.toCloudStorage, module$contents$ee$batch_Export.table.toCloudStorage, module$contents$ee$batch_Export.table.toDrive, module$contents$ee$batch_Export.table.toAsset,
|
|
27580
|
+
module$contents$ee$batch_Export.table.toFeatureView, module$contents$ee$batch_Export.table.toBigQuery, module$contents$ee$batch_Export.video.toCloudStorage, module$contents$ee$batch_Export.video.toDrive, ee.Collection.prototype.limit, ee.Collection.prototype.iterate, ee.Collection.prototype.filterMetadata, ee.Collection.prototype.map, ee.Collection.prototype.filterDate, ee.Collection.prototype.filter, ee.Collection.prototype.sort, ee.Collection.prototype.filterBounds, ee.ComputedObject.prototype.serialize,
|
|
27581
|
+
ee.ComputedObject.prototype.getInfo, ee.ComputedObject.prototype.aside, ee.ComputedObject.prototype.evaluate, ee.data.authenticate, ee.data.authenticateViaPopup, ee.data.startTableIngestion, ee.data.authenticateViaPrivateKey, ee.data.getAsset, ee.data.getInfo, ee.data.getList, ee.data.listAssets, ee.data.listImages, ee.data.getMapId, ee.data.getTileUrl, ee.data.listBuckets, ee.data.getFeatureViewTilesKey, ee.data.getAssetRoots, ee.data.listFeatures, ee.data.computeValue, ee.data.createAssetHome,
|
|
27582
|
+
ee.data.getThumbId, ee.data.createAsset, ee.data.getVideoThumbId, ee.data.getFilmstripThumbId, ee.data.createFolder, ee.data.makeThumbUrl, ee.data.getDownloadId, ee.data.renameAsset, ee.data.makeDownloadUrl, ee.data.copyAsset, ee.data.getTableDownloadId, ee.data.deleteAsset, ee.data.makeTableDownloadUrl, ee.data.getAssetAcl, ee.data.newTaskId, ee.data.getTaskStatus, ee.data.updateAsset, ee.data.getTaskList, ee.data.setAssetAcl, ee.data.getTaskListWithLimit, ee.data.setAssetProperties, ee.data.getAssetRootQuota,
|
|
27583
|
+
ee.data.listOperations, ee.data.cancelOperation, ee.data.getWorkloadTag, ee.data.setWorkloadTag, ee.data.authenticateViaOauth, ee.data.setDefaultWorkloadTag, ee.data.getOperation, ee.data.resetWorkloadTag, ee.data.cancelTask, ee.data.updateTask, ee.data.startProcessing, ee.data.startIngestion, ee.Date, ee.Deserializer.fromJSON, ee.Deserializer.fromCloudApiJSON, ee.Deserializer.decode, ee.Deserializer.decodeCloudApi, ee.Dictionary, ee.Algorithms, ee.call, ee.apply, ee.initialize, ee.reset, ee.InitState,
|
|
27584
|
+
ee.TILE_SIZE, ee.Element.prototype.set, ee.Encodable.SourceFrame, ee.Feature.prototype.getMap, ee.Feature.prototype.getInfo, ee.Feature.prototype.getMapId, ee.Feature, ee.FeatureCollection.prototype.getDownloadURL, ee.FeatureCollection.prototype.getInfo, ee.FeatureCollection.prototype.select, ee.FeatureCollection.prototype.getMapId, ee.FeatureCollection.prototype.getMap, ee.FeatureCollection, ee.Filter.neq, ee.Filter.lt, ee.Filter.bounds, ee.Filter.gte, ee.Filter.gt, ee.Filter.metadata, ee.Filter,
|
|
27585
|
+
ee.Filter.lte, ee.Filter.and, ee.Filter.or, ee.Filter.date, ee.Filter.inList, ee.Filter.prototype.not, ee.Filter.eq, ee.Function.prototype.call, ee.Function.prototype.apply, ee.Geometry.prototype.toGeoJSONString, ee.Geometry.MultiPoint, ee.Geometry.prototype.serialize, ee.Geometry.Rectangle, ee.Geometry.BBox, ee.Geometry.LineString, ee.Geometry.LinearRing, ee.Geometry.MultiLineString, ee.Geometry, ee.Geometry.Polygon, ee.Geometry.MultiPolygon, ee.Geometry.prototype.toGeoJSON, ee.Geometry.Point,
|
|
27586
|
+
ee.Image.prototype.getDownloadURL, ee.Image.prototype.clip, ee.Image, ee.Image.prototype.getMap, ee.Image.prototype.rename, ee.Image.prototype.getInfo, ee.Image.prototype.expression, ee.Image.prototype.select, ee.Image.rgb, ee.Image.prototype.getThumbId, ee.Image.prototype.getMapId, ee.Image.cat, ee.Image.prototype.getThumbURL, ee.ImageCollection.prototype.select, ee.ImageCollection.prototype.getMap, ee.ImageCollection.prototype.first, ee.ImageCollection.prototype.getMapId, ee.ImageCollection.prototype.getFilmstripThumbURL,
|
|
27587
|
+
ee.ImageCollection.prototype.getVideoThumbURL, ee.ImageCollection.prototype.linkCollection, ee.ImageCollection.prototype.getInfo, ee.ImageCollection, ee.List, ee.Number, ee.Serializer.encodeCloudApiPretty, ee.Serializer.toCloudApiJSON, ee.Serializer.encode, ee.Serializer.toReadableCloudApiJSON, ee.Serializer.toJSON, ee.Serializer.toReadableJSON, ee.Serializer.encodeCloudApi, ee.String, ee.Terrain].forEach(function(fn, i) {
|
|
27552
27588
|
fn && (exportedFnInfo[fn.toString()] = {name:orderedFnNames[i], paramNames:orderedParamLists[i]});
|
|
27553
27589
|
});
|
|
27554
27590
|
goog.global.EXPORTED_FN_INFO = exportedFnInfo;
|
package/package.json
CHANGED
package/src/abstractoverlay.js
CHANGED
|
@@ -13,9 +13,9 @@ goog.requireType('ee.data.Profiler');
|
|
|
13
13
|
* @param {string} url The url for fetching this layer's tiles.
|
|
14
14
|
* @param {string} mapId The map ID for fetching this layer's tiles.
|
|
15
15
|
* @param {string} token The temporary token for fetching tiles.
|
|
16
|
-
* @param {Object=} opt_init Initialization options, of the same form as a
|
|
16
|
+
* @param {!Object=} opt_init Initialization options, of the same form as a
|
|
17
17
|
* google.maps.ImageMapTypeOptions object.
|
|
18
|
-
* @param {ee.data.Profiler=} opt_profiler Map tile calculation cost will be
|
|
18
|
+
* @param {!ee.data.Profiler=} opt_profiler Map tile calculation cost will be
|
|
19
19
|
* sent to this profiler, if its enabled flag is set.
|
|
20
20
|
* @constructor
|
|
21
21
|
* @extends {goog.events.EventTarget}
|
|
@@ -34,7 +34,7 @@ earthengine_api.javascript.abstractoverlay.AbstractOverlay =
|
|
|
34
34
|
/** @protected {!Array<string>} The list of tiles currently being loaded. */
|
|
35
35
|
this.tilesLoading = [];
|
|
36
36
|
|
|
37
|
-
/** @protected {goog.structs.Set} The set of failed tile IDs. */
|
|
37
|
+
/** @protected {!goog.structs.Set} The set of failed tile IDs. */
|
|
38
38
|
this.tilesFailed = new goog.structs.Set();
|
|
39
39
|
|
|
40
40
|
/** @protected {number} The count of tiles that have been loaded. */
|
|
@@ -60,8 +60,8 @@ earthengine_api.javascript.abstractoverlay.AbstractOverlay
|
|
|
60
60
|
* Implements getTile() for the google.maps.MapType interface.
|
|
61
61
|
* @param {!google.maps.Point} coord Position of tile.
|
|
62
62
|
* @param {number} zoom Zoom level.
|
|
63
|
-
* @param {Node} ownerDocument Parent document.
|
|
64
|
-
* @return {Node} Element or binary data to be displayed as a map
|
|
63
|
+
* @param {!Node} ownerDocument Parent document.
|
|
64
|
+
* @return {!Node} Element or binary data to be displayed as a map
|
|
65
65
|
* tile.
|
|
66
66
|
*/
|
|
67
67
|
earthengine_api.javascript.abstractoverlay.AbstractOverlay
|
|
@@ -76,10 +76,10 @@ earthengine_api.javascript.abstractoverlay.AbstractOverlay
|
|
|
76
76
|
*/
|
|
77
77
|
earthengine_api.javascript.abstractoverlay.AbstractOverlay
|
|
78
78
|
.prototype.getTileId = function(coord, zoom) {
|
|
79
|
-
|
|
79
|
+
const maxCoord = 1 << zoom;
|
|
80
80
|
|
|
81
81
|
// Wrap longitude around.
|
|
82
|
-
|
|
82
|
+
let x = coord.x % maxCoord;
|
|
83
83
|
if (x < 0) {
|
|
84
84
|
x += maxCoord;
|
|
85
85
|
}
|
package/src/apiclient.js
CHANGED
|
@@ -24,7 +24,7 @@ const {trustedResourceUrl} = goog.require('safevalues.index');
|
|
|
24
24
|
/** @namespace */
|
|
25
25
|
const apiclient = {};
|
|
26
26
|
|
|
27
|
-
const API_CLIENT_VERSION = '1.7.
|
|
27
|
+
const API_CLIENT_VERSION = '1.7.21';
|
|
28
28
|
|
|
29
29
|
exports.VERSION = apiVersion.VERSION;
|
|
30
30
|
exports.API_CLIENT_VERSION = API_CLIENT_VERSION;
|
|
@@ -267,7 +267,11 @@ class EERequestService extends PromiseRequestService {
|
|
|
267
267
|
return value.then(r => responseCtor ? deserialize(responseCtor, r) : r);
|
|
268
268
|
}
|
|
269
269
|
|
|
270
|
-
/**
|
|
270
|
+
/**
|
|
271
|
+
* @param {!MakeRequestParams} params
|
|
272
|
+
* @override abstract method, not used
|
|
273
|
+
*/
|
|
274
|
+
makeRequest(params) {}
|
|
271
275
|
}
|
|
272
276
|
|
|
273
277
|
|
|
@@ -388,7 +392,11 @@ class BatchRequestService extends PromiseRequestService {
|
|
|
388
392
|
return /** @type {?} */([message, responseCtor]);
|
|
389
393
|
}
|
|
390
394
|
|
|
391
|
-
/**
|
|
395
|
+
/**
|
|
396
|
+
* @param {!MakeRequestParams} params
|
|
397
|
+
* @override abstract method, not used
|
|
398
|
+
*/
|
|
399
|
+
makeRequest(params) {}
|
|
392
400
|
}
|
|
393
401
|
|
|
394
402
|
|
package/src/apifunction.js
CHANGED
|
@@ -24,6 +24,36 @@ goog.requireType('ee.api');
|
|
|
24
24
|
|
|
25
25
|
|
|
26
26
|
|
|
27
|
+
/**
|
|
28
|
+
* Recursively deletes the __proto__ property from objects to prevent prototype
|
|
29
|
+
* pollution.
|
|
30
|
+
* @param {*} obj The object to sanitize.
|
|
31
|
+
* @param {!Set<*>=} opt_seen A set of already visited objects to handle
|
|
32
|
+
* circular references.
|
|
33
|
+
* @return {*} The sanitized object.
|
|
34
|
+
*/
|
|
35
|
+
function deleteProto(obj, opt_seen) {
|
|
36
|
+
if (!(obj && typeof obj === 'object')) {
|
|
37
|
+
return obj;
|
|
38
|
+
}
|
|
39
|
+
const seen = opt_seen || new Set();
|
|
40
|
+
if (seen.has(obj)) return obj;
|
|
41
|
+
seen.add(obj);
|
|
42
|
+
if (Object.prototype.hasOwnProperty.call(obj, 'constructor')) {
|
|
43
|
+
delete obj['constructor'];
|
|
44
|
+
}
|
|
45
|
+
for (const key in obj) {
|
|
46
|
+
if (key === '__proto__') {
|
|
47
|
+
continue;
|
|
48
|
+
}
|
|
49
|
+
if (Object.prototype.hasOwnProperty.call(obj, key)) {
|
|
50
|
+
deleteProto(obj[key], seen);
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
return obj;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
|
|
27
57
|
/**
|
|
28
58
|
* Creates a function defined by the EE API.
|
|
29
59
|
* @param {string} name The name of the function.
|
|
@@ -33,12 +63,19 @@ goog.requireType('ee.api');
|
|
|
33
63
|
* @extends {ee.Function}
|
|
34
64
|
*/
|
|
35
65
|
ee.ApiFunction = function(name, opt_signature) {
|
|
66
|
+
if (typeof name !== 'string') {
|
|
67
|
+
throw new Error('ApiFunction name must be a string.');
|
|
68
|
+
}
|
|
36
69
|
if (opt_signature === undefined) {
|
|
37
70
|
return ee.ApiFunction.lookup(name);
|
|
38
71
|
} else if (!(this instanceof ee.ApiFunction)) {
|
|
39
72
|
return ee.ComputedObject.construct(ee.ApiFunction, arguments);
|
|
40
73
|
}
|
|
41
74
|
|
|
75
|
+
if (opt_signature === null || typeof opt_signature !== 'object') {
|
|
76
|
+
throw new Error('opt_signature must be an object.');
|
|
77
|
+
}
|
|
78
|
+
deleteProto(opt_signature);
|
|
42
79
|
/**
|
|
43
80
|
* The signature of this API function.
|
|
44
81
|
* @const {!ee.Function.Signature}
|
|
@@ -64,8 +101,14 @@ goog.exportSymbol('ee.ApiFunction', ee.ApiFunction);
|
|
|
64
101
|
* @export
|
|
65
102
|
*/
|
|
66
103
|
ee.ApiFunction._call = function(name, var_args) {
|
|
67
|
-
|
|
68
|
-
|
|
104
|
+
if (typeof name !== 'string') {
|
|
105
|
+
throw new Error('ApiFunction name must be a string.');
|
|
106
|
+
}
|
|
107
|
+
const args = Array.prototype.slice.call(arguments, 1);
|
|
108
|
+
for (let i = 0; i < args.length; i++) {
|
|
109
|
+
deleteProto(args[i]);
|
|
110
|
+
}
|
|
111
|
+
return ee.Function.prototype.call.apply(ee.ApiFunction.lookup(name), args);
|
|
69
112
|
};
|
|
70
113
|
|
|
71
114
|
|
|
@@ -80,10 +123,20 @@ ee.ApiFunction._call = function(name, var_args) {
|
|
|
80
123
|
* @export
|
|
81
124
|
*/
|
|
82
125
|
ee.ApiFunction._apply = function(name, namedArgs) {
|
|
126
|
+
if (typeof name !== 'string') {
|
|
127
|
+
throw new Error('ApiFunction name must be a string.');
|
|
128
|
+
}
|
|
129
|
+
if (namedArgs === null || typeof namedArgs !== 'object') {
|
|
130
|
+
throw new Error('namedArgs must be an object.');
|
|
131
|
+
}
|
|
132
|
+
deleteProto(namedArgs);
|
|
83
133
|
return ee.ApiFunction.lookup(name).apply(namedArgs);
|
|
84
134
|
};
|
|
85
135
|
|
|
86
136
|
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
|
|
87
140
|
/**
|
|
88
141
|
* @param {function(*): *} encoder A function that can be called to encode
|
|
89
142
|
* the components of an object.
|
|
@@ -296,9 +349,11 @@ ee.ApiFunction.importApi = function(target, prefix, typeName, opt_prepend) {
|
|
|
296
349
|
* @this {*}
|
|
297
350
|
**/
|
|
298
351
|
destination[fname] = function(var_args) {
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
352
|
+
const args = Array.prototype.slice.call(arguments, 0);
|
|
353
|
+
for (let i = 0; i < args.length; i++) {
|
|
354
|
+
deleteProto(args[i]);
|
|
355
|
+
}
|
|
356
|
+
return apiFunc.callOrApply(isInstance ? this : undefined, args);
|
|
302
357
|
};
|
|
303
358
|
// Add a friendly formatting.
|
|
304
359
|
destination[fname].toString =
|