@outfoxx/sunday 2.0.0-beta.15 → 2.0.0-beta.17

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.
@@ -14,7 +14,7 @@ export declare const ProblemStringSchema: z.ZodCodec<z.ZodOptional<z.ZodUnknown>
14
14
  export declare const ProblemStatusSchema: z.ZodCodec<z.ZodOptional<z.ZodUnknown>, z.ZodOptional<z.ZodNumber>>;
15
15
  /** Compose string constraints/defaults with Problem URI conversion at a single property. */
16
16
  export declare function createProblemReferenceCodec(schema?: z.ZodType<string | undefined, string | undefined>, defaultType?: boolean): z.ZodPrefault<z.ZodPipe<z.ZodCodec<z.ZodOptional<z.ZodUnknown>, z.ZodType<string | undefined, string | undefined, z.core.$ZodTypeInternals<string | undefined, string | undefined>>>, z.ZodCodec<z.ZodOptional<z.ZodString>, z.ZodOptional<z.ZodUnion<readonly [z.ZodCustom<URL, URL>, z.ZodString]>>>>>;
17
- /** URI references preserve empty/relative strings and represent absolute URIs as URLs. */
17
+ /** URI references use URLs only when conversion preserves the original string exactly. */
18
18
  export declare const ProblemReferenceSchema: z.ZodPrefault<z.ZodPipe<z.ZodCodec<z.ZodOptional<z.ZodUnknown>, z.ZodType<string | undefined, string | undefined, z.core.$ZodTypeInternals<string | undefined, string | undefined>>>, z.ZodCodec<z.ZodOptional<z.ZodString>, z.ZodOptional<z.ZodUnion<readonly [z.ZodCustom<URL, URL>, z.ZodString]>>>>>;
19
19
  /** Normalize absence before applying the RFC default, including subtype dispatch. */
20
20
  export declare const ProblemTypeSchema: z.ZodPipe<z.ZodPrefault<z.ZodPipe<z.ZodCodec<z.ZodOptional<z.ZodUnknown>, z.ZodType<string | undefined, string | undefined, z.core.$ZodTypeInternals<string | undefined, string | undefined>>>, z.ZodCodec<z.ZodOptional<z.ZodString>, z.ZodOptional<z.ZodUnion<readonly [z.ZodCustom<URL, URL>, z.ZodString]>>>>>, z.ZodUnion<readonly [z.ZodCustom<URL, URL>, z.ZodString]>>;
package/build/problem.js CHANGED
@@ -29,9 +29,9 @@ const ProblemURI = z.union([
29
29
  z.instanceof(URL),
30
30
  z
31
31
  .string()
32
- .refine((value) => !/^[a-z][a-z0-9+.-]*:/i.test(value) &&
32
+ .refine((value) => (!/^[a-z][a-z0-9+.-]*:/i.test(value) || URL.canParse(value)) &&
33
33
  ![...value].some((character) => /\s/.test(character) || character.codePointAt(0) < 32) &&
34
- !/%(?![0-9a-f]{2})/i.test(value), 'Invalid relative Problem URI'),
34
+ !/%(?![0-9a-f]{2})/i.test(value), 'Invalid Problem URI reference'),
35
35
  ]);
36
36
  /** Compose string constraints/defaults with Problem URI conversion at a single property. */
37
37
  export function createProblemReferenceCodec(schema = z
@@ -50,7 +50,9 @@ export function createProblemReferenceCodec(schema = z
50
50
  if (value === undefined || !/^[a-z][a-z0-9+.-]*:/i.test(value))
51
51
  return value;
52
52
  try {
53
- return new URL(value);
53
+ const url = new URL(value);
54
+ // URL canonicalization must not change a literal, pattern, or enum constraint on the wire value.
55
+ return url.toString() === value ? url : value;
54
56
  }
55
57
  catch {
56
58
  ctx.issues.push({
@@ -65,7 +67,7 @@ export function createProblemReferenceCodec(schema = z
65
67
  }));
66
68
  return reference.prefault(defaultType ? 'about:blank' : undefined);
67
69
  }
68
- /** URI references preserve empty/relative strings and represent absolute URIs as URLs. */
70
+ /** URI references use URLs only when conversion preserves the original string exactly. */
69
71
  export const ProblemReferenceSchema = createProblemReferenceCodec();
70
72
  /** Normalize absence before applying the RFC default, including subtype dispatch. */
71
73
  export const ProblemTypeSchema = createProblemReferenceCodec(z.string(), true).pipe(ProblemURI);
@@ -1 +1 @@
1
- {"version":3,"file":"problem.js","sourceRoot":"","sources":["../src/problem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"problem.js","sourceRoot":"","sources":["../src/problem.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,7 @@
11
11
  // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12
12
  // See the License for the specific language governing permissions and
13
13
  // limitations under the License.
14
+ import { z } from 'zod';
14
15
  import { Problem } from '../problem.js';
15
16
  export async function nullifyNotFound(promise) {
16
17
  return await nullifyProblem(promise, [404], []);
@@ -20,7 +21,8 @@ export async function nullifyProblem(promise, statuses, problemTypes) {
20
21
  return await promise;
21
22
  }
22
23
  catch (error) {
23
- if (error instanceof Problem && matchesProblem(error, statuses, problemTypes)) {
24
+ if (error instanceof Problem &&
25
+ matchesProblem(error, statuses, problemTypes)) {
24
26
  return null;
25
27
  }
26
28
  throw error;
@@ -30,8 +32,13 @@ function matchesProblem(error, statuses, problemTypes) {
30
32
  if (error.status !== undefined && statuses.includes(error.status)) {
31
33
  return true;
32
34
  }
33
- return problemTypes.some((matcher) => typeof matcher === 'function'
34
- ? matcher(error)
35
- : matcher.safeParse(error).success);
35
+ return problemTypes.some((matcher) => {
36
+ if (typeof matcher === 'function')
37
+ return matcher(error);
38
+ // A thrown Problem is already decoded; codecs validate it in their output direction.
39
+ return matcher instanceof z.ZodCodec
40
+ ? matcher.safeEncode(error).success
41
+ : matcher.safeParse(error).success;
42
+ });
36
43
  }
37
44
  //# sourceMappingURL=nullify.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"nullify.js","sourceRoot":"","sources":["../../src/util/nullify.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAGjC,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAIxC,MAAM,CAAC,KAAK,UAAU,eAAe,CAAI,OAAmB;IAC1D,OAAO,MAAM,cAAc,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAmB,EACnB,QAAkB,EAClB,YAA8B;IAE9B,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,OAAO,IAAI,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,CAAC;YAC9E,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CACrB,KAAc,EACd,QAAkB,EAClB,YAA8B;IAE9B,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAClE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CACnC,OAAO,OAAO,KAAK,UAAU;QAC3B,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC;QAChB,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CACrC,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"nullify.js","sourceRoot":"","sources":["../../src/util/nullify.ts"],"names":[],"mappings":"AAAA,8BAA8B;AAC9B,EAAE;AACF,kEAAkE;AAClE,mEAAmE;AACnE,0CAA0C;AAC1C,EAAE;AACF,gDAAgD;AAChD,EAAE;AACF,sEAAsE;AACtE,oEAAoE;AACpE,2EAA2E;AAC3E,sEAAsE;AACtE,iCAAiC;AAEjC,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAMxC,MAAM,CAAC,KAAK,UAAU,eAAe,CACnC,OAAmB;IAEnB,OAAO,MAAM,cAAc,CAAC,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,OAAmB,EACnB,QAAkB,EAClB,YAA8B;IAE9B,IAAI,CAAC;QACH,OAAO,MAAM,OAAO,CAAC;IACvB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IACE,KAAK,YAAY,OAAO;YACxB,cAAc,CAAC,KAAK,EAAE,QAAQ,EAAE,YAAY,CAAC,EAC7C,CAAC;YACD,OAAO,IAAI,CAAC;QACd,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,SAAS,cAAc,CACrB,KAAc,EACd,QAAkB,EAClB,YAA8B;IAE9B,IAAI,KAAK,CAAC,MAAM,KAAK,SAAS,IAAI,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;QAClE,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE;QACnC,IAAI,OAAO,OAAO,KAAK,UAAU;YAAE,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC;QACzD,qFAAqF;QACrF,OAAO,OAAO,YAAY,CAAC,CAAC,QAAQ;YAClC,CAAC,CAAC,OAAO,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,OAAO;YACnC,CAAC,CAAC,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC;IACvC,CAAC,CAAC,CAAC;AACL,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@outfoxx/sunday",
3
- "version": "v2.0.0-beta.15",
3
+ "version": "v2.0.0-beta.17",
4
4
  "description": "Sunday 🙏 The framework of REST for TypeScript/JavaScript",
5
5
  "packageManager": "bun@1.3.10",
6
6
  "type": "module",