@loaders.gl/services 5.0.0-alpha.3
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/LICENSE +52 -0
- package/README.md +51 -0
- package/dist/arcgis/arcgis-capability-graph.d.ts +48 -0
- package/dist/arcgis/arcgis-capability-graph.d.ts.map +1 -0
- package/dist/arcgis/arcgis-capability-graph.js +220 -0
- package/dist/arcgis/arcgis-capability-graph.js.map +1 -0
- package/dist/arcgis/arcgis-feature-server-source-loader.d.ts +94 -0
- package/dist/arcgis/arcgis-feature-server-source-loader.d.ts.map +1 -0
- package/dist/arcgis/arcgis-feature-server-source-loader.js +228 -0
- package/dist/arcgis/arcgis-feature-server-source-loader.js.map +1 -0
- package/dist/arcgis/arcgis-image-server-source-loader.d.ts +96 -0
- package/dist/arcgis/arcgis-image-server-source-loader.d.ts.map +1 -0
- package/dist/arcgis/arcgis-image-server-source-loader.js +143 -0
- package/dist/arcgis/arcgis-image-server-source-loader.js.map +1 -0
- package/dist/arcgis/arcgis-image-tile-source-loader.d.ts +71 -0
- package/dist/arcgis/arcgis-image-tile-source-loader.d.ts.map +1 -0
- package/dist/arcgis/arcgis-image-tile-source-loader.js +153 -0
- package/dist/arcgis/arcgis-image-tile-source-loader.js.map +1 -0
- package/dist/arcgis/arcgis-map-tile-source-loader.d.ts +106 -0
- package/dist/arcgis/arcgis-map-tile-source-loader.d.ts.map +1 -0
- package/dist/arcgis/arcgis-map-tile-source-loader.js +202 -0
- package/dist/arcgis/arcgis-map-tile-source-loader.js.map +1 -0
- package/dist/arcgis/arcgis-scene-aggregation.d.ts +34 -0
- package/dist/arcgis/arcgis-scene-aggregation.d.ts.map +1 -0
- package/dist/arcgis/arcgis-scene-aggregation.js +57 -0
- package/dist/arcgis/arcgis-scene-aggregation.js.map +1 -0
- package/dist/arcgis/arcgis-scene-server-source-loader.d.ts +112 -0
- package/dist/arcgis/arcgis-scene-server-source-loader.d.ts.map +1 -0
- package/dist/arcgis/arcgis-scene-server-source-loader.js +157 -0
- package/dist/arcgis/arcgis-scene-server-source-loader.js.map +1 -0
- package/dist/arcgis/arcgis-server.d.ts +15 -0
- package/dist/arcgis/arcgis-server.d.ts.map +1 -0
- package/dist/arcgis/arcgis-server.js +41 -0
- package/dist/arcgis/arcgis-server.js.map +1 -0
- package/dist/arcgis/arcgis-url-utils.d.ts +3 -0
- package/dist/arcgis/arcgis-url-utils.d.ts.map +1 -0
- package/dist/arcgis/arcgis-url-utils.js +23 -0
- package/dist/arcgis/arcgis-url-utils.js.map +1 -0
- package/dist/arcgis/arcgis-vector-tile-server-source-loader.d.ts +115 -0
- package/dist/arcgis/arcgis-vector-tile-server-source-loader.d.ts.map +1 -0
- package/dist/arcgis/arcgis-vector-tile-server-source-loader.js +156 -0
- package/dist/arcgis/arcgis-vector-tile-server-source-loader.js.map +1 -0
- package/dist/authentication.d.ts +37 -0
- package/dist/authentication.d.ts.map +1 -0
- package/dist/authentication.js +41 -0
- package/dist/authentication.js.map +1 -0
- package/dist/bundled.d.ts +2 -0
- package/dist/bundled.d.ts.map +1 -0
- package/dist/bundled.js +6 -0
- package/dist/bundled.js.map +1 -0
- package/dist/index.cjs +21614 -0
- package/dist/index.cjs.map +6 -0
- package/dist/index.d.ts +32 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +24 -0
- package/dist/index.js.map +1 -0
- package/dist/service-registry.d.ts +18 -0
- package/dist/service-registry.d.ts.map +1 -0
- package/dist/service-registry.js +29 -0
- package/dist/service-registry.js.map +1 -0
- package/dist/unbundled.d.ts +2 -0
- package/dist/unbundled.d.ts.map +1 -0
- package/dist/unbundled.js +6 -0
- package/dist/unbundled.js.map +1 -0
- package/package.json +60 -0
- package/src/arcgis/arcgis-capability-graph.ts +295 -0
- package/src/arcgis/arcgis-feature-server-source-loader.ts +342 -0
- package/src/arcgis/arcgis-image-server-source-loader.ts +241 -0
- package/src/arcgis/arcgis-image-tile-source-loader.ts +206 -0
- package/src/arcgis/arcgis-map-tile-source-loader.ts +286 -0
- package/src/arcgis/arcgis-scene-aggregation.ts +90 -0
- package/src/arcgis/arcgis-scene-server-source-loader.ts +258 -0
- package/src/arcgis/arcgis-server.ts +61 -0
- package/src/arcgis/arcgis-url-utils.ts +26 -0
- package/src/arcgis/arcgis-vector-tile-server-source-loader.ts +233 -0
- package/src/authentication.ts +83 -0
- package/src/bundled.ts +6 -0
- package/src/index.ts +99 -0
- package/src/service-registry.ts +43 -0
- package/src/unbundled.ts +6 -0
|
@@ -0,0 +1,156 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
import { DataSource } from '@loaders.gl/loader-utils';
|
|
5
|
+
import { MVTLoader } from '@loaders.gl/mvt';
|
|
6
|
+
/** A source for ArcGIS VectorTileServer metadata and PBF tiles. */
|
|
7
|
+
export class ArcGISVectorTileServerSource extends DataSource {
|
|
8
|
+
/** Decoded tile family consumed by generic tile renderers. */
|
|
9
|
+
mimeType = 'application/vnd.mapbox-vector-tile';
|
|
10
|
+
/** ArcGIS tiles are decoded to WGS84 coordinates before rendering. */
|
|
11
|
+
localCoordinates = false;
|
|
12
|
+
/** Cached service metadata request. */
|
|
13
|
+
serviceMetadata = null;
|
|
14
|
+
/** Query parameters supplied with the service URL, such as an access token. */
|
|
15
|
+
serviceQueryParameters;
|
|
16
|
+
/** Creates an ArcGIS VectorTileServer source. */
|
|
17
|
+
constructor(url, options = {}, coreApi) {
|
|
18
|
+
const serviceURL = new URL(url);
|
|
19
|
+
serviceURL.pathname = serviceURL.pathname.replace(/\/$/, '');
|
|
20
|
+
super(`${serviceURL.origin}${serviceURL.pathname}`, options, ArcGISVectorTileServerSourceLoader.defaultOptions, coreApi);
|
|
21
|
+
this.serviceQueryParameters = new URLSearchParams(serviceURL.search);
|
|
22
|
+
}
|
|
23
|
+
/** Returns normalized service and tile-grid metadata. */
|
|
24
|
+
async getMetadata() {
|
|
25
|
+
const metadata = await this.getServiceMetadata();
|
|
26
|
+
const tileInfo = metadata.tileInfo;
|
|
27
|
+
const lods = tileInfo?.lods || [];
|
|
28
|
+
const extent = metadata.fullExtent || metadata.initialExtent;
|
|
29
|
+
return {
|
|
30
|
+
name: metadata.mapName || this.url.split('/').pop() || '',
|
|
31
|
+
title: metadata.mapName,
|
|
32
|
+
abstract: metadata.serviceDescription,
|
|
33
|
+
format: 'application/vnd.mapbox-vector-tile',
|
|
34
|
+
minZoom: lods[0]?.level,
|
|
35
|
+
maxZoom: lods.at(-1)?.level,
|
|
36
|
+
boundingBox: extent
|
|
37
|
+
? [
|
|
38
|
+
[extent.xmin, extent.ymin],
|
|
39
|
+
[extent.xmax, extent.ymax]
|
|
40
|
+
]
|
|
41
|
+
: undefined,
|
|
42
|
+
layer: {
|
|
43
|
+
name: metadata.mapName || '',
|
|
44
|
+
srs: tileInfo?.spatialReference ? [getSpatialReference(tileInfo.spatialReference)] : [],
|
|
45
|
+
layers: []
|
|
46
|
+
},
|
|
47
|
+
formatHeader: {
|
|
48
|
+
tileInfo,
|
|
49
|
+
styleURL: this.getStyleURL(),
|
|
50
|
+
spriteURL: this.getSpriteURL()
|
|
51
|
+
}
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
/** Fetches one raw PBF tile from the ArcGIS tile endpoint. */
|
|
55
|
+
async getTile(parameters, signal) {
|
|
56
|
+
const response = await this.fetch(this.getTileURL(parameters), {
|
|
57
|
+
signal,
|
|
58
|
+
headers: { Accept: 'application/vnd.mapbox-vector-tile, application/x-protobuf' }
|
|
59
|
+
});
|
|
60
|
+
if (!response.ok)
|
|
61
|
+
return null;
|
|
62
|
+
return response.arrayBuffer();
|
|
63
|
+
}
|
|
64
|
+
/** Returns the schema advertised by decoded vector tiles. */
|
|
65
|
+
async getSchema() {
|
|
66
|
+
return { fields: [], metadata: {} };
|
|
67
|
+
}
|
|
68
|
+
/** Fetches and decodes one ArcGIS vector tile to geographic coordinates. */
|
|
69
|
+
async getVectorTile(parameters) {
|
|
70
|
+
const arrayBuffer = await this.getTile(parameters, parameters.signal);
|
|
71
|
+
if (!arrayBuffer) {
|
|
72
|
+
return null;
|
|
73
|
+
}
|
|
74
|
+
const inheritedOptions = this.loadOptions.mvt;
|
|
75
|
+
const sourceOptions = this.options['arcgis-vector-tile-server']?.mvt;
|
|
76
|
+
return (await this.coreApi.parse(arrayBuffer, MVTLoader, {
|
|
77
|
+
...this.loadOptions,
|
|
78
|
+
mvt: {
|
|
79
|
+
...inheritedOptions,
|
|
80
|
+
...sourceOptions,
|
|
81
|
+
coordinates: 'wgs84',
|
|
82
|
+
tileIndex: { x: parameters.x, y: parameters.y, z: parameters.z },
|
|
83
|
+
layers: normalizeLayers(parameters.layers) || sourceOptions?.layers || inheritedOptions?.layers
|
|
84
|
+
}
|
|
85
|
+
}));
|
|
86
|
+
}
|
|
87
|
+
/** Provides decoded vector tiles through the deck.gl source interface. */
|
|
88
|
+
async getTileData(parameters) {
|
|
89
|
+
return this.getVectorTile({ ...parameters.index, signal: parameters.signal });
|
|
90
|
+
}
|
|
91
|
+
/** Builds the ArcGIS cached vector tile URL. */
|
|
92
|
+
getTileURL(parameters) {
|
|
93
|
+
return this.getResourceURL(`/tile/${parameters.z}/${parameters.y}/${parameters.x}.pbf`);
|
|
94
|
+
}
|
|
95
|
+
/** Returns the service metadata URL. */
|
|
96
|
+
getMetadataURL() {
|
|
97
|
+
const url = new URL(this.getResourceURL(''));
|
|
98
|
+
url.searchParams.set('f', 'pjson');
|
|
99
|
+
return url.toString();
|
|
100
|
+
}
|
|
101
|
+
/** Returns the ArcGIS Mapbox style resource URL. */
|
|
102
|
+
getStyleURL() {
|
|
103
|
+
return this.getResourceURL('/resources/styles/root.json');
|
|
104
|
+
}
|
|
105
|
+
/** Returns the ArcGIS sprite resource base URL. */
|
|
106
|
+
getSpriteURL() {
|
|
107
|
+
return this.getResourceURL('/resources/sprites/sprite');
|
|
108
|
+
}
|
|
109
|
+
/** Loads and caches the ArcGIS VectorTileServer metadata document. */
|
|
110
|
+
async getServiceMetadata() {
|
|
111
|
+
this.serviceMetadata ||= this.fetch(this.getMetadataURL()).then(async (response) => {
|
|
112
|
+
if (!response.ok)
|
|
113
|
+
throw new Error(`ArcGIS VectorTileServer request failed: ${response.status}`);
|
|
114
|
+
return (await response.json());
|
|
115
|
+
});
|
|
116
|
+
return this.serviceMetadata;
|
|
117
|
+
}
|
|
118
|
+
/** Builds a resource URL while retaining service query parameters. */
|
|
119
|
+
getResourceURL(resourcePath) {
|
|
120
|
+
const url = new URL(this.url);
|
|
121
|
+
url.pathname = `${url.pathname.replace(/\/$/, '')}${resourcePath}`;
|
|
122
|
+
for (const [key, value] of this.serviceQueryParameters) {
|
|
123
|
+
url.searchParams.set(key, value);
|
|
124
|
+
}
|
|
125
|
+
return url.toString();
|
|
126
|
+
}
|
|
127
|
+
}
|
|
128
|
+
/** Source loader for ArcGIS VectorTileServer services. */
|
|
129
|
+
export const ArcGISVectorTileServerSourceLoader = {
|
|
130
|
+
dataType: null,
|
|
131
|
+
batchType: null,
|
|
132
|
+
name: 'ArcGIS VectorTileServer',
|
|
133
|
+
id: 'arcgis-vector-tile-server',
|
|
134
|
+
module: 'services',
|
|
135
|
+
version: '0.0.0',
|
|
136
|
+
extensions: [],
|
|
137
|
+
mimeTypes: ['application/vnd.mapbox-vector-tile', 'application/x-protobuf'],
|
|
138
|
+
type: 'arcgis-vector-tile-server',
|
|
139
|
+
fromUrl: true,
|
|
140
|
+
fromBlob: false,
|
|
141
|
+
options: { 'arcgis-vector-tile-server': {} },
|
|
142
|
+
defaultOptions: { 'arcgis-vector-tile-server': {} },
|
|
143
|
+
testURL: (url) => /\/vectortileserver(?:[\/?#]|$)/i.test(url),
|
|
144
|
+
createDataSource: (url, options = {}, coreApi) => new ArcGISVectorTileServerSource(url, options, coreApi)
|
|
145
|
+
};
|
|
146
|
+
/** Converts an ArcGIS spatial reference to an EPSG identifier. */
|
|
147
|
+
function getSpatialReference(spatialReference) {
|
|
148
|
+
return `EPSG:${spatialReference.latestWkid || spatialReference.wkid}`;
|
|
149
|
+
}
|
|
150
|
+
/** Normalizes generic tile layer selection for the MVT parser. */
|
|
151
|
+
function normalizeLayers(layers) {
|
|
152
|
+
if (!layers)
|
|
153
|
+
return undefined;
|
|
154
|
+
return Array.isArray(layers) ? layers : [layers];
|
|
155
|
+
}
|
|
156
|
+
//# sourceMappingURL=arcgis-vector-tile-server-source-loader.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"arcgis-vector-tile-server-source-loader.js","sourceRoot":"","sources":["../../src/arcgis/arcgis-vector-tile-server-source-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { RequestCredential, TokenValue } from '@loaders.gl/loader-utils';
|
|
2
|
+
/** Shared options for provider credential presets with known public API origins. */
|
|
3
|
+
export type ServiceCredentialOptions = {
|
|
4
|
+
/** Replaces the provider's default exact-origin allowlist. */
|
|
5
|
+
origins?: readonly string[];
|
|
6
|
+
};
|
|
7
|
+
/** Options for an ArcGIS REST service credential. */
|
|
8
|
+
export type ArcGISCredentialOptions = {
|
|
9
|
+
/** ArcGIS token or application-managed token callback. */
|
|
10
|
+
token: TokenValue;
|
|
11
|
+
/** Exact ArcGIS Online or Enterprise origins authorized to receive the token. */
|
|
12
|
+
origins: readonly string[];
|
|
13
|
+
};
|
|
14
|
+
/** Options for a Mapbox API credential. */
|
|
15
|
+
export type MapboxCredentialOptions = ServiceCredentialOptions & {
|
|
16
|
+
/** Mapbox public access token or application-managed token callback. */
|
|
17
|
+
accessToken: TokenValue;
|
|
18
|
+
};
|
|
19
|
+
/** Options for a Google Maps Platform credential. */
|
|
20
|
+
export type GoogleMapsCredentialOptions = ServiceCredentialOptions & {
|
|
21
|
+
/** Google Maps Platform API key or application-managed key callback. */
|
|
22
|
+
apiKey: TokenValue;
|
|
23
|
+
};
|
|
24
|
+
/** Options for a Cesium ion API credential. */
|
|
25
|
+
export type CesiumIonCredentialOptions = ServiceCredentialOptions & {
|
|
26
|
+
/** Cesium ion access token or application-managed token callback. */
|
|
27
|
+
accessToken: TokenValue;
|
|
28
|
+
};
|
|
29
|
+
/** Creates an exact-origin ArcGIS `token` query credential. */
|
|
30
|
+
export declare function createArcGISCredential(options: ArcGISCredentialOptions): RequestCredential;
|
|
31
|
+
/** Creates a Mapbox `access_token` query credential. */
|
|
32
|
+
export declare function createMapboxCredential(options: MapboxCredentialOptions): RequestCredential;
|
|
33
|
+
/** Creates a Google Maps Platform `key` query credential. */
|
|
34
|
+
export declare function createGoogleMapsCredential(options: GoogleMapsCredentialOptions): RequestCredential;
|
|
35
|
+
/** Creates a bearer credential for the Cesium ion REST API. */
|
|
36
|
+
export declare function createCesiumIonCredential(options: CesiumIonCredentialOptions): RequestCredential;
|
|
37
|
+
//# sourceMappingURL=authentication.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authentication.d.ts","sourceRoot":"","sources":["../src/authentication.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAC,iBAAiB,EAAE,UAAU,EAAC,MAAM,0BAA0B,CAAC;AAM5E,oFAAoF;AACpF,MAAM,MAAM,wBAAwB,GAAG;IACrC,8DAA8D;IAC9D,OAAO,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;CAC7B,CAAC;AAEF,qDAAqD;AACrD,MAAM,MAAM,uBAAuB,GAAG;IACpC,0DAA0D;IAC1D,KAAK,EAAE,UAAU,CAAC;IAClB,iFAAiF;IACjF,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;CAC5B,CAAC;AAEF,2CAA2C;AAC3C,MAAM,MAAM,uBAAuB,GAAG,wBAAwB,GAAG;IAC/D,wEAAwE;IACxE,WAAW,EAAE,UAAU,CAAC;CACzB,CAAC;AAEF,qDAAqD;AACrD,MAAM,MAAM,2BAA2B,GAAG,wBAAwB,GAAG;IACnE,wEAAwE;IACxE,MAAM,EAAE,UAAU,CAAC;CACpB,CAAC;AAEF,+CAA+C;AAC/C,MAAM,MAAM,0BAA0B,GAAG,wBAAwB,GAAG;IAClE,qEAAqE;IACrE,WAAW,EAAE,UAAU,CAAC;CACzB,CAAC;AAEF,+DAA+D;AAC/D,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,uBAAuB,GAAG,iBAAiB,CAQ1F;AAED,wDAAwD;AACxD,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,uBAAuB,GAAG,iBAAiB,CAO1F;AAED,6DAA6D;AAC7D,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,2BAA2B,GACnC,iBAAiB,CAOnB;AAED,+DAA+D;AAC/D,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,0BAA0B,GAAG,iBAAiB,CAMhG"}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
// loaders.gl
|
|
2
|
+
// SPDX-License-Identifier: MIT
|
|
3
|
+
// Copyright (c) vis.gl contributors
|
|
4
|
+
import { createBearerTokenCredential, createQueryParameterCredential } from '@loaders.gl/loader-utils';
|
|
5
|
+
/** Creates an exact-origin ArcGIS `token` query credential. */
|
|
6
|
+
export function createArcGISCredential(options) {
|
|
7
|
+
return createQueryParameterCredential({
|
|
8
|
+
id: 'arcgis-token',
|
|
9
|
+
origins: options.origins,
|
|
10
|
+
parameterName: 'token',
|
|
11
|
+
token: options.token,
|
|
12
|
+
refreshStatusCodes: [401, 403, 498, 499]
|
|
13
|
+
});
|
|
14
|
+
}
|
|
15
|
+
/** Creates a Mapbox `access_token` query credential. */
|
|
16
|
+
export function createMapboxCredential(options) {
|
|
17
|
+
return createQueryParameterCredential({
|
|
18
|
+
id: 'mapbox-access-token',
|
|
19
|
+
origins: options.origins || ['https://api.mapbox.com'],
|
|
20
|
+
parameterName: 'access_token',
|
|
21
|
+
token: options.accessToken
|
|
22
|
+
});
|
|
23
|
+
}
|
|
24
|
+
/** Creates a Google Maps Platform `key` query credential. */
|
|
25
|
+
export function createGoogleMapsCredential(options) {
|
|
26
|
+
return createQueryParameterCredential({
|
|
27
|
+
id: 'google-maps-api-key',
|
|
28
|
+
origins: options.origins || ['https://tile.googleapis.com'],
|
|
29
|
+
parameterName: 'key',
|
|
30
|
+
token: options.apiKey
|
|
31
|
+
});
|
|
32
|
+
}
|
|
33
|
+
/** Creates a bearer credential for the Cesium ion REST API. */
|
|
34
|
+
export function createCesiumIonCredential(options) {
|
|
35
|
+
return createBearerTokenCredential({
|
|
36
|
+
id: 'cesium-ion-access-token',
|
|
37
|
+
origins: options.origins || ['https://api.cesium.com'],
|
|
38
|
+
token: options.accessToken
|
|
39
|
+
});
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=authentication.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"authentication.js","sourceRoot":"","sources":["../src/authentication.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAGpC,OAAO,EACL,2BAA2B,EAC3B,8BAA8B,EAC/B,MAAM,0BAA0B,CAAC;AAkClC,+DAA+D;AAC/D,MAAM,UAAU,sBAAsB,CAAC,OAAgC;IACrE,OAAO,8BAA8B,CAAC;QACpC,EAAE,EAAE,cAAc;QAClB,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,aAAa,EAAE,OAAO;QACtB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,kBAAkB,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC;KACzC,CAAC,CAAC;AACL,CAAC;AAED,wDAAwD;AACxD,MAAM,UAAU,sBAAsB,CAAC,OAAgC;IACrE,OAAO,8BAA8B,CAAC;QACpC,EAAE,EAAE,qBAAqB;QACzB,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,CAAC,wBAAwB,CAAC;QACtD,aAAa,EAAE,cAAc;QAC7B,KAAK,EAAE,OAAO,CAAC,WAAW;KAC3B,CAAC,CAAC;AACL,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,0BAA0B,CACxC,OAAoC;IAEpC,OAAO,8BAA8B,CAAC;QACpC,EAAE,EAAE,qBAAqB;QACzB,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,CAAC,6BAA6B,CAAC;QAC3D,aAAa,EAAE,KAAK;QACpB,KAAK,EAAE,OAAO,CAAC,MAAM;KACtB,CAAC,CAAC;AACL,CAAC;AAED,+DAA+D;AAC/D,MAAM,UAAU,yBAAyB,CAAC,OAAmC;IAC3E,OAAO,2BAA2B,CAAC;QACjC,EAAE,EAAE,yBAAyB;QAC7B,OAAO,EAAE,OAAO,CAAC,OAAO,IAAI,CAAC,wBAAwB,CAAC;QACtD,KAAK,EAAE,OAAO,CAAC,WAAW;KAC3B,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundled.d.ts","sourceRoot":"","sources":["../src/bundled.ts"],"names":[],"mappings":"AAKA,2BAAwB"}
|
package/dist/bundled.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bundled.js","sourceRoot":"","sources":["../src/bundled.ts"],"names":[],"mappings":"AAAA,aAAa;AACb,+BAA+B;AAC/B,oCAAoC;AAEpC,8DAA8D;AAC9D,2BAAwB"}
|