@etohq/utils 1.5.1-alpha.3 → 1.5.1-alpha.4

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 (262) hide show
  1. package/dist/access-link/case-sensitivity.d.ts +14 -0
  2. package/dist/access-link/case-sensitivity.d.ts.map +1 -0
  3. package/dist/access-link/case-sensitivity.js +57 -0
  4. package/dist/access-link/case-sensitivity.js.map +1 -0
  5. package/dist/access-link/check-if-key-exists.d.ts +7 -0
  6. package/dist/access-link/check-if-key-exists.d.ts.map +1 -0
  7. package/dist/access-link/check-if-key-exists.js +36 -0
  8. package/dist/access-link/check-if-key-exists.js.map +1 -0
  9. package/dist/access-link/index.d.ts +11 -0
  10. package/dist/access-link/index.d.ts.map +1 -0
  11. package/dist/access-link/index.js +27 -0
  12. package/dist/access-link/index.js.map +1 -0
  13. package/dist/access-link/key-checks.d.ts +12 -0
  14. package/dist/access-link/key-checks.d.ts.map +1 -0
  15. package/dist/access-link/key-checks.js +78 -0
  16. package/dist/access-link/key-checks.js.map +1 -0
  17. package/dist/access-link/link-resolution.d.ts +26 -0
  18. package/dist/access-link/link-resolution.d.ts.map +1 -0
  19. package/dist/access-link/link-resolution.js +111 -0
  20. package/dist/access-link/link-resolution.js.map +1 -0
  21. package/dist/access-link/link-utils.d.ts +23 -0
  22. package/dist/access-link/link-utils.d.ts.map +1 -0
  23. package/dist/access-link/link-utils.js +61 -0
  24. package/dist/access-link/link-utils.js.map +1 -0
  25. package/dist/access-link/process-key.d.ts +5 -0
  26. package/dist/access-link/process-key.d.ts.map +1 -0
  27. package/dist/access-link/process-key.js +58 -0
  28. package/dist/access-link/process-key.js.map +1 -0
  29. package/dist/access-link/process-utils.d.ts +19 -0
  30. package/dist/access-link/process-utils.d.ts.map +1 -0
  31. package/dist/access-link/process-utils.js +52 -0
  32. package/dist/access-link/process-utils.js.map +1 -0
  33. package/dist/access-link/transform-link.d.ts +47 -0
  34. package/dist/access-link/transform-link.d.ts.map +1 -0
  35. package/dist/access-link/transform-link.js +25 -0
  36. package/dist/access-link/transform-link.js.map +1 -0
  37. package/dist/access-link/url-detection.d.ts +10 -0
  38. package/dist/access-link/url-detection.d.ts.map +1 -0
  39. package/dist/access-link/url-detection.js +63 -0
  40. package/dist/access-link/url-detection.js.map +1 -0
  41. package/dist/access-link/validation-utils.d.ts +23 -0
  42. package/dist/access-link/validation-utils.d.ts.map +1 -0
  43. package/dist/access-link/validation-utils.js +57 -0
  44. package/dist/access-link/validation-utils.js.map +1 -0
  45. package/dist/analytics/detect-bot.d.ts +2 -0
  46. package/dist/analytics/detect-bot.d.ts.map +1 -0
  47. package/dist/analytics/detect-bot.js +21 -0
  48. package/dist/analytics/detect-bot.js.map +1 -0
  49. package/dist/analytics/detect-qr.d.ts +2 -0
  50. package/dist/analytics/detect-qr.d.ts.map +1 -0
  51. package/dist/analytics/detect-qr.js +10 -0
  52. package/dist/analytics/detect-qr.js.map +1 -0
  53. package/dist/analytics/get-click-event.d.ts +8 -0
  54. package/dist/analytics/get-click-event.d.ts.map +1 -0
  55. package/dist/analytics/get-click-event.js +24 -0
  56. package/dist/analytics/get-click-event.js.map +1 -0
  57. package/dist/analytics/get-geolocation.d.ts +12 -0
  58. package/dist/analytics/get-geolocation.d.ts.map +1 -0
  59. package/dist/analytics/get-geolocation.js +51 -0
  60. package/dist/analytics/get-geolocation.js.map +1 -0
  61. package/dist/analytics/get-grant-event.d.ts +8 -0
  62. package/dist/analytics/get-grant-event.d.ts.map +1 -0
  63. package/dist/analytics/get-grant-event.js +24 -0
  64. package/dist/analytics/get-grant-event.js.map +1 -0
  65. package/dist/analytics/get-import-error-logs.d.ts +17 -0
  66. package/dist/analytics/get-import-error-logs.d.ts.map +1 -0
  67. package/dist/analytics/get-import-error-logs.js +23 -0
  68. package/dist/analytics/get-import-error-logs.js.map +1 -0
  69. package/dist/analytics/get-lead-events.d.ts +17 -0
  70. package/dist/analytics/get-lead-events.d.ts.map +1 -0
  71. package/dist/analytics/get-lead-events.js +17 -0
  72. package/dist/analytics/get-lead-events.js.map +1 -0
  73. package/dist/analytics/get-webhook-events.d.ts +17 -0
  74. package/dist/analytics/get-webhook-events.d.ts.map +1 -0
  75. package/dist/analytics/get-webhook-events.js +22 -0
  76. package/dist/analytics/get-webhook-events.js.map +1 -0
  77. package/dist/analytics/index.d.ts +18 -0
  78. package/dist/analytics/index.d.ts.map +1 -1
  79. package/dist/analytics/index.js +18 -0
  80. package/dist/analytics/index.js.map +1 -1
  81. package/dist/analytics/log-conversion-events.d.ts +6 -0
  82. package/dist/analytics/log-conversion-events.d.ts.map +1 -0
  83. package/dist/analytics/log-conversion-events.js +20 -0
  84. package/dist/analytics/log-conversion-events.js.map +1 -0
  85. package/dist/analytics/log-import-error.d.ts +6 -0
  86. package/dist/analytics/log-import-error.d.ts.map +1 -0
  87. package/dist/analytics/log-import-error.js +18 -0
  88. package/dist/analytics/log-import-error.js.map +1 -0
  89. package/dist/analytics/parse-user-agent.d.ts +13 -0
  90. package/dist/analytics/parse-user-agent.d.ts.map +1 -0
  91. package/dist/analytics/parse-user-agent.js +174 -0
  92. package/dist/analytics/parse-user-agent.js.map +1 -0
  93. package/dist/analytics/record-approval.d.ts +56 -0
  94. package/dist/analytics/record-approval.d.ts.map +1 -0
  95. package/dist/analytics/record-approval.js +32 -0
  96. package/dist/analytics/record-approval.js.map +1 -0
  97. package/dist/analytics/record-click.d.ts +32 -0
  98. package/dist/analytics/record-click.d.ts.map +1 -0
  99. package/dist/analytics/record-click.js +136 -0
  100. package/dist/analytics/record-click.js.map +1 -0
  101. package/dist/analytics/record-lead.d.ts +24 -0
  102. package/dist/analytics/record-lead.d.ts.map +1 -0
  103. package/dist/analytics/record-lead.js +72 -0
  104. package/dist/analytics/record-lead.js.map +1 -0
  105. package/dist/analytics/record-link.d.ts +106 -0
  106. package/dist/analytics/record-link.d.ts.map +1 -0
  107. package/dist/analytics/record-link.js +78 -0
  108. package/dist/analytics/record-link.js.map +1 -0
  109. package/dist/analytics/record-sale.d.ts +10 -0
  110. package/dist/analytics/record-sale.d.ts.map +1 -0
  111. package/dist/analytics/record-sale.js +35 -0
  112. package/dist/analytics/record-sale.js.map +1 -0
  113. package/dist/analytics/record-webhook-event.d.ts +26 -0
  114. package/dist/analytics/record-webhook-event.d.ts.map +1 -0
  115. package/dist/analytics/record-webhook-event.js +22 -0
  116. package/dist/analytics/record-webhook-event.js.map +1 -0
  117. package/dist/analytics/schemas.d.ts +257 -0
  118. package/dist/analytics/schemas.d.ts.map +1 -0
  119. package/dist/analytics/schemas.js +99 -0
  120. package/dist/analytics/schemas.js.map +1 -0
  121. package/dist/analytics/tinybird-client.d.ts +6 -0
  122. package/dist/analytics/tinybird-client.d.ts.map +1 -0
  123. package/dist/analytics/tinybird-client.js +11 -0
  124. package/dist/analytics/tinybird-client.js.map +1 -0
  125. package/dist/common/constants.d.ts +24 -0
  126. package/dist/common/constants.d.ts.map +1 -0
  127. package/dist/common/constants.js +196 -0
  128. package/dist/common/constants.js.map +1 -0
  129. package/dist/common/domains.d.ts +8 -0
  130. package/dist/common/domains.d.ts.map +1 -0
  131. package/dist/common/domains.js +88 -0
  132. package/dist/common/domains.js.map +1 -0
  133. package/dist/common/dynamic-import.d.ts.map +1 -1
  134. package/dist/common/dynamic-import.js +24 -1
  135. package/dist/common/dynamic-import.js.map +1 -1
  136. package/dist/common/fetch-with-retry.d.ts +6 -0
  137. package/dist/common/fetch-with-retry.d.ts.map +1 -0
  138. package/dist/common/fetch-with-retry.js +63 -0
  139. package/dist/common/fetch-with-retry.js.map +1 -0
  140. package/dist/common/get-identity-hash.d.ts +2 -0
  141. package/dist/common/get-identity-hash.d.ts.map +1 -0
  142. package/dist/common/get-identity-hash.js +19 -0
  143. package/dist/common/get-identity-hash.js.map +1 -0
  144. package/dist/common/index.d.ts +3 -0
  145. package/dist/common/index.d.ts.map +1 -1
  146. package/dist/common/index.js +3 -0
  147. package/dist/common/index.js.map +1 -1
  148. package/dist/common/is-valid-url.d.ts +2 -0
  149. package/dist/common/is-valid-url.d.ts.map +1 -0
  150. package/dist/common/is-valid-url.js +14 -0
  151. package/dist/common/is-valid-url.js.map +1 -0
  152. package/dist/common/reserved-slugs.d.ts +7 -0
  153. package/dist/common/reserved-slugs.d.ts.map +1 -0
  154. package/dist/common/reserved-slugs.js +64 -0
  155. package/dist/common/reserved-slugs.js.map +1 -0
  156. package/dist/common/to-snake-case.d.ts +5 -0
  157. package/dist/common/to-snake-case.d.ts.map +1 -0
  158. package/dist/common/to-snake-case.js +14 -0
  159. package/dist/common/to-snake-case.js.map +1 -0
  160. package/dist/dml/entity-builder.d.ts +68 -0
  161. package/dist/dml/entity-builder.d.ts.map +1 -1
  162. package/dist/dml/entity-builder.js +76 -0
  163. package/dist/dml/entity-builder.js.map +1 -1
  164. package/dist/dml/helpers/entity-builder/define-property.d.ts.map +1 -1
  165. package/dist/dml/helpers/entity-builder/define-property.js +77 -0
  166. package/dist/dml/helpers/entity-builder/define-property.js.map +1 -1
  167. package/dist/dml/helpers/mikro-orm/custom-type/geo-json-geometry.d.ts +10 -0
  168. package/dist/dml/helpers/mikro-orm/custom-type/geo-json-geometry.d.ts.map +1 -0
  169. package/dist/dml/helpers/mikro-orm/custom-type/geo-json-geometry.js +31 -0
  170. package/dist/dml/helpers/mikro-orm/custom-type/geo-json-geometry.js.map +1 -0
  171. package/dist/dml/properties/enum.d.ts.map +1 -1
  172. package/dist/dml/properties/enum.js +0 -1
  173. package/dist/dml/properties/enum.js.map +1 -1
  174. package/dist/dml/properties/geometry.d.ts +8 -0
  175. package/dist/dml/properties/geometry.d.ts.map +1 -0
  176. package/dist/dml/properties/geometry.js +14 -0
  177. package/dist/dml/properties/geometry.js.map +1 -0
  178. package/dist/dml/properties/index.d.ts +4 -0
  179. package/dist/dml/properties/index.d.ts.map +1 -1
  180. package/dist/dml/properties/index.js +4 -0
  181. package/dist/dml/properties/index.js.map +1 -1
  182. package/dist/dml/properties/multipolygon.d.ts +8 -0
  183. package/dist/dml/properties/multipolygon.d.ts.map +1 -0
  184. package/dist/dml/properties/multipolygon.js +14 -0
  185. package/dist/dml/properties/multipolygon.js.map +1 -0
  186. package/dist/dml/properties/point.d.ts +8 -0
  187. package/dist/dml/properties/point.d.ts.map +1 -0
  188. package/dist/dml/properties/point.js +14 -0
  189. package/dist/dml/properties/point.js.map +1 -0
  190. package/dist/dml/properties/polygon.d.ts +8 -0
  191. package/dist/dml/properties/polygon.d.ts.map +1 -0
  192. package/dist/dml/properties/polygon.js +14 -0
  193. package/dist/dml/properties/polygon.js.map +1 -0
  194. package/dist/index.d.ts +2 -0
  195. package/dist/index.d.ts.map +1 -1
  196. package/dist/index.js +2 -0
  197. package/dist/index.js.map +1 -1
  198. package/dist/modules-sdk/build-query.d.ts.map +1 -1
  199. package/dist/modules-sdk/build-query.js +3 -1
  200. package/dist/modules-sdk/build-query.js.map +1 -1
  201. package/dist/modules-sdk/definition.d.ts +18 -0
  202. package/dist/modules-sdk/definition.d.ts.map +1 -1
  203. package/dist/modules-sdk/definition.js +12 -0
  204. package/dist/modules-sdk/definition.js.map +1 -1
  205. package/dist/modules-sdk/spatial-query-processor.d.ts +2 -0
  206. package/dist/modules-sdk/spatial-query-processor.d.ts.map +1 -0
  207. package/dist/modules-sdk/spatial-query-processor.js +105 -0
  208. package/dist/modules-sdk/spatial-query-processor.js.map +1 -0
  209. package/dist/permissions/ability.d.ts +39 -0
  210. package/dist/permissions/ability.d.ts.map +1 -0
  211. package/dist/permissions/ability.js +51 -0
  212. package/dist/permissions/ability.js.map +1 -0
  213. package/dist/permissions/context-builder.d.ts +24 -0
  214. package/dist/permissions/context-builder.d.ts.map +1 -0
  215. package/dist/permissions/context-builder.js +30 -0
  216. package/dist/permissions/context-builder.js.map +1 -0
  217. package/dist/permissions/index.d.ts +4 -0
  218. package/dist/permissions/index.d.ts.map +1 -0
  219. package/dist/permissions/index.js +20 -0
  220. package/dist/permissions/index.js.map +1 -0
  221. package/dist/permissions/permission-service.d.ts +8 -0
  222. package/dist/permissions/permission-service.d.ts.map +1 -0
  223. package/dist/permissions/permission-service.js +20 -0
  224. package/dist/permissions/permission-service.js.map +1 -0
  225. package/dist/permissions/types.d.ts +17 -0
  226. package/dist/permissions/types.d.ts.map +1 -0
  227. package/dist/permissions/types.js +11 -0
  228. package/dist/permissions/types.js.map +1 -0
  229. package/dist/tsconfig.tsbuildinfo +1 -1
  230. package/dist/zod/schemas/approvals.d.ts +91 -0
  231. package/dist/zod/schemas/approvals.d.ts.map +1 -0
  232. package/dist/zod/schemas/approvals.js +38 -0
  233. package/dist/zod/schemas/approvals.js.map +1 -0
  234. package/dist/zod/schemas/clicks.d.ts +394 -0
  235. package/dist/zod/schemas/clicks.d.ts.map +1 -0
  236. package/dist/zod/schemas/clicks.js +85 -0
  237. package/dist/zod/schemas/clicks.js.map +1 -0
  238. package/dist/zod/schemas/leads.d.ts +423 -0
  239. package/dist/zod/schemas/leads.d.ts.map +1 -0
  240. package/dist/zod/schemas/leads.js +58 -0
  241. package/dist/zod/schemas/leads.js.map +1 -0
  242. package/package.json +8 -2
  243. package/dist/feature-flags/eto-v2.d.ts +0 -3
  244. package/dist/feature-flags/eto-v2.d.ts.map +0 -1
  245. package/dist/feature-flags/eto-v2.js +0 -10
  246. package/dist/feature-flags/eto-v2.js.map +0 -1
  247. package/dist/feature-flags/order-editing.d.ts +0 -3
  248. package/dist/feature-flags/order-editing.d.ts.map +0 -1
  249. package/dist/feature-flags/order-editing.js +0 -10
  250. package/dist/feature-flags/order-editing.js.map +0 -1
  251. package/dist/feature-flags/product-categories.d.ts +0 -3
  252. package/dist/feature-flags/product-categories.d.ts.map +0 -1
  253. package/dist/feature-flags/product-categories.js +0 -10
  254. package/dist/feature-flags/product-categories.js.map +0 -1
  255. package/dist/feature-flags/sales-channels.d.ts +0 -3
  256. package/dist/feature-flags/sales-channels.d.ts.map +0 -1
  257. package/dist/feature-flags/sales-channels.js +0 -10
  258. package/dist/feature-flags/sales-channels.js.map +0 -1
  259. package/dist/feature-flags/tax-inclusive-pricing.d.ts +0 -3
  260. package/dist/feature-flags/tax-inclusive-pricing.d.ts.map +0 -1
  261. package/dist/feature-flags/tax-inclusive-pricing.js +0 -10
  262. package/dist/feature-flags/tax-inclusive-pricing.js.map +0 -1
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isETOLinkDomain = exports.getDomainWithoutWWW = exports.getApexDomain = exports.getSubdomain = exports.validSlugRegex = exports.validDomainRegex = exports.generateDomainFromName = void 0;
4
+ // Dynamically import 'slugify' since it is ESM-only
5
+ let slugify;
6
+ async function getSlugify() {
7
+ if (!slugify) {
8
+ slugify = (await import("@sindresorhus/slugify")).default;
9
+ }
10
+ return slugify;
11
+ }
12
+ const constants_1 = require("./constants");
13
+ const is_valid_url_1 = require("./is-valid-url");
14
+ const generateDomainFromName = async (name) => {
15
+ const normalizedName = (await getSlugify())(name, { separator: "" });
16
+ if (normalizedName.length < 3) {
17
+ return "";
18
+ }
19
+ if (constants_1.ccTLDs.has(normalizedName.slice(-2))) {
20
+ return `${normalizedName.slice(0, -2)}.${normalizedName.slice(-2)}`;
21
+ }
22
+ // remove vowels
23
+ const devowel = normalizedName.replace(/[aeiou]/g, "");
24
+ if (devowel.length >= 3 && constants_1.ccTLDs.has(devowel.slice(-2))) {
25
+ return `${devowel.slice(0, -2)}.${devowel.slice(-2)}`;
26
+ }
27
+ const shortestString = [normalizedName, devowel].reduce((a, b) => a.length < b.length ? a : b);
28
+ return `${shortestString}.link`;
29
+ };
30
+ exports.generateDomainFromName = generateDomainFromName;
31
+ // courtesy of ChatGPT: https://sharegpt.com/c/pUYXtRs
32
+ exports.validDomainRegex = new RegExp(/^([a-zA-Z0-9]([a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/);
33
+ exports.validSlugRegex = new RegExp(/^[a-zA-Z0-9\-]+$/);
34
+ const getSubdomain = (name, apexName) => {
35
+ if (name === apexName)
36
+ return null;
37
+ return name.slice(0, name.length - apexName.length - 1);
38
+ };
39
+ exports.getSubdomain = getSubdomain;
40
+ const getApexDomain = (url) => {
41
+ let domain;
42
+ try {
43
+ // replace any custom scheme (e.g. notion://) with https://
44
+ // use the URL constructor to get the hostname
45
+ domain = new URL(url.replace(/^[a-zA-Z]+:\/\//, "https://")).hostname;
46
+ }
47
+ catch (e) {
48
+ return "";
49
+ }
50
+ if (domain === "youtu.be")
51
+ return "youtube.com";
52
+ const parts = domain.split(".");
53
+ if (parts.length > 2) {
54
+ if (
55
+ // if this is a second-level TLD (e.g. co.uk, .com.ua, .org.tt), we need to return the last 3 parts
56
+ (constants_1.SECOND_LEVEL_DOMAINS.has(parts[parts.length - 2]) &&
57
+ constants_1.ccTLDs.has(parts[parts.length - 1])) ||
58
+ // if it's a special subdomain for website builders (e.g. weathergpt.vercel.app/)
59
+ constants_1.SPECIAL_APEX_DOMAINS.has(parts.slice(-2).join("."))) {
60
+ return parts.slice(-3).join(".");
61
+ }
62
+ // otherwise, it's a subdomain (e.g. dub.vercel.app), so we return the last 2 parts
63
+ return parts.slice(-2).join(".");
64
+ }
65
+ // if it's a normal domain (e.g. dub.co), we return the domain
66
+ return domain;
67
+ };
68
+ exports.getApexDomain = getApexDomain;
69
+ const getDomainWithoutWWW = (url) => {
70
+ if ((0, is_valid_url_1.isValidUrl)(url)) {
71
+ return new URL(url).hostname.replace(/^www\./, "");
72
+ }
73
+ try {
74
+ if (url.includes(".") && !url.includes(" ")) {
75
+ return new URL(`https://${url}`).hostname.replace(/^www\./, "");
76
+ }
77
+ }
78
+ catch (e) {
79
+ return null;
80
+ }
81
+ return null;
82
+ };
83
+ exports.getDomainWithoutWWW = getDomainWithoutWWW;
84
+ const isETOLinkDomain = (domain) => {
85
+ return constants_1.ETO_LINK_DOMAINS.some((d) => d.slug === domain);
86
+ };
87
+ exports.isETOLinkDomain = isETOLinkDomain;
88
+ //# sourceMappingURL=domains.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"domains.js","sourceRoot":"","sources":["../../src/common/domains.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic-import.d.ts","sourceRoot":"","sources":["../../src/common/dynamic-import.ts"],"names":[],"mappings":"AAEA;;;;;;;;;;GAUG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAG9D"}
1
+ {"version":3,"file":"dynamic-import.d.ts","sourceRoot":"","sources":["../../src/common/dynamic-import.ts"],"names":[],"mappings":"AAIA;;;;;;;;;;GAUG;AACH,wBAAsB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,CAG9D"}
@@ -2,6 +2,8 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.dynamicImport = dynamicImport;
4
4
  const resolve_exports_1 = require("./resolve-exports");
5
+ const fs_1 = require("fs");
6
+ const path_1 = require("path");
5
7
  /**
6
8
  * Utility that should be used instead of either await import() or require()
7
9
  * to avoid bundling issues. That way we have a single place
@@ -14,7 +16,28 @@ const resolve_exports_1 = require("./resolve-exports");
14
16
  * @param path
15
17
  */
16
18
  async function dynamicImport(path) {
17
- const module = require(path);
19
+ const module = require(resolveImportTarget(path));
18
20
  return (0, resolve_exports_1.resolveExports)(module);
19
21
  }
22
+ function resolveImportTarget(path) {
23
+ if ((0, path_1.extname)(path)) {
24
+ return path;
25
+ }
26
+ const candidates = [
27
+ path,
28
+ `${path}.js`,
29
+ `${path}.cjs`,
30
+ `${path}.mjs`,
31
+ `${path}.ts`,
32
+ `${path}.cts`,
33
+ `${path}.mts`,
34
+ (0, path_1.join)(path, "index.js"),
35
+ (0, path_1.join)(path, "index.cjs"),
36
+ (0, path_1.join)(path, "index.mjs"),
37
+ (0, path_1.join)(path, "index.ts"),
38
+ (0, path_1.join)(path, "index.cts"),
39
+ (0, path_1.join)(path, "index.mts"),
40
+ ];
41
+ return candidates.find((candidate) => (0, fs_1.existsSync)(candidate)) ?? path;
42
+ }
20
43
  //# sourceMappingURL=dynamic-import.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"dynamic-import.js","sourceRoot":"","sources":["../../src/common/dynamic-import.ts"],"names":[],"mappings":";;AAaA,sCAGC;AAhBD,uDAAkD;AAElD;;;;;;;;;;GAUG;AACI,KAAK,UAAU,aAAa,CAAC,IAAY;IAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC5B,OAAO,IAAA,gCAAc,EAAC,MAAM,CAAC,CAAA;AAC/B,CAAC"}
1
+ {"version":3,"file":"dynamic-import.js","sourceRoot":"","sources":["../../src/common/dynamic-import.ts"],"names":[],"mappings":";;AAeA,sCAGC;AAlBD,uDAAkD;AAClD,2BAA+B;AAC/B,+BAAoC;AAEpC;;;;;;;;;;GAUG;AACI,KAAK,UAAU,aAAa,CAAC,IAAY;IAC9C,MAAM,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAA;IACjD,OAAO,IAAA,gCAAc,EAAC,MAAM,CAAC,CAAA;AAC/B,CAAC;AAED,SAAS,mBAAmB,CAAC,IAAY;IACvC,IAAI,IAAA,cAAO,EAAC,IAAI,CAAC,EAAE,CAAC;QAClB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,MAAM,UAAU,GAAG;QACjB,IAAI;QACJ,GAAG,IAAI,KAAK;QACZ,GAAG,IAAI,MAAM;QACb,GAAG,IAAI,MAAM;QACb,GAAG,IAAI,KAAK;QACZ,GAAG,IAAI,MAAM;QACb,GAAG,IAAI,MAAM;QACb,IAAA,WAAI,EAAC,IAAI,EAAE,UAAU,CAAC;QACtB,IAAA,WAAI,EAAC,IAAI,EAAE,WAAW,CAAC;QACvB,IAAA,WAAI,EAAC,IAAI,EAAE,WAAW,CAAC;QACvB,IAAA,WAAI,EAAC,IAAI,EAAE,UAAU,CAAC;QACtB,IAAA,WAAI,EAAC,IAAI,EAAE,WAAW,CAAC;QACvB,IAAA,WAAI,EAAC,IAAI,EAAE,WAAW,CAAC;KACxB,CAAA;IAED,OAAO,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,IAAA,eAAU,EAAC,SAAS,CAAC,CAAC,IAAI,IAAI,CAAA;AACtE,CAAC"}
@@ -0,0 +1,6 @@
1
+ export declare function fetchWithRetry(input: RequestInfo | URL, init?: RequestInit | undefined, options?: {
2
+ timeout?: number;
3
+ maxRetries?: number;
4
+ retryDelay?: number;
5
+ }): Promise<Response>;
6
+ //# sourceMappingURL=fetch-with-retry.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-with-retry.d.ts","sourceRoot":"","sources":["../../src/common/fetch-with-retry.ts"],"names":[],"mappings":"AAAA,wBAAsB,cAAc,CAClC,KAAK,EAAE,WAAW,GAAG,GAAG,EACxB,IAAI,CAAC,EAAE,WAAW,GAAG,SAAS,EAC9B,OAAO,GAAE;IACP,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CAChB,GACL,OAAO,CAAC,QAAQ,CAAC,CAmEnB"}
@@ -0,0 +1,63 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.fetchWithRetry = fetchWithRetry;
4
+ async function fetchWithRetry(input, init, options = {}) {
5
+ const { timeout = 5000, maxRetries = 10, retryDelay = 1000 } = options;
6
+ let lastError = null;
7
+ for (let i = 0; i < maxRetries; i++) {
8
+ const controller = new AbortController();
9
+ const timeoutId = setTimeout(() => {
10
+ controller.abort();
11
+ }, timeout);
12
+ try {
13
+ const response = await fetch(input, {
14
+ ...init,
15
+ signal: controller.signal,
16
+ });
17
+ clearTimeout(timeoutId);
18
+ if (response.ok) {
19
+ return response;
20
+ }
21
+ // Handle rate limiting and server errors
22
+ if (response.status === 429 || response.status >= 500) {
23
+ const delay = retryDelay + Math.pow(i, 2) * 50;
24
+ await new Promise((resolve) => setTimeout(resolve, delay));
25
+ continue;
26
+ }
27
+ // Handle unauthorized errors
28
+ if (response.status === 403) {
29
+ throw new Error("Unauthorized");
30
+ }
31
+ // Handle other errors
32
+ if (!response.ok) {
33
+ let errorMessage;
34
+ try {
35
+ const error = await response.json();
36
+ errorMessage = error.error || `HTTP error ${response.status}`;
37
+ }
38
+ catch {
39
+ errorMessage = `HTTP error ${response.status}`;
40
+ }
41
+ console.error(`fetchWithRetry error: ${errorMessage}`);
42
+ throw new Error(errorMessage);
43
+ }
44
+ }
45
+ catch (error) {
46
+ clearTimeout(timeoutId);
47
+ lastError = error instanceof Error ? error : new Error(String(error));
48
+ // If this is the last retry, throw the error
49
+ if (i === maxRetries - 1) {
50
+ const errMsg = `Failed after ${maxRetries} retries. Last error: ${lastError.message}`;
51
+ console.error(`fetchWithRetry error: ${errMsg}`);
52
+ throw new Error(errMsg);
53
+ }
54
+ // For network errors or timeouts, wait and retry
55
+ const delay = retryDelay + Math.pow(i, 2) * 50;
56
+ await new Promise((resolve) => setTimeout(resolve, delay));
57
+ }
58
+ }
59
+ // This should never be reached due to the throw in the last retry,
60
+ // but TypeScript needs it for type safety
61
+ throw new Error(`Failed after ${maxRetries} retries`);
62
+ }
63
+ //# sourceMappingURL=fetch-with-retry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fetch-with-retry.js","sourceRoot":"","sources":["../../src/common/fetch-with-retry.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function getIdentityHash(req: Request): Promise<string>;
2
+ //# sourceMappingURL=get-identity-hash.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-identity-hash.d.ts","sourceRoot":"","sources":["../../src/common/get-identity-hash.ts"],"names":[],"mappings":"AAGA,wBAAsB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,OAAO,CAAC,MAAM,CAAC,CAenE"}
@@ -0,0 +1,19 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getIdentityHash = getIdentityHash;
4
+ const crypto_1 = require("crypto");
5
+ // Generate identity hash for access link tracking (following Dub's pattern)
6
+ async function getIdentityHash(req) {
7
+ const ip = req.headers.get("x-forwarded-for")?.split(",")[0]?.trim() ||
8
+ req.headers.get("x-real-ip") ||
9
+ req.headers.get("cf-connecting-ip") ||
10
+ "unknown";
11
+ const userAgent = req.headers.get("user-agent") || "unknown";
12
+ // Create hash from IP + User Agent for anonymous tracking
13
+ const identityString = `${ip}:${userAgent}`;
14
+ return (0, crypto_1.createHash)("sha256")
15
+ .update(identityString)
16
+ .digest("hex")
17
+ .substring(0, 16); // First 16 chars for shorter hash
18
+ }
19
+ //# sourceMappingURL=get-identity-hash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-identity-hash.js","sourceRoot":"","sources":["../../src/common/get-identity-hash.ts"],"names":[],"mappings":";;AAGA,0CAeC;AAlBD,mCAAmC;AAEnC,4EAA4E;AACrE,KAAK,UAAU,eAAe,CAAC,GAAY;IAChD,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE;QACzD,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;QAC5B,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;QACnC,SAAS,CAAA;IAEpB,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,SAAS,CAAA;IAE5D,0DAA0D;IAC1D,MAAM,cAAc,GAAG,GAAG,EAAE,IAAI,SAAS,EAAE,CAAA;IAE3C,OAAO,IAAA,mBAAU,EAAC,QAAQ,CAAC;SACxB,MAAM,CAAC,cAAc,CAAC;SACtB,MAAM,CAAC,KAAK,CAAC;SACb,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,CAAA,CAAC,kCAAkC;AACxD,CAAC"}
@@ -26,6 +26,7 @@ export * from "./generate-entity-id";
26
26
  export * from "./get-caller-file-path";
27
27
  export * from "./get-config-file";
28
28
  export * from "./get-duplicates";
29
+ export * from "./get-identity-hash";
29
30
  export * from "./get-iso-string-from-date";
30
31
  export * from "./get-node-version";
31
32
  export * from "./get-resolved-plugins";
@@ -46,6 +47,7 @@ export * from "./is-object";
46
47
  export * from "./is-present";
47
48
  export * from "./is-string";
48
49
  export * from "./is-truthy";
50
+ export * from "./is-valid-url";
49
51
  export * from "./load-env";
50
52
  export * from "./lower-case-first";
51
53
  export * from "./map-object-to";
@@ -80,6 +82,7 @@ export * from "./stringify-circular";
80
82
  export * from "./to-camel-case";
81
83
  export * from "./to-handle";
82
84
  export * from "./to-kebab-case";
85
+ export * from "./to-snake-case";
83
86
  export * from "./to-pascal-case";
84
87
  export * from "./to-unix-slash";
85
88
  export * from "./trim-zeros";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":"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"}
@@ -42,6 +42,7 @@ __exportStar(require("./generate-entity-id"), exports);
42
42
  __exportStar(require("./get-caller-file-path"), exports);
43
43
  __exportStar(require("./get-config-file"), exports);
44
44
  __exportStar(require("./get-duplicates"), exports);
45
+ __exportStar(require("./get-identity-hash"), exports);
45
46
  __exportStar(require("./get-iso-string-from-date"), exports);
46
47
  __exportStar(require("./get-node-version"), exports);
47
48
  __exportStar(require("./get-resolved-plugins"), exports);
@@ -62,6 +63,7 @@ __exportStar(require("./is-object"), exports);
62
63
  __exportStar(require("./is-present"), exports);
63
64
  __exportStar(require("./is-string"), exports);
64
65
  __exportStar(require("./is-truthy"), exports);
66
+ __exportStar(require("./is-valid-url"), exports);
65
67
  __exportStar(require("./load-env"), exports);
66
68
  __exportStar(require("./lower-case-first"), exports);
67
69
  __exportStar(require("./map-object-to"), exports);
@@ -96,6 +98,7 @@ __exportStar(require("./stringify-circular"), exports);
96
98
  __exportStar(require("./to-camel-case"), exports);
97
99
  __exportStar(require("./to-handle"), exports);
98
100
  __exportStar(require("./to-kebab-case"), exports);
101
+ __exportStar(require("./to-snake-case"), exports);
99
102
  __exportStar(require("./to-pascal-case"), exports);
100
103
  __exportStar(require("./to-unix-slash"), exports);
101
104
  __exportStar(require("./trim-zeros"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAsC;AACtC,qDAAkC;AAClC,uDAAoC;AACpC,gDAA6B;AAC7B,0DAAuC;AACvC,wDAAqC;AACrC,kDAA+B;AAC/B,8CAA2B;AAC3B,4EAAyD;AACzD,0DAAuC;AACvC,6DAA0C;AAC1C,gDAA6B;AAC7B,8CAA2B;AAC3B,mDAAgC;AAChC,kDAA+B;AAC/B,+CAA4B;AAC5B,kDAA+B;AAC/B,mDAAgC;AAChC,+CAA4B;AAC5B,2CAAwB;AACxB,gDAA6B;AAC7B,0DAAuC;AACvC,wDAAqC;AACrC,sEAAmD;AACnD,uDAAoC;AACpC,yDAAsC;AACtC,oDAAiC;AACjC,mDAAgC;AAChC,6DAA0C;AAC1C,qDAAkC;AAClC,yDAAsC;AACtC,gFAA6D;AAC7D,yEAAsD;AACtD,uDAAoC;AACpC,6DAA0C;AAC1C,6CAA0B;AAC1B,mEAAgD;AAChD,kDAA+B;AAC/B,+CAA4B;AAC5B,+CAA4B;AAC5B,4CAAyB;AACzB,+CAA4B;AAC5B,6CAA0B;AAC1B,kDAA+B;AAC/B,8CAA2B;AAC3B,+CAA4B;AAC5B,8CAA2B;AAC3B,8CAA2B;AAC3B,6CAA0B;AAC1B,qDAAkC;AAClC,kDAA+B;AAC/B,kDAA+B;AAC/B,mDAAgC;AAChC,yDAAsC;AACtC,sEAAmD;AACnD,4DAAyC;AACzC,0DAAuC;AACvC,8CAA2B;AAC3B,gEAA6C;AAC7C,uDAAoC;AACpC,oDAAiC;AACjC,8CAA2B;AAC3B,2DAAwC;AACxC,8CAA2B;AAC3B,uDAAoC;AACpC,gDAA6B;AAC7B,uDAAoC;AACpC,oEAAiD;AACjD,kEAA+C;AAC/C,oDAAiC;AACjC,qDAAkC;AAClC,gEAA6C;AAC7C,oDAAiC;AACjC,0CAAuB;AACvB,mEAAgD;AAChD,oDAAiC;AACjC,gDAA6B;AAC7B,qEAAkD;AAClD,uDAAoC;AACpC,kDAA+B;AAC/B,8CAA2B;AAC3B,kDAA+B;AAC/B,mDAAgC;AAChC,kDAA+B;AAC/B,+CAA4B;AAC5B,2DAAwC;AACxC,0DAAuC;AACvC,0DAAuC;AACvC,qDAAkC;AAClC,oDAAiC;AACjC,0DAAuC;AACvC,kDAA+B;AAC/B,yDAAsC;AACtC,8CAA2B;AAC3B,sEAAmD;AACnD,yCAAsB;AACtB,iDAA8B;AAC9B,yDAAsC;AACtC,iDAA8B;AAC9B,wDAAqC;AACrC,oDAAiC;AACjC,sDAAmC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/common/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;AAAA,yDAAsC;AACtC,qDAAkC;AAClC,uDAAoC;AACpC,gDAA6B;AAC7B,0DAAuC;AACvC,wDAAqC;AACrC,kDAA+B;AAC/B,8CAA2B;AAC3B,4EAAyD;AACzD,0DAAuC;AACvC,6DAA0C;AAC1C,gDAA6B;AAC7B,8CAA2B;AAC3B,mDAAgC;AAChC,kDAA+B;AAC/B,+CAA4B;AAC5B,kDAA+B;AAC/B,mDAAgC;AAChC,+CAA4B;AAC5B,2CAAwB;AACxB,gDAA6B;AAC7B,0DAAuC;AACvC,wDAAqC;AACrC,sEAAmD;AACnD,uDAAoC;AACpC,yDAAsC;AACtC,oDAAiC;AACjC,mDAAgC;AAChC,sDAAmC;AACnC,6DAA0C;AAC1C,qDAAkC;AAClC,yDAAsC;AACtC,gFAA6D;AAC7D,yEAAsD;AACtD,uDAAoC;AACpC,6DAA0C;AAC1C,6CAA0B;AAC1B,mEAAgD;AAChD,kDAA+B;AAC/B,+CAA4B;AAC5B,+CAA4B;AAC5B,4CAAyB;AACzB,+CAA4B;AAC5B,6CAA0B;AAC1B,kDAA+B;AAC/B,8CAA2B;AAC3B,+CAA4B;AAC5B,8CAA2B;AAC3B,8CAA2B;AAC3B,iDAA8B;AAC9B,6CAA0B;AAC1B,qDAAkC;AAClC,kDAA+B;AAC/B,kDAA+B;AAC/B,mDAAgC;AAChC,yDAAsC;AACtC,sEAAmD;AACnD,4DAAyC;AACzC,0DAAuC;AACvC,8CAA2B;AAC3B,gEAA6C;AAC7C,uDAAoC;AACpC,oDAAiC;AACjC,8CAA2B;AAC3B,2DAAwC;AACxC,8CAA2B;AAC3B,uDAAoC;AACpC,gDAA6B;AAC7B,uDAAoC;AACpC,oEAAiD;AACjD,kEAA+C;AAC/C,oDAAiC;AACjC,qDAAkC;AAClC,gEAA6C;AAC7C,oDAAiC;AACjC,0CAAuB;AACvB,mEAAgD;AAChD,oDAAiC;AACjC,gDAA6B;AAC7B,qEAAkD;AAClD,uDAAoC;AACpC,kDAA+B;AAC/B,8CAA2B;AAC3B,kDAA+B;AAC/B,kDAA+B;AAC/B,mDAAgC;AAChC,kDAA+B;AAC/B,+CAA4B;AAC5B,2DAAwC;AACxC,0DAAuC;AACvC,0DAAuC;AACvC,qDAAkC;AAClC,oDAAiC;AACjC,0DAAuC;AACvC,kDAA+B;AAC/B,yDAAsC;AACtC,8CAA2B;AAC3B,sEAAmD;AACnD,yCAAsB;AACtB,iDAA8B;AAC9B,yDAAsC;AACtC,iDAA8B;AAC9B,wDAAqC;AACrC,oDAAiC;AACjC,sDAAmC"}
@@ -0,0 +1,2 @@
1
+ export declare const isValidUrl: (url: string) => boolean;
2
+ //# sourceMappingURL=is-valid-url.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-valid-url.d.ts","sourceRoot":"","sources":["../../src/common/is-valid-url.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,YAOrC,CAAA"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.isValidUrl = void 0;
4
+ const isValidUrl = (url) => {
5
+ try {
6
+ new URL(url);
7
+ return true;
8
+ }
9
+ catch (e) {
10
+ return false;
11
+ }
12
+ };
13
+ exports.isValidUrl = isValidUrl;
14
+ //# sourceMappingURL=is-valid-url.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-valid-url.js","sourceRoot":"","sources":["../../src/common/is-valid-url.ts"],"names":[],"mappings":";;;AAAO,MAAM,UAAU,GAAG,CAAC,GAAW,EAAE,EAAE;IACxC,IAAI,CAAC;QACH,IAAI,GAAG,CAAC,GAAG,CAAC,CAAA;QACZ,OAAO,IAAI,CAAA;IACb,CAAC;IAAC,OAAO,CAAC,EAAE,CAAC;QACX,OAAO,KAAK,CAAA;IACd,CAAC;AACH,CAAC,CAAA;AAPY,QAAA,UAAU,cAOtB"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Check if a key is reserved:
3
+ * - cannot be registered for a short link (only for dub.sh / dub.link domains)
4
+ * - cannot be used as a workspace slug
5
+ */
6
+ export declare const RESERVED_SLUGS: string[];
7
+ //# sourceMappingURL=reserved-slugs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reserved-slugs.d.ts","sourceRoot":"","sources":["../../src/common/reserved-slugs.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,cAAc,UAsD1B,CAAC"}
@@ -0,0 +1,64 @@
1
+ "use strict";
2
+ /**
3
+ * Check if a key is reserved:
4
+ * - cannot be registered for a short link (only for dub.sh / dub.link domains)
5
+ * - cannot be used as a workspace slug
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.RESERVED_SLUGS = void 0;
9
+ exports.RESERVED_SLUGS = [
10
+ "va",
11
+ "static",
12
+ "stats",
13
+ "share",
14
+ "deeplink",
15
+ "robots.txt",
16
+ "proxy",
17
+ "account",
18
+ "api",
19
+ "auth",
20
+ "pricing",
21
+ "about",
22
+ "metatags",
23
+ "blog",
24
+ "changelog",
25
+ "atom",
26
+ "careers",
27
+ "docs",
28
+ "features",
29
+ "contact",
30
+ "terms",
31
+ "privacy",
32
+ "admin",
33
+ "help",
34
+ "new",
35
+ "info",
36
+ "demo",
37
+ "discord",
38
+ "reddit",
39
+ "guides",
40
+ "campaigns",
41
+ "links",
42
+ "workspaces",
43
+ "settings",
44
+ "analytics",
45
+ "guides",
46
+ "invites",
47
+ "new",
48
+ "domains",
49
+ "events",
50
+ "referrals",
51
+ "webhooks",
52
+ "upgrade",
53
+ "wrapped",
54
+ "invoices",
55
+ "onboarding",
56
+ "program",
57
+ "programs",
58
+ "partners",
59
+ "payouts",
60
+ "commissions",
61
+ "sales",
62
+ "resources",
63
+ ];
64
+ //# sourceMappingURL=reserved-slugs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"reserved-slugs.js","sourceRoot":"","sources":["../../src/common/reserved-slugs.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEU,QAAA,cAAc,GAAG;IAC5B,IAAI;IACJ,QAAQ;IACR,OAAO;IACP,OAAO;IACP,UAAU;IACV,YAAY;IACZ,OAAO;IACP,SAAS;IACT,KAAK;IACL,MAAM;IACN,SAAS;IACT,OAAO;IACP,UAAU;IACV,MAAM;IACN,WAAW;IACX,MAAM;IACN,SAAS;IACT,MAAM;IACN,UAAU;IACV,SAAS;IACT,OAAO;IACP,SAAS;IACT,OAAO;IACP,MAAM;IACN,KAAK;IACL,MAAM;IACN,MAAM;IACN,SAAS;IACT,QAAQ;IACR,QAAQ;IACR,WAAW;IACX,OAAO;IACP,YAAY;IACZ,UAAU;IACV,WAAW;IACX,QAAQ;IACR,SAAS;IACT,KAAK;IACL,SAAS;IACT,QAAQ;IACR,WAAW;IACX,UAAU;IACV,SAAS;IACT,SAAS;IACT,UAAU;IACV,YAAY;IACZ,SAAS;IACT,UAAU;IACV,UAAU;IACV,SAAS;IACT,aAAa;IACb,OAAO;IACP,WAAW;CACZ,CAAC"}
@@ -0,0 +1,5 @@
1
+ /**
2
+ * Converts a string to snake_case
3
+ */
4
+ export declare function toSnakeCase(str: string): string;
5
+ //# sourceMappingURL=to-snake-case.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"to-snake-case.d.ts","sourceRoot":"","sources":["../../src/common/to-snake-case.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,CAM/C"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.toSnakeCase = toSnakeCase;
4
+ /**
5
+ * Converts a string to snake_case
6
+ */
7
+ function toSnakeCase(str) {
8
+ return str
9
+ .replace(/([a-z])([A-Z])/g, "$1_$2")
10
+ .replace(/[^a-zA-Z0-9]+/g, "_")
11
+ .replace(/^_+|_+$/g, "")
12
+ .toLowerCase();
13
+ }
14
+ //# sourceMappingURL=to-snake-case.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"to-snake-case.js","sourceRoot":"","sources":["../../src/common/to-snake-case.ts"],"names":[],"mappings":";;AAGA,kCAMC;AATD;;GAEG;AACH,SAAgB,WAAW,CAAC,GAAW;IACrC,OAAO,GAAG;SACP,OAAO,CAAC,iBAAiB,EAAE,OAAO,CAAC;SACnC,OAAO,CAAC,gBAAgB,EAAE,GAAG,CAAC;SAC9B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,WAAW,EAAE,CAAA;AAClB,CAAC"}
@@ -6,9 +6,13 @@ import { BigNumberProperty } from "./properties/big-number";
6
6
  import { BooleanProperty } from "./properties/boolean";
7
7
  import { DateTimeProperty } from "./properties/date-time";
8
8
  import { EnumLike, EnumProperty } from "./properties/enum";
9
+ import { GeometryProperty } from "./properties/geometry";
9
10
  import { IdProperty } from "./properties/id";
10
11
  import { JSONProperty } from "./properties/json";
12
+ import { MultiPolygonProperty } from "./properties/multipolygon";
11
13
  import { NumberProperty } from "./properties/number";
14
+ import { PointProperty } from "./properties/point";
15
+ import { PolygonProperty } from "./properties/polygon";
12
16
  import { TextProperty } from "./properties/text";
13
17
  import { BelongsTo } from "./relations/belongs-to";
14
18
  import { HasMany } from "./relations/has-many";
@@ -313,6 +317,70 @@ export declare class EntityBuilder {
313
317
  * @customNamespace Property Types
314
318
  */
315
319
  json(): JSONProperty;
320
+ /**
321
+ * Create a Geometry property for spatial data
322
+ *
323
+ * @example
324
+ * import { model } from "@etohq/framework/utils"
325
+ *
326
+ * const MyCustom = model.define("my_custom", {
327
+ * boundary: model.geometry(),
328
+ * // ...
329
+ * })
330
+ *
331
+ * export default MyCustom
332
+ *
333
+ * @customNamespace Property Types
334
+ */
335
+ geometry(): GeometryProperty;
336
+ /**
337
+ * Create a Point property for coordinate data
338
+ *
339
+ * @example
340
+ * import { model } from "@etohq/framework/utils"
341
+ *
342
+ * const MyCustom = model.define("my_custom", {
343
+ * location: model.point(),
344
+ * // ...
345
+ * })
346
+ *
347
+ * export default MyCustom
348
+ *
349
+ * @customNamespace Property Types
350
+ */
351
+ point(): PointProperty;
352
+ /**
353
+ * Create a Polygon property for boundary data
354
+ *
355
+ * @example
356
+ * import { model } from "@etohq/framework/utils"
357
+ *
358
+ * const MyCustom = model.define("my_custom", {
359
+ * boundary: model.polygon(),
360
+ * // ...
361
+ * })
362
+ *
363
+ * export default MyCustom
364
+ *
365
+ * @customNamespace Property Types
366
+ */
367
+ polygon(): PolygonProperty;
368
+ /**
369
+ * Create a MultiPolygon property for complex boundary data
370
+ *
371
+ * @example
372
+ * import { model } from "@etohq/framework/utils"
373
+ *
374
+ * const MyCustom = model.define("my_custom", {
375
+ * territories: model.multipolygon(),
376
+ * // ...
377
+ * })
378
+ *
379
+ * export default MyCustom
380
+ *
381
+ * @customNamespace Property Types
382
+ */
383
+ multipolygon(): MultiPolygonProperty;
316
384
  /**
317
385
  * This method defines a property whose value can only be one of the specified values.
318
386
  *
@@ -1 +1 @@
1
- {"version":3,"file":"entity-builder.d.ts","sourceRoot":"","sources":["../../src/dml/entity-builder.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"entity-builder.d.ts","sourceRoot":"","sources":["../../src/dml/entity-builder.ts"],"names":[],"mappings":"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"}