diff --git a/docs/API.md b/docs/API.md index 1db3872..a8270e4 100644 --- a/docs/API.md +++ b/docs/API.md @@ -311,7 +311,7 @@ The length of a string instance is defined as the number of its characters as de
StringSchema
A string value can be RELATIVE_JSON_POINTER, JSON_POINTER, UUID, REGEX, IPV6, IPV4, HOSTNAME, EMAIL, URL, URI_TEMPLATE, URI_REFERENCE, URI, TIME, DATE,
+A string value can be RELATIVE_JSON_POINTER, JSON_POINTER, UUID, REGEX, IPV6, IPV4, HOSTNAME, EMAIL, URL, URI_TEMPLATE, URI_REFERENCE, URI, TIME, DATE, DATE_TIME, ISO_TIME, ISO_DATE_TIME.
StringSchema
StringSchema
](#StringSchema)
-A string value can be RELATIVE_JSON_POINTER, JSON_POINTER, UUID, REGEX, IPV6, IPV4, HOSTNAME, EMAIL, URL, URI_TEMPLATE, URI_REFERENCE, URI, TIME, DATE,
+A string value can be RELATIVE_JSON_POINTER, JSON_POINTER, UUID, REGEX, IPV6, IPV4, HOSTNAME, EMAIL, URL, URI_TEMPLATE, URI_REFERENCE, URI, TIME, DATE, DATE_TIME, ISO_TIME, ISO_DATE_TIME.
[reference](https://tools.ietf.org/id/draft-handrews-json-schema-validation-01.html#rfc.section.7.3)
diff --git a/src/StringSchema.test.js b/src/StringSchema.test.js
index 829ad24..30e986d 100644
--- a/src/StringSchema.test.js
+++ b/src/StringSchema.test.js
@@ -101,6 +101,15 @@ describe('StringSchema', () => {
}
)
})
+ it('valid FORMATS.ISO_TIME', () => {
+ assert.deepStrictEqual(
+ StringSchema().format(FORMATS.ISO_TIME).valueOf(),
+ {
+ type: 'string',
+ format: 'iso-time'
+ }
+ )
+ })
it('invalid', () => {
assert.throws(
() => StringSchema().format('invalid'),
diff --git a/types/FluentJSONSchema.d.ts b/types/FluentJSONSchema.d.ts
index 0589875..9cd1f23 100644
--- a/types/FluentJSONSchema.d.ts
+++ b/types/FluentJSONSchema.d.ts
@@ -51,6 +51,8 @@ type FORMATS = {
TIME: 'time'
DATE: 'date'
DATE_TIME: 'date-time'
+ ISO_TIME: 'iso-time'
+ ISO_DATE_TIME: 'iso-date-time'
}
export type JSONSchema =
diff --git a/types/FluentJSONSchema.test-d.ts b/types/FluentJSONSchema.test-d.ts
index 9a18a1f..e105b88 100644
--- a/types/FluentJSONSchema.test-d.ts
+++ b/types/FluentJSONSchema.test-d.ts
@@ -197,3 +197,10 @@ const deepTestOnTypes = S.object