@basemaps/shared 7.0.0 → 7.3.0

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.
Files changed (142) hide show
  1. package/build/__tests__/api.test.d.ts +0 -1
  2. package/build/__tests__/api.test.js +38 -37
  3. package/build/__tests__/api.test.js.map +1 -1
  4. package/build/__tests__/env.test.d.ts +0 -1
  5. package/build/__tests__/env.test.js +7 -6
  6. package/build/__tests__/env.test.js.map +1 -1
  7. package/build/__tests__/fqdn.test.d.ts +1 -0
  8. package/build/__tests__/fqdn.test.js +39 -0
  9. package/build/__tests__/fqdn.test.js.map +1 -0
  10. package/build/__tests__/url.test.d.ts +0 -1
  11. package/build/__tests__/url.test.js +11 -10
  12. package/build/__tests__/url.test.js.map +1 -1
  13. package/build/__tests__/util.test.d.ts +0 -1
  14. package/build/__tests__/util.test.js +42 -41
  15. package/build/__tests__/util.test.js.map +1 -1
  16. package/build/__tests__/vdom.test.d.ts +0 -1
  17. package/build/__tests__/vdom.test.js +30 -29
  18. package/build/__tests__/vdom.test.js.map +1 -1
  19. package/build/api.d.ts +0 -1
  20. package/build/api.js +1 -1
  21. package/build/api.js.map +1 -1
  22. package/build/cli/__tests__/git.tag.test.d.ts +0 -1
  23. package/build/cli/__tests__/git.tag.test.js +6 -5
  24. package/build/cli/__tests__/git.tag.test.js.map +1 -1
  25. package/build/cli/base.d.ts +0 -2
  26. package/build/cli/base.js +30 -9
  27. package/build/cli/base.js.map +1 -1
  28. package/build/cli/git.tag.d.ts +0 -1
  29. package/build/cli/info.d.ts +0 -2
  30. package/build/cli/info.js +3 -5
  31. package/build/cli/info.js.map +1 -1
  32. package/build/config.d.ts +0 -1
  33. package/build/config.js +1 -1
  34. package/build/config.js.map +1 -1
  35. package/build/const.d.ts +0 -1
  36. package/build/const.js +1 -1
  37. package/build/const.js.map +1 -1
  38. package/build/dynamo/__tests__/config.dynamo.test.d.ts +0 -1
  39. package/build/dynamo/__tests__/config.dynamo.test.js +71 -41
  40. package/build/dynamo/__tests__/config.dynamo.test.js.map +1 -1
  41. package/build/dynamo/__tests__/config.imagery.test.d.ts +0 -1
  42. package/build/dynamo/__tests__/config.imagery.test.js +41 -47
  43. package/build/dynamo/__tests__/config.imagery.test.js.map +1 -1
  44. package/build/dynamo/__tests__/config.provider.test.d.ts +0 -1
  45. package/build/dynamo/__tests__/config.provider.test.js +6 -5
  46. package/build/dynamo/__tests__/config.provider.test.js.map +1 -1
  47. package/build/dynamo/dynamo.config.base.d.ts +0 -1
  48. package/build/dynamo/dynamo.config.base.js +18 -11
  49. package/build/dynamo/dynamo.config.base.js.map +1 -1
  50. package/build/dynamo/dynamo.config.cached.d.ts +0 -1
  51. package/build/dynamo/dynamo.config.cached.js +6 -1
  52. package/build/dynamo/dynamo.config.cached.js.map +1 -1
  53. package/build/dynamo/dynamo.config.d.ts +42 -5
  54. package/build/dynamo/dynamo.config.js +55 -8
  55. package/build/dynamo/dynamo.config.js.map +1 -1
  56. package/build/file.system.d.ts +26 -0
  57. package/build/file.system.js +98 -0
  58. package/build/file.system.js.map +1 -0
  59. package/build/file.system.middleware.d.ts +20 -0
  60. package/build/file.system.middleware.js +23 -0
  61. package/build/file.system.middleware.js.map +1 -0
  62. package/build/imagery.url.d.ts +67 -0
  63. package/build/imagery.url.js +50 -0
  64. package/build/imagery.url.js.map +1 -0
  65. package/build/index.d.ts +12 -10
  66. package/build/index.js +12 -8
  67. package/build/index.js.map +1 -1
  68. package/build/log.d.ts +0 -1
  69. package/build/log.js +3 -1
  70. package/build/log.js.map +1 -1
  71. package/build/logger.fatal.error.d.ts +0 -1
  72. package/build/logger.fatal.error.js +6 -0
  73. package/build/logger.fatal.error.js.map +1 -1
  74. package/build/url.d.ts +0 -1
  75. package/build/url.js.map +1 -1
  76. package/build/util.d.ts +0 -1
  77. package/build/util.js.map +1 -1
  78. package/build/vdom.d.ts +0 -1
  79. package/build/vdom.js +25 -0
  80. package/build/vdom.js.map +1 -1
  81. package/package.json +17 -13
  82. package/CHANGELOG.md +0 -1118
  83. package/build/__tests__/api.test.d.ts.map +0 -1
  84. package/build/__tests__/env.test.d.ts.map +0 -1
  85. package/build/__tests__/url.test.d.ts.map +0 -1
  86. package/build/__tests__/util.test.d.ts.map +0 -1
  87. package/build/__tests__/vdom.test.d.ts.map +0 -1
  88. package/build/api.d.ts.map +0 -1
  89. package/build/cli/__tests__/git.tag.test.d.ts.map +0 -1
  90. package/build/cli/base.d.ts.map +0 -1
  91. package/build/cli/git.tag.d.ts.map +0 -1
  92. package/build/cli/info.d.ts.map +0 -1
  93. package/build/cog/constants.d.ts +0 -5
  94. package/build/cog/constants.d.ts.map +0 -1
  95. package/build/cog/constants.js +0 -5
  96. package/build/cog/constants.js.map +0 -1
  97. package/build/cog/gdal.config.d.ts +0 -51
  98. package/build/cog/gdal.config.d.ts.map +0 -1
  99. package/build/cog/gdal.config.js +0 -23
  100. package/build/cog/gdal.config.js.map +0 -1
  101. package/build/cog/stac.d.ts +0 -32
  102. package/build/cog/stac.d.ts.map +0 -1
  103. package/build/cog/stac.js +0 -3
  104. package/build/cog/stac.js.map +0 -1
  105. package/build/cog/types.d.ts +0 -83
  106. package/build/cog/types.d.ts.map +0 -1
  107. package/build/cog/types.js +0 -2
  108. package/build/cog/types.js.map +0 -1
  109. package/build/composite.error.d.ts +0 -2
  110. package/build/composite.error.d.ts.map +0 -1
  111. package/build/composite.error.js +0 -2
  112. package/build/composite.error.js.map +0 -1
  113. package/build/config.d.ts.map +0 -1
  114. package/build/const.d.ts.map +0 -1
  115. package/build/dynamo/__tests__/config.dynamo.test.d.ts.map +0 -1
  116. package/build/dynamo/__tests__/config.imagery.test.d.ts.map +0 -1
  117. package/build/dynamo/__tests__/config.provider.test.d.ts.map +0 -1
  118. package/build/dynamo/dynamo.config.base.d.ts.map +0 -1
  119. package/build/dynamo/dynamo.config.cached.d.ts.map +0 -1
  120. package/build/dynamo/dynamo.config.d.ts.map +0 -1
  121. package/build/file/__tests__/file.local.test.d.ts +0 -2
  122. package/build/file/__tests__/file.local.test.d.ts.map +0 -1
  123. package/build/file/__tests__/file.local.test.js +0 -49
  124. package/build/file/__tests__/file.local.test.js.map +0 -1
  125. package/build/file/__tests__/file.operator.test.helper.d.ts +0 -22
  126. package/build/file/__tests__/file.operator.test.helper.d.ts.map +0 -1
  127. package/build/file/__tests__/file.operator.test.helper.js +0 -56
  128. package/build/file/__tests__/file.operator.test.helper.js.map +0 -1
  129. package/build/file/file.config.d.ts +0 -28
  130. package/build/file/file.config.d.ts.map +0 -1
  131. package/build/file/file.config.js +0 -11
  132. package/build/file/file.config.js.map +0 -1
  133. package/build/file/index.d.ts +0 -11
  134. package/build/file/index.d.ts.map +0 -1
  135. package/build/file/index.js +0 -56
  136. package/build/file/index.js.map +0 -1
  137. package/build/index.d.ts.map +0 -1
  138. package/build/log.d.ts.map +0 -1
  139. package/build/logger.fatal.error.d.ts.map +0 -1
  140. package/build/url.d.ts.map +0 -1
  141. package/build/util.d.ts.map +0 -1
  142. package/build/vdom.d.ts.map +0 -1
@@ -1,11 +1,18 @@
1
+ import { BatchGetItemCommand, GetItemCommand, PutItemCommand, } from '@aws-sdk/client-dynamodb';
2
+ import { marshall, unmarshall } from '@aws-sdk/util-dynamodb';
1
3
  import { BasemapsConfigObject } from '@basemaps/config';
2
- import DynamoDB from 'aws-sdk/clients/dynamodb.js';
3
4
  function toId(id) {
4
5
  return { id: { S: id } };
5
6
  }
6
7
  export class ConfigDynamoBase extends BasemapsConfigObject {
7
8
  constructor(cfg, prefix) {
8
9
  super(prefix);
10
+ Object.defineProperty(this, "cfg", {
11
+ enumerable: true,
12
+ configurable: true,
13
+ writable: true,
14
+ value: void 0
15
+ });
9
16
  this.cfg = cfg;
10
17
  }
11
18
  /** Ensure the ID is prefixed before querying */
@@ -21,22 +28,21 @@ export class ConfigDynamoBase extends BasemapsConfigObject {
21
28
  return true;
22
29
  }
23
30
  clone(rec) {
24
- return DynamoDB.Converter.unmarshall(DynamoDB.Converter.marshall(rec));
31
+ return unmarshall(marshall(rec));
25
32
  }
26
33
  async get(key) {
27
- const item = await this.db
28
- .getItem({ Key: { id: { S: this.ensureId(key) } }, TableName: this.cfg.tableName })
29
- .promise();
34
+ const req = new GetItemCommand({ Key: { id: { S: this.ensureId(key) } }, TableName: this.cfg.tableName });
35
+ const item = await this.db.send(req);
36
+ // .promise();
30
37
  if (item == null || item.Item == null)
31
38
  return null;
32
- const obj = DynamoDB.Converter.unmarshall(item.Item);
39
+ const obj = unmarshall(item.Item);
33
40
  if (this.is(obj))
34
41
  return obj;
35
42
  return null;
36
43
  }
37
44
  /** Get all records with the id */
38
45
  async getAll(keys) {
39
- var _a;
40
46
  let mappedKeys = [];
41
47
  for (const key of keys)
42
48
  mappedKeys.push(toId(this.ensureId(key)));
@@ -47,12 +53,12 @@ export class ConfigDynamoBase extends BasemapsConfigObject {
47
53
  mappedKeys = mappedKeys.length > 100 ? mappedKeys.slice(100) : [];
48
54
  let RequestItems = { [this.cfg.tableName]: { Keys } };
49
55
  while (RequestItems != null && Object.keys(RequestItems).length > 0) {
50
- const items = await this.db.batchGetItem({ RequestItems }).promise();
51
- const metadataItems = (_a = items.Responses) === null || _a === void 0 ? void 0 : _a[this.cfg.tableName];
56
+ const items = await this.db.send(new BatchGetItemCommand({ RequestItems }));
57
+ const metadataItems = items.Responses?.[this.cfg.tableName];
52
58
  if (metadataItems == null)
53
59
  throw new Error('Failed to fetch from ' + this.cfg.tableName);
54
60
  for (const row of metadataItems) {
55
- const item = DynamoDB.Converter.unmarshall(row);
61
+ const item = unmarshall(row);
56
62
  if (this.is(item))
57
63
  output.set(item.id, item);
58
64
  }
@@ -64,7 +70,8 @@ export class ConfigDynamoBase extends BasemapsConfigObject {
64
70
  }
65
71
  async put(record) {
66
72
  record.updatedAt = Date.now();
67
- await this.db.putItem({ TableName: this.cfg.tableName, Item: DynamoDB.Converter.marshall(record) }).promise();
73
+ const req = new PutItemCommand({ TableName: this.cfg.tableName, Item: marshall(record) });
74
+ await this.db.send(req);
68
75
  return record.id;
69
76
  }
70
77
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dynamo.config.base.js","sourceRoot":"","sources":["../../src/dynamo/dynamo.config.base.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"dynamo.config.base.js","sourceRoot":"","sources":["../../src/dynamo/dynamo.config.base.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,mBAAmB,EAInB,cAAc,EACd,cAAc,GACf,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,wBAAwB,CAAC;AAC9D,OAAO,EAAyC,oBAAoB,EAAgB,MAAM,kBAAkB,CAAC;AAK7G,SAAS,IAAI,CAAC,EAAU;IACtB,OAAO,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;AAC3B,CAAC;AAED,MAAM,OAAO,gBAAoD,SAAQ,oBAAuB;IAG9F,YAAY,GAAyB,EAAE,MAAoB;QACzD,KAAK,CAAC,MAAM,CAAC,CAAC;QAHhB;;;;;WAA0B;QAIxB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,gDAAgD;IAChD,QAAQ,CAAC,EAAU;QACjB,IAAI,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,GAAG,GAAG,CAAC;YAAE,OAAO,EAAE,CAAC;QAChD,MAAM,IAAI,KAAK,CAAC,oBAAoB,EAAE,wBAAwB,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC/E,CAAC;IAED,IAAY,EAAE;QACZ,OAAO,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC;IACzB,CAAC;IAEQ,WAAW;QAClB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,KAAK,CAAC,GAAM;QACV,OAAO,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAM,CAAC;IACxC,CAAC;IAEM,KAAK,CAAC,GAAG,CAAC,GAAW;QAC1B,MAAM,GAAG,GAAG,IAAI,cAAc,CAAC,EAAE,GAAG,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC;QAC1G,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACrC,cAAc;QACd,IAAI,IAAI,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI;YAAE,OAAO,IAAI,CAAC;QACnD,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC,IAAI,CAAe,CAAC;QAChD,IAAI,IAAI,CAAC,EAAE,CAAC,GAAG,CAAC;YAAE,OAAO,GAAG,CAAC;QAC7B,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kCAAkC;IAC3B,KAAK,CAAC,MAAM,CAAC,IAAiB;QACnC,IAAI,UAAU,GAAc,EAAE,CAAC;QAC/B,KAAK,MAAM,GAAG,IAAI,IAAI;YAAE,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;QAElE,MAAM,MAAM,GAAmB,IAAI,GAAG,EAAE,CAAC;QAEzC,OAAO,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,yDAAyD;YACzD,MAAM,IAAI,GAAG,UAAU,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;YAC7E,UAAU,GAAG,UAAU,CAAC,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;YAElE,IAAI,YAAY,GAA6C,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,EAAE,IAAI,EAAE,EAAE,CAAC;YAChG,OAAO,YAAY,IAAI,IAAI,IAAI,MAAM,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;gBACpE,MAAM,KAAK,GAA8B,MAAM,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,mBAAmB,CAAC,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;gBAEvG,MAAM,aAAa,GAAG,KAAK,CAAC,SAAS,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAC5D,IAAI,aAAa,IAAI,IAAI;oBAAE,MAAM,IAAI,KAAK,CAAC,uBAAuB,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBAEzF,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE,CAAC;oBAChC,MAAM,IAAI,GAAG,UAAU,CAAC,GAAG,CAAe,CAAC;oBAC3C,IAAI,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC;wBAAE,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;gBAC/C,CAAC;gBAED,kEAAkE;gBAClE,YAAY,GAAG,KAAK,CAAC,eAAe,CAAC;YACvC,CAAC;QACH,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,MAAS;QACjB,MAAM,CAAC,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QAC9B,MAAM,GAAG,GAAG,IAAI,cAAc,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,GAAG,CAAC,SAAS,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAC1F,MAAM,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACxB,OAAO,MAAM,CAAC,EAAE,CAAC;IACnB,CAAC;CACF"}
@@ -5,4 +5,3 @@ export declare class ConfigDynamoCached<T extends BaseConfig> extends ConfigDyna
5
5
  get(id: string): Promise<T | null>;
6
6
  getAll(ids: Set<string>): Promise<Map<string, T>>;
7
7
  }
8
- //# sourceMappingURL=dynamo.config.cached.d.ts.map
@@ -2,7 +2,12 @@ import { ConfigDynamoBase } from './dynamo.config.base.js';
2
2
  export class ConfigDynamoCached extends ConfigDynamoBase {
3
3
  constructor() {
4
4
  super(...arguments);
5
- this.cache = new Map();
5
+ Object.defineProperty(this, "cache", {
6
+ enumerable: true,
7
+ configurable: true,
8
+ writable: true,
9
+ value: new Map()
10
+ });
6
11
  }
7
12
  async get(id) {
8
13
  const queryKey = this.ensureId(id);
@@ -1 +1 @@
1
- {"version":3,"file":"dynamo.config.cached.js","sourceRoot":"","sources":["../../src/dynamo/dynamo.config.cached.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAM,OAAO,kBAAyC,SAAQ,gBAAmB;IAAjF;;QACE,UAAK,GAAmB,IAAI,GAAG,EAAE,CAAC;IAqCpC,CAAC;IAnCQ,KAAK,CAAC,GAAG,CAAC,EAAU;QACzB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACnC,IAAI,QAAQ,GAAyB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9D,IAAI,QAAQ,IAAI,IAAI,EAAE;YACpB,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACrC,IAAI,QAAQ,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAC;YAClC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;SACpC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEM,KAAK,CAAC,MAAM,CAAC,GAAgB;QAClC,MAAM,MAAM,GAAG,IAAI,GAAG,EAAa,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAElC,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE;YACpB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC1C,IAAI,QAAQ,IAAI,IAAI,EAAE;gBACpB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;aACvB;iBAAM;gBACL,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;aAChC;SACF;QAED,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE;YACpB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACxC,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE;gBAC9B,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;gBACxB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;aAC7B;SACF;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
1
+ {"version":3,"file":"dynamo.config.cached.js","sourceRoot":"","sources":["../../src/dynamo/dynamo.config.cached.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAE3D,MAAM,OAAO,kBAAyC,SAAQ,gBAAmB;IAAjF;;QACE;;;;mBAAwB,IAAI,GAAG,EAAE;WAAC;IAqCpC,CAAC;IAnCiB,KAAK,CAAC,GAAG,CAAC,EAAU;QAClC,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;QACnC,IAAI,QAAQ,GAAyB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9D,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;YACrB,QAAQ,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACrC,IAAI,QAAQ,IAAI,IAAI;gBAAE,OAAO,IAAI,CAAC;YAClC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACrC,CAAC;QAED,OAAO,QAAQ,CAAC;IAClB,CAAC;IAEe,KAAK,CAAC,MAAM,CAAC,GAAgB;QAC3C,MAAM,MAAM,GAAG,IAAI,GAAG,EAAa,CAAC;QACpC,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAElC,KAAK,MAAM,EAAE,IAAI,GAAG,EAAE,CAAC;YACrB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;YACnC,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YAC1C,IAAI,QAAQ,IAAI,IAAI,EAAE,CAAC;gBACrB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;YACxB,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC;YACjC,CAAC;QACH,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACrB,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;YACxC,KAAK,MAAM,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,EAAE,CAAC;gBAC/B,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;gBACxB,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC;YAC9B,CAAC;QACH,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;CACF"}
@@ -1,5 +1,5 @@
1
- import { BaseConfig, BasemapsConfigProvider, ConfigBundle, ConfigImagery, ConfigPrefix, ConfigProvider, ConfigTileSet, ConfigVectorStyle } from '@basemaps/config';
2
- import DynamoDB from 'aws-sdk/clients/dynamodb.js';
1
+ import { DynamoDB } from '@aws-sdk/client-dynamodb';
2
+ import { BaseConfig, BasemapsConfigProvider, ConfigPrefix, ConfigProvider, ConfigTileSet, ConfigVectorStyle } from '@basemaps/config';
3
3
  import { ConfigDynamoBase } from './dynamo.config.base.js';
4
4
  import { ConfigDynamoCached } from './dynamo.config.cached.js';
5
5
  export declare class ConfigProviderDynamo extends BasemapsConfigProvider {
@@ -7,12 +7,49 @@ export declare class ConfigProviderDynamo extends BasemapsConfigProvider {
7
7
  dynamo: DynamoDB;
8
8
  tableName: string;
9
9
  type: "dynamo";
10
- Imagery: ConfigDynamoCached<ConfigImagery>;
10
+ Imagery: ConfigDynamoCached<{
11
+ id: string;
12
+ name: string;
13
+ projection: import("@basemaps/geo").EpsgCode;
14
+ tileMatrix: string;
15
+ title: string;
16
+ uri: string;
17
+ bounds: {
18
+ x: number;
19
+ y: number;
20
+ width: number;
21
+ height: number;
22
+ };
23
+ files: {
24
+ name: string;
25
+ x: number;
26
+ y: number;
27
+ width: number;
28
+ height: number;
29
+ }[];
30
+ updatedAt?: number | undefined;
31
+ virtual?: boolean | undefined;
32
+ category?: string | undefined;
33
+ bands?: ("float16" | "float32" | "uint8" | "uint16")[] | undefined;
34
+ noData?: number | undefined;
35
+ overviews?: {
36
+ path: string;
37
+ minZoom: number;
38
+ maxZoom: number;
39
+ } | undefined;
40
+ }>;
11
41
  Style: ConfigDynamoCached<ConfigVectorStyle>;
12
42
  TileSet: ConfigDynamoBase<ConfigTileSet>;
13
43
  Provider: ConfigDynamoCached<ConfigProvider>;
14
- ConfigBundle: ConfigDynamoBase<ConfigBundle>;
44
+ ConfigBundle: ConfigDynamoBase<{
45
+ path: string;
46
+ id: string;
47
+ name: string;
48
+ hash: string;
49
+ updatedAt?: number | undefined;
50
+ virtual?: boolean | undefined;
51
+ assets?: string | undefined;
52
+ }>;
15
53
  constructor(tableName: string);
16
54
  record(): BaseConfig;
17
55
  }
18
- //# sourceMappingURL=dynamo.config.d.ts.map
@@ -1,17 +1,64 @@
1
+ import { DynamoDB } from '@aws-sdk/client-dynamodb';
1
2
  import { BasemapsConfigProvider, ConfigPrefix, } from '@basemaps/config';
2
- import DynamoDB from 'aws-sdk/clients/dynamodb.js';
3
3
  import { ConfigDynamoBase } from './dynamo.config.base.js';
4
4
  import { ConfigDynamoCached } from './dynamo.config.cached.js';
5
5
  export class ConfigProviderDynamo extends BasemapsConfigProvider {
6
6
  constructor(tableName) {
7
7
  super();
8
- this.Prefix = ConfigPrefix;
9
- this.type = 'dynamo';
10
- this.Imagery = new ConfigDynamoCached(this, ConfigPrefix.Imagery);
11
- this.Style = new ConfigDynamoCached(this, ConfigPrefix.Style);
12
- this.TileSet = new ConfigDynamoBase(this, ConfigPrefix.TileSet);
13
- this.Provider = new ConfigDynamoCached(this, ConfigPrefix.Provider);
14
- this.ConfigBundle = new ConfigDynamoBase(this, ConfigPrefix.ConfigBundle);
8
+ Object.defineProperty(this, "Prefix", {
9
+ enumerable: true,
10
+ configurable: true,
11
+ writable: true,
12
+ value: ConfigPrefix
13
+ });
14
+ Object.defineProperty(this, "dynamo", {
15
+ enumerable: true,
16
+ configurable: true,
17
+ writable: true,
18
+ value: void 0
19
+ });
20
+ Object.defineProperty(this, "tableName", {
21
+ enumerable: true,
22
+ configurable: true,
23
+ writable: true,
24
+ value: void 0
25
+ });
26
+ Object.defineProperty(this, "type", {
27
+ enumerable: true,
28
+ configurable: true,
29
+ writable: true,
30
+ value: 'dynamo'
31
+ });
32
+ Object.defineProperty(this, "Imagery", {
33
+ enumerable: true,
34
+ configurable: true,
35
+ writable: true,
36
+ value: new ConfigDynamoCached(this, ConfigPrefix.Imagery)
37
+ });
38
+ Object.defineProperty(this, "Style", {
39
+ enumerable: true,
40
+ configurable: true,
41
+ writable: true,
42
+ value: new ConfigDynamoCached(this, ConfigPrefix.Style)
43
+ });
44
+ Object.defineProperty(this, "TileSet", {
45
+ enumerable: true,
46
+ configurable: true,
47
+ writable: true,
48
+ value: new ConfigDynamoBase(this, ConfigPrefix.TileSet)
49
+ });
50
+ Object.defineProperty(this, "Provider", {
51
+ enumerable: true,
52
+ configurable: true,
53
+ writable: true,
54
+ value: new ConfigDynamoCached(this, ConfigPrefix.Provider)
55
+ });
56
+ Object.defineProperty(this, "ConfigBundle", {
57
+ enumerable: true,
58
+ configurable: true,
59
+ writable: true,
60
+ value: new ConfigDynamoBase(this, ConfigPrefix.ConfigBundle)
61
+ });
15
62
  this.dynamo = new DynamoDB({ region: 'ap-southeast-2' });
16
63
  this.tableName = tableName;
17
64
  }
@@ -1 +1 @@
1
- {"version":3,"file":"dynamo.config.js","sourceRoot":"","sources":["../../src/dynamo/dynamo.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,sBAAsB,EAGtB,YAAY,GAIb,MAAM,kBAAkB,CAAC;AAC1B,OAAO,QAAQ,MAAM,6BAA6B,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,MAAM,OAAO,oBAAqB,SAAQ,sBAAsB;IAa9D,YAAY,SAAiB;QAC3B,KAAK,EAAE,CAAC;QAbV,WAAM,GAAG,YAAY,CAAC;QAItB,SAAI,GAAG,QAAiB,CAAC;QAEzB,YAAO,GAAG,IAAI,kBAAkB,CAAgB,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;QAC5E,UAAK,GAAG,IAAI,kBAAkB,CAAoB,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC,CAAC;QAC5E,YAAO,GAAG,IAAI,gBAAgB,CAAgB,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;QAC1E,aAAQ,GAAG,IAAI,kBAAkB,CAAiB,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC,CAAC;QAC/E,iBAAY,GAAG,IAAI,gBAAgB,CAAe,IAAI,EAAE,YAAY,CAAC,YAAY,CAAC,CAAC;QAIjF,IAAI,CAAC,MAAM,GAAG,IAAI,QAAQ,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,MAAM;QACJ,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;IAC9C,CAAC;CACF"}
1
+ {"version":3,"file":"dynamo.config.js","sourceRoot":"","sources":["../../src/dynamo/dynamo.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,OAAO,EAEL,sBAAsB,EAGtB,YAAY,GAIb,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,MAAM,OAAO,oBAAqB,SAAQ,sBAAsB;IAa9D,YAAY,SAAiB;QAC3B,KAAK,EAAE,CAAC;QAbV;;;;mBAAS,YAAY;WAAC;QAEtB;;;;;WAAiB;QACjB;;;;;WAAkB;QAClB;;;;mBAAO,QAAiB;WAAC;QAEzB;;;;mBAAU,IAAI,kBAAkB,CAAgB,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC;WAAC;QAC5E;;;;mBAAQ,IAAI,kBAAkB,CAAoB,IAAI,EAAE,YAAY,CAAC,KAAK,CAAC;WAAC;QAC5E;;;;mBAAU,IAAI,gBAAgB,CAAgB,IAAI,EAAE,YAAY,CAAC,OAAO,CAAC;WAAC;QAC1E;;;;mBAAW,IAAI,kBAAkB,CAAiB,IAAI,EAAE,YAAY,CAAC,QAAQ,CAAC;WAAC;QAC/E;;;;mBAAe,IAAI,gBAAgB,CAAe,IAAI,EAAE,YAAY,CAAC,YAAY,CAAC;WAAC;QAIjF,IAAI,CAAC,MAAM,GAAG,IAAI,QAAQ,CAAC,EAAE,MAAM,EAAE,gBAAgB,EAAE,CAAC,CAAC;QACzD,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;IAC7B,CAAC;IAED,MAAM;QACJ,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,OAAO,EAAE,EAAE,EAAE,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC;IAC9C,CAAC;CACF"}
@@ -0,0 +1,26 @@
1
+ import { FsAwsS3 } from '@chunkd/fs-aws';
2
+ import { SourceCache, SourceChunk } from '@chunkd/middleware';
3
+ import type { SourceCallback, SourceRequest } from '@chunkd/source';
4
+ export declare const s3Fs: FsAwsS3;
5
+ export declare const s3FsPublic: FsAwsS3;
6
+ export declare const Fsa: import("@chunkd/fs/build/src/file.system.abstraction.js").FileSystemAbstraction;
7
+ export declare const FsaChunk: SourceChunk;
8
+ export declare const FsaCache: SourceCache;
9
+ export declare const FsaLog: {
10
+ name: string;
11
+ count: number;
12
+ requests: string[];
13
+ fetch(req: SourceRequest, next: SourceCallback): Promise<ArrayBuffer>;
14
+ reset(): void;
15
+ };
16
+ /**
17
+ * When chunkd moves to URLs this can be removed
18
+ *
19
+ * But reading a file as a string with `file://....` does not work in node
20
+ * it needs to be converted with `fileURLToPath`
21
+ */
22
+ export declare function urlToString(u: URL): string;
23
+ /**
24
+ * Ensure a folder has a trailing slash
25
+ **/
26
+ export declare function stringToUrlFolder(str: string): URL;
@@ -0,0 +1,98 @@
1
+ import { fileURLToPath } from 'node:url';
2
+ import { S3Client } from '@aws-sdk/client-s3';
3
+ import { sha256base58 } from '@basemaps/config';
4
+ import { fsa, FsHttp } from '@chunkd/fs';
5
+ import { AwsS3CredentialProvider, FsAwsS3 } from '@chunkd/fs-aws';
6
+ import { SourceCache, SourceChunk } from '@chunkd/middleware';
7
+ import { Env } from './const.js';
8
+ import { Fqdn } from './file.system.middleware.js';
9
+ import { LogConfig } from './log.js';
10
+ export const s3Fs = new FsAwsS3(new S3Client({
11
+ /**
12
+ * We buckets in multiple regions we do not know ahead of time which bucket is in what region
13
+ *
14
+ * So the S3 Client will have to follow the endpoints, this adds a bit of extra latency as requests have to be retried
15
+ */
16
+ followRegionRedirects: true,
17
+ }));
18
+ // For public URLS use --no-sign-request
19
+ export const s3FsPublic = new FsAwsS3(new S3Client({
20
+ followRegionRedirects: true,
21
+ signer: {
22
+ sign: async (req) => req,
23
+ },
24
+ }));
25
+ /** Ensure middleware are added to all s3 clients that are created */
26
+ function applyS3MiddleWare(fs) {
27
+ if (fs.s3 == null)
28
+ return;
29
+ fs.s3.middlewareStack.add(Fqdn.middleware, { name: 'FQDN', step: 'finalizeRequest' });
30
+ }
31
+ applyS3MiddleWare(s3FsPublic);
32
+ applyS3MiddleWare(s3Fs);
33
+ const credentials = new AwsS3CredentialProvider();
34
+ credentials.onFileSystemCreated = (acc, fs) => {
35
+ LogConfig.get().debug({ prefix: acc.prefix, roleArn: acc.roleArn }, 'FileSystem:Register');
36
+ applyS3MiddleWare(fs);
37
+ fsa.register(acc.prefix, fs);
38
+ };
39
+ const credentialPath = Env.get(Env.AwsRoleConfigPath);
40
+ if (credentialPath)
41
+ credentials.registerConfig(fsa.toUrl(credentialPath), s3Fs);
42
+ s3Fs.credentials = credentials;
43
+ fsa.register('https://', new FsHttp());
44
+ fsa.register('s3://', s3Fs);
45
+ fsa.register('s3://nz-imagery', s3FsPublic);
46
+ fsa.register('s3://nz-elevation', s3FsPublic);
47
+ export const Fsa = fsa;
48
+ export const FsaChunk = new SourceChunk({ size: 128 * 1024 });
49
+ fsa.middleware.push(FsaChunk);
50
+ export const FsaCache = new SourceCache({ size: 256 * 1024 * 1024 }); // 256MB of cache
51
+ fsa.middleware.push(FsaCache);
52
+ // Logging middleware
53
+ export const FsaLog = {
54
+ name: 'logger',
55
+ count: 0,
56
+ requests: [],
57
+ async fetch(req, next) {
58
+ this.count++;
59
+ const requestId = sha256base58(JSON.stringify({ source: req.source.url.href, offset: req.offset, length: req.length }));
60
+ this.requests.push(requestId);
61
+ const startTime = performance.now();
62
+ const res = await next(req);
63
+ LogConfig.get().trace({
64
+ source: req.source.url.href,
65
+ offset: req.offset,
66
+ length: req.length,
67
+ requestId,
68
+ duration: performance.now() - startTime,
69
+ }, 'fetch');
70
+ return res;
71
+ },
72
+ reset() {
73
+ this.count = 0;
74
+ this.requests = [];
75
+ },
76
+ };
77
+ fsa.middleware.push(FsaLog);
78
+ /**
79
+ * When chunkd moves to URLs this can be removed
80
+ *
81
+ * But reading a file as a string with `file://....` does not work in node
82
+ * it needs to be converted with `fileURLToPath`
83
+ */
84
+ export function urlToString(u) {
85
+ if (u.protocol === 'file:')
86
+ return fileURLToPath(u);
87
+ return u.href;
88
+ }
89
+ /**
90
+ * Ensure a folder has a trailing slash
91
+ **/
92
+ export function stringToUrlFolder(str) {
93
+ const url = fsa.toUrl(str);
94
+ if (url.pathname.endsWith('/'))
95
+ return url;
96
+ return new URL(url.href + '/');
97
+ }
98
+ //# sourceMappingURL=file.system.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.system.js","sourceRoot":"","sources":["../src/file.system.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,20 @@
1
+ import { FinalizeRequestMiddleware, MetadataBearer } from '@smithy/types';
2
+ /** Force fully qualifed domain names (FQDN) for s3 requests to save DNS lookups */
3
+ interface Fqdn {
4
+ /**
5
+ * Should S3 requests be converted to Fully Qualified domains (FQDN)
6
+ *
7
+ * @default false
8
+ */
9
+ isForcedFqdn: boolean;
10
+ /**
11
+ * AWS SDK middleware function to force fully qualified domain name on s3 requests
12
+ *
13
+ * AWS S3 inside of kubernetes triggers a lot of DNS requests
14
+ * by forcing a fully qualified domain name lookup (trailing ".")
15
+ * it greatly reduces the number of DNS requests we make
16
+ */
17
+ middleware: FinalizeRequestMiddleware<object, MetadataBearer>;
18
+ }
19
+ export declare const Fqdn: Fqdn;
20
+ export {};
@@ -0,0 +1,23 @@
1
+ export const Fqdn = {
2
+ isForcedFqdn: false,
3
+ middleware: (next) => {
4
+ return (args) => {
5
+ // Forced FQDN is disabled
6
+ if (Fqdn.isForcedFqdn === false)
7
+ return next(args);
8
+ if (hasHostName(args.request) && args.request.hostname.endsWith('.s3.ap-southeast-2.amazonaws.com')) {
9
+ args.request.hostname += '.';
10
+ }
11
+ return next(args);
12
+ };
13
+ },
14
+ };
15
+ /** Check to see if hostname exists inside of a object */
16
+ function hasHostName(x) {
17
+ if (x == null)
18
+ return false;
19
+ if (typeof x === 'object' && 'hostname' in x && typeof x.hostname === 'string')
20
+ return true;
21
+ return false;
22
+ }
23
+ //# sourceMappingURL=file.system.middleware.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.system.middleware.js","sourceRoot":"","sources":["../src/file.system.middleware.ts"],"names":[],"mappings":"AAmBA,MAAM,CAAC,MAAM,IAAI,GAAS;IACxB,YAAY,EAAE,KAAK;IACnB,UAAU,EAAE,CAAC,IAAI,EAAE,EAAE;QACnB,OAAO,CAAC,IAAI,EAAE,EAAE;YACd,0BAA0B;YAC1B,IAAI,IAAI,CAAC,YAAY,KAAK,KAAK;gBAAE,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;YAEnD,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAC,kCAAkC,CAAC,EAAE,CAAC;gBACpG,IAAI,CAAC,OAAO,CAAC,QAAQ,IAAI,GAAG,CAAC;YAC/B,CAAC;YACD,OAAO,IAAI,CAAC,IAAI,CAAC,CAAC;QACpB,CAAC,CAAC;IACJ,CAAC;CACF,CAAC;AAEF,yDAAyD;AACzD,SAAS,WAAW,CAAC,CAAU;IAC7B,IAAI,CAAC,IAAI,IAAI;QAAE,OAAO,KAAK,CAAC;IAC5B,IAAI,OAAO,CAAC,KAAK,QAAQ,IAAI,UAAU,IAAI,CAAC,IAAI,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC;IAC5F,OAAO,KAAK,CAAC;AACf,CAAC"}
@@ -0,0 +1,67 @@
1
+ import { ConfigImagery } from '@basemaps/config';
2
+ import { Size } from '@basemaps/geo';
3
+ export declare const PreviewSize: {
4
+ width: number;
5
+ height: number;
6
+ };
7
+ export declare function getImageryCenterZoom(im: ConfigImagery, previewSize: Size): {
8
+ lat: number;
9
+ lon: number;
10
+ zoom: number;
11
+ };
12
+ export interface PreviewConfig {
13
+ /** imagery to create a preview URL for */
14
+ imagery: ConfigImagery;
15
+ /** output preview size */
16
+ size?: Size;
17
+ /** optional configuration location */
18
+ config?: string;
19
+ /** optional pipeline to use */
20
+ pipeline?: string;
21
+ }
22
+ export interface PreviewResult {
23
+ /**
24
+ * relative URL to the preview location
25
+ *
26
+ * @example
27
+ *
28
+ * "/v1/preview/..."
29
+ */
30
+ url: string;
31
+ /**
32
+ * standardized name of the layer
33
+ */
34
+ name: string;
35
+ /**
36
+ * location slug useful for basemaps links
37
+ *
38
+ * @example "@-36.5518610,174.8770907,z8"
39
+ */
40
+ slug: string;
41
+ /**
42
+ * Components of the slug broken out into their parts
43
+ */
44
+ location: {
45
+ lat: number;
46
+ lon: number;
47
+ zoom: number;
48
+ };
49
+ /**
50
+ * Query string parameters for t he preview including config and pipeline if needed
51
+ *
52
+ * @example
53
+ * "?config=s3://...&pipeline=terrain-rgb"
54
+ */
55
+ query: string;
56
+ }
57
+ export declare function getPreviewUrl(ctx: PreviewConfig): PreviewResult;
58
+ /**
59
+ * Create a query string for a preview URL using pipeline and configuration if they are needed
60
+ *
61
+ * @param ctx
62
+ * @returns a query string prefixed with `?` if it is needed, empty string otherwise
63
+ */
64
+ export declare function getPreviewQuery(ctx: {
65
+ config?: string | null;
66
+ pipeline?: string | null;
67
+ }): string;
@@ -0,0 +1,50 @@
1
+ import { standardizeLayerName } from '@basemaps/config';
2
+ import { Projection, TileMatrixSets } from '@basemaps/geo';
3
+ export const PreviewSize = { width: 1200, height: 630 };
4
+ export function getImageryCenterZoom(im, previewSize) {
5
+ const center = { x: im.bounds.x + im.bounds.width / 2, y: im.bounds.y + im.bounds.height / 2 };
6
+ // Find a approximate GSD needed to show most of the imagery
7
+ const aspectWidth = im.bounds.width / previewSize.width;
8
+ const aspectHeight = im.bounds.height / previewSize.height;
9
+ const bestAspect = Math.min(aspectHeight, aspectWidth);
10
+ const tms = TileMatrixSets.find(im.tileMatrix);
11
+ if (tms == null)
12
+ throw new Error(`Failed to lookup tileMatrix: ${im.tileMatrix}`);
13
+ const proj = Projection.get(tms);
14
+ const centerLatLon = proj.toWgs84([center.x, center.y]);
15
+ const targetZoom = Math.max(tms.findBestZoom(bestAspect) - 12, 0);
16
+ return { lat: centerLatLon[1], lon: centerLatLon[0], zoom: targetZoom };
17
+ }
18
+ export function getPreviewUrl(ctx) {
19
+ const location = getImageryCenterZoom(ctx.imagery, ctx.size ?? PreviewSize);
20
+ const targetZoom = location.zoom;
21
+ const lat = location.lat.toFixed(7);
22
+ const lon = location.lon.toFixed(7);
23
+ const slug = `@${lat},${lon},z${location.zoom}`;
24
+ const name = standardizeLayerName(ctx.imagery.name);
25
+ const query = getPreviewQuery(ctx);
26
+ return {
27
+ name,
28
+ location,
29
+ slug,
30
+ query,
31
+ url: `/v1/preview/${name}/${ctx.imagery.tileMatrix}/${targetZoom}/${lon}/${lat}${query}`,
32
+ };
33
+ }
34
+ /**
35
+ * Create a query string for a preview URL using pipeline and configuration if they are needed
36
+ *
37
+ * @param ctx
38
+ * @returns a query string prefixed with `?` if it is needed, empty string otherwise
39
+ */
40
+ export function getPreviewQuery(ctx) {
41
+ const urlSearch = new URLSearchParams();
42
+ if (ctx.config)
43
+ urlSearch.set('config', ctx.config);
44
+ if (ctx.pipeline)
45
+ urlSearch.set('pipeline', ctx.pipeline);
46
+ if (urlSearch.size === 0)
47
+ return '';
48
+ return '?' + urlSearch.toString();
49
+ }
50
+ //# sourceMappingURL=imagery.url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"imagery.url.js","sourceRoot":"","sources":["../src/imagery.url.ts"],"names":[],"mappings":"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"}
package/build/index.d.ts CHANGED
@@ -1,15 +1,17 @@
1
+ export * from './api.js';
2
+ export { getDefaultConfig, setDefaultConfig } from './config.js';
1
3
  export { Const, Env } from './const.js';
4
+ export { ConfigDynamoBase } from './dynamo/dynamo.config.base.js';
5
+ export { ConfigProviderDynamo } from './dynamo/dynamo.config.js';
6
+ export { Fsa as fsa, FsaCache, FsaChunk, FsaLog, stringToUrlFolder, urlToString } from './file.system.js';
7
+ export { Fqdn } from './file.system.middleware.js';
8
+ export { getImageryCenterZoom, getPreviewQuery, getPreviewUrl, PreviewSize } from './imagery.url.js';
2
9
  export { LogConfig, LogType } from './log.js';
3
- export * from './api.js';
4
- export { V, VNode, VNodeElement, VNodeText } from './vdom.js';
5
10
  export { LoggerFatalError } from './logger.fatal.error.js';
6
- export { setDefaultConfig, getDefaultConfig } from './config.js';
7
11
  export { toQueryString } from './url.js';
8
- export { CompositeError } from './composite.error.js';
9
- export { ConfigProviderDynamo } from './dynamo/dynamo.config.js';
10
- export { ConfigDynamoBase } from './dynamo/dynamo.config.base.js';
11
- export { CogJobJson, CogBuilderMetadata, CogJob, FeatureCollectionWithCrs, SourceMetadata } from './cog/types.js';
12
- export { AlignedLevel, CoveringFraction } from './cog/constants.js';
13
- export * from './file/index.js';
14
12
  export * from './util.js';
15
- //# sourceMappingURL=index.d.ts.map
13
+ export { V, VNode, VNodeElement, VNodeText } from './vdom.js';
14
+ export { FsMemory } from '@chunkd/fs';
15
+ export { SourceMemory } from '@chunkd/source-memory';
16
+ export { Tiff, TiffTag } from '@cogeotiff/core';
17
+ export { Cotar } from '@cotar/core';
package/build/index.js CHANGED
@@ -1,16 +1,20 @@
1
1
  // Force aws-sdk connection reuse
2
2
  process.env['AWS_NODEJS_CONNECTION_REUSE_ENABLED'] = '1';
3
+ export * from './api.js';
4
+ export { getDefaultConfig, setDefaultConfig } from './config.js';
3
5
  export { Const, Env } from './const.js';
6
+ export { ConfigDynamoBase } from './dynamo/dynamo.config.base.js';
7
+ export { ConfigProviderDynamo } from './dynamo/dynamo.config.js';
8
+ export { Fsa as fsa, FsaCache, FsaChunk, FsaLog, stringToUrlFolder, urlToString } from './file.system.js';
9
+ export { Fqdn } from './file.system.middleware.js';
10
+ export { getImageryCenterZoom, getPreviewQuery, getPreviewUrl, PreviewSize } from './imagery.url.js';
4
11
  export { LogConfig } from './log.js';
5
- export * from './api.js';
6
- export { V, VNode, VNodeElement, VNodeText } from './vdom.js';
7
12
  export { LoggerFatalError } from './logger.fatal.error.js';
8
- export { setDefaultConfig, getDefaultConfig } from './config.js';
9
13
  export { toQueryString } from './url.js';
10
- export { CompositeError } from './composite.error.js';
11
- export { ConfigProviderDynamo } from './dynamo/dynamo.config.js';
12
- export { ConfigDynamoBase } from './dynamo/dynamo.config.base.js';
13
- export { AlignedLevel, CoveringFraction } from './cog/constants.js';
14
- export * from './file/index.js';
15
14
  export * from './util.js';
15
+ export { V, VNode, VNodeElement, VNodeText } from './vdom.js';
16
+ export { FsMemory } from '@chunkd/fs';
17
+ export { SourceMemory } from '@chunkd/source-memory';
18
+ export { Tiff, TiffTag } from '@cogeotiff/core';
19
+ export { Cotar } from '@cotar/core';
16
20
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,GAAG,GAAG,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,SAAS,EAAW,MAAM,UAAU,CAAC;AAC9C,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAElE,OAAO,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AAEpE,cAAc,iBAAiB,CAAC;AAChC,cAAc,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,GAAG,GAAG,CAAC;AACzD,cAAc,UAAU,CAAC;AACzB,OAAO,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,aAAa,CAAC;AACjE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,YAAY,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAAE,GAAG,IAAI,GAAG,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC1G,OAAO,EAAE,IAAI,EAAE,MAAM,6BAA6B,CAAC;AACnD,OAAO,EAAE,oBAAoB,EAAE,eAAe,EAAE,aAAa,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AACrG,OAAO,EAAE,SAAS,EAAW,MAAM,UAAU,CAAC;AAC9C,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AACzC,cAAc,WAAW,CAAC;AAC1B,OAAO,EAAE,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAC9D,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC"}