@devvit/shared-types 0.10.22-next-2024-05-29-2dc4adb2f.0 → 0.10.22-next-2024-05-29-c2e88e9f3.0

Sign up to get free protection for your applications and to get access to all the features.
package/imageUtil.d.ts CHANGED
@@ -13,5 +13,6 @@ export declare function parseDataUrl(dataUrl: string): {
13
13
  } | undefined;
14
14
  export declare function isAcceptableDataUrlMimeType(mimeType: string): boolean;
15
15
  export declare function isAcceptableDataUrl(maybeDataUrl: string): boolean;
16
+ export declare function isRemoteUrl(imageUrl: string): boolean;
16
17
  export declare function isValidImageURL(imageUrl: string): boolean;
17
18
  //# sourceMappingURL=imageUtil.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"imageUtil.d.ts","sourceRoot":"","sources":["../src/imageUtil.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,OAAO,YAAY,CAAC;AACjC,eAAO,MAAM,aAAa,qBAAqB,CAAC;AAChD,eAAO,MAAM,YAAY,oBAAoB,CAAC;AAC9C,eAAO,MAAM,QAAQ,aAAa,CAAC;AAEnC,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAA2C,CAAC;AAClG,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAK/C,CAAC;AAcF,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GACxC;IACE,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd,GACD,SAAS,CAWZ;AAED,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAKrE;AAED,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAMjE;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAazD"}
1
+ {"version":3,"file":"imageUtil.d.ts","sourceRoot":"","sources":["../src/imageUtil.ts"],"names":[],"mappings":"AACA,eAAO,MAAM,OAAO,YAAY,CAAC;AACjC,eAAO,MAAM,aAAa,qBAAqB,CAAC;AAChD,eAAO,MAAM,YAAY,oBAAoB,CAAC;AAC9C,eAAO,MAAM,QAAQ,aAAa,CAAC;AAEnC,eAAO,MAAM,wBAAwB,EAAE,SAAS,MAAM,EAA2C,CAAC;AAClG,eAAO,MAAM,kBAAkB,EAAE,SAAS,MAAM,EAK/C,CAAC;AAcF,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED,wBAAgB,YAAY,CAAC,OAAO,EAAE,MAAM,GACxC;IACE,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IAC7B,OAAO,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;CACd,GACD,SAAS,CAWZ;AAED,wBAAgB,2BAA2B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAKrE;AAED,wBAAgB,mBAAmB,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAMjE;AAED,wBAAgB,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAUrD;AAED,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAazD"}
package/imageUtil.js CHANGED
@@ -45,6 +45,18 @@ export function isAcceptableDataUrl(maybeDataUrl) {
45
45
  return false;
46
46
  return isAcceptableDataUrlMimeType(parsedDataUrl.mimeType);
47
47
  }
48
+ export function isRemoteUrl(imageUrl) {
49
+ try {
50
+ // new URL() will throw if not a fully qualified URL
51
+ const protocol = new URL(imageUrl).protocol;
52
+ // if new URL() succeeded, protocol is guaranteed non-null since it's the only required field of a URL
53
+ // allow 'http' for localhost URLs
54
+ return protocol === 'http' || protocol === 'https';
55
+ }
56
+ catch {
57
+ return false;
58
+ }
59
+ }
48
60
  export function isValidImageURL(imageUrl) {
49
61
  try {
50
62
  if (isAcceptableDataUrl(imageUrl))
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@devvit/shared-types",
3
- "version": "0.10.22-next-2024-05-29-2dc4adb2f.0",
3
+ "version": "0.10.22-next-2024-05-29-c2e88e9f3.0",
4
4
  "license": "BSD-3-Clause",
5
5
  "repository": {
6
6
  "type": "git",
@@ -23,12 +23,12 @@
23
23
  },
24
24
  "types": "./index.d.ts",
25
25
  "dependencies": {
26
- "@devvit/protos": "0.10.22-next-2024-05-29-2dc4adb2f.0"
26
+ "@devvit/protos": "0.10.22-next-2024-05-29-c2e88e9f3.0"
27
27
  },
28
28
  "devDependencies": {
29
29
  "@devvit/eslint-config": "0.10.21",
30
30
  "@devvit/repo-tools": "0.10.21",
31
- "@devvit/tsconfig": "0.10.22-next-2024-05-29-2dc4adb2f.0",
31
+ "@devvit/tsconfig": "0.10.22-next-2024-05-29-c2e88e9f3.0",
32
32
  "@types/redis-mock": "0.17.1",
33
33
  "eslint": "8.9.0",
34
34
  "lit": "2.2.8",
@@ -41,5 +41,5 @@
41
41
  "directory": "dist"
42
42
  },
43
43
  "source": "./src/index.ts",
44
- "gitHead": "02bbb56c554504e7c63ac6a4541559929acc77b5"
44
+ "gitHead": "c0f51b6684e4d6f00e45a4a2c660af6ea83bc5da"
45
45
  }