@xyo-network/xns-record-payloadset-plugins 3.0.11 → 3.0.12

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 (132) hide show
  1. package/dist/browser/estimate/index.d.ts +2 -0
  2. package/dist/browser/estimate/index.d.ts.map +1 -0
  3. package/dist/browser/estimate/lib/index.d.ts.map +1 -0
  4. package/dist/browser/estimate/lib/parseDomainEstimates.d.ts.map +1 -0
  5. package/dist/browser/index.d.ts +2 -1
  6. package/dist/browser/index.d.ts.map +1 -1
  7. package/dist/browser/index.mjs +211 -1
  8. package/dist/browser/index.mjs.map +1 -1
  9. package/dist/browser/validation/index.d.ts +3 -0
  10. package/dist/browser/validation/index.d.ts.map +1 -0
  11. package/dist/browser/validation/name/Name.d.ts +21 -0
  12. package/dist/browser/validation/name/Name.d.ts.map +1 -0
  13. package/dist/browser/validation/name/index.d.ts +3 -0
  14. package/dist/browser/validation/name/index.d.ts.map +1 -0
  15. package/dist/browser/validation/name/lib/index.d.ts +2 -0
  16. package/dist/browser/validation/name/lib/index.d.ts.map +1 -0
  17. package/dist/browser/validation/name/lib/removeDisallowedCharacters.d.ts +2 -0
  18. package/dist/browser/validation/name/lib/removeDisallowedCharacters.d.ts.map +1 -0
  19. package/dist/browser/validation/name/types/ValidSources.d.ts +2 -0
  20. package/dist/browser/validation/name/types/ValidSources.d.ts.map +1 -0
  21. package/dist/browser/validation/name/types/index.d.ts +2 -0
  22. package/dist/browser/validation/name/types/index.d.ts.map +1 -0
  23. package/dist/browser/validation/validation/Constants.d.ts +3 -0
  24. package/dist/browser/validation/validation/Constants.d.ts.map +1 -0
  25. package/dist/browser/validation/validation/factory/index.d.ts +2 -0
  26. package/dist/browser/validation/validation/factory/index.d.ts.map +1 -0
  27. package/dist/browser/validation/validation/factory/validators.d.ts +6 -0
  28. package/dist/browser/validation/validation/factory/validators.d.ts.map +1 -0
  29. package/dist/browser/validation/validation/index.d.ts +4 -0
  30. package/dist/browser/validation/validation/index.d.ts.map +1 -0
  31. package/dist/browser/validation/validation/validators/index.d.ts +2 -0
  32. package/dist/browser/validation/validation/validators/index.d.ts.map +1 -0
  33. package/dist/browser/validation/validation/validators/validators.d.ts +14 -0
  34. package/dist/browser/validation/validation/validators/validators.d.ts.map +1 -0
  35. package/dist/neutral/estimate/index.d.ts +2 -0
  36. package/dist/neutral/estimate/index.d.ts.map +1 -0
  37. package/dist/neutral/estimate/lib/index.d.ts.map +1 -0
  38. package/dist/neutral/estimate/lib/parseDomainEstimates.d.ts.map +1 -0
  39. package/dist/neutral/index.d.ts +2 -1
  40. package/dist/neutral/index.d.ts.map +1 -1
  41. package/dist/neutral/index.mjs +211 -1
  42. package/dist/neutral/index.mjs.map +1 -1
  43. package/dist/neutral/validation/index.d.ts +3 -0
  44. package/dist/neutral/validation/index.d.ts.map +1 -0
  45. package/dist/neutral/validation/name/Name.d.ts +21 -0
  46. package/dist/neutral/validation/name/Name.d.ts.map +1 -0
  47. package/dist/neutral/validation/name/index.d.ts +3 -0
  48. package/dist/neutral/validation/name/index.d.ts.map +1 -0
  49. package/dist/neutral/validation/name/lib/index.d.ts +2 -0
  50. package/dist/neutral/validation/name/lib/index.d.ts.map +1 -0
  51. package/dist/neutral/validation/name/lib/removeDisallowedCharacters.d.ts +2 -0
  52. package/dist/neutral/validation/name/lib/removeDisallowedCharacters.d.ts.map +1 -0
  53. package/dist/neutral/validation/name/types/ValidSources.d.ts +2 -0
  54. package/dist/neutral/validation/name/types/ValidSources.d.ts.map +1 -0
  55. package/dist/neutral/validation/name/types/index.d.ts +2 -0
  56. package/dist/neutral/validation/name/types/index.d.ts.map +1 -0
  57. package/dist/neutral/validation/validation/Constants.d.ts +3 -0
  58. package/dist/neutral/validation/validation/Constants.d.ts.map +1 -0
  59. package/dist/neutral/validation/validation/factory/index.d.ts +2 -0
  60. package/dist/neutral/validation/validation/factory/index.d.ts.map +1 -0
  61. package/dist/neutral/validation/validation/factory/validators.d.ts +6 -0
  62. package/dist/neutral/validation/validation/factory/validators.d.ts.map +1 -0
  63. package/dist/neutral/validation/validation/index.d.ts +4 -0
  64. package/dist/neutral/validation/validation/index.d.ts.map +1 -0
  65. package/dist/neutral/validation/validation/validators/index.d.ts +2 -0
  66. package/dist/neutral/validation/validation/validators/index.d.ts.map +1 -0
  67. package/dist/neutral/validation/validation/validators/validators.d.ts +14 -0
  68. package/dist/neutral/validation/validation/validators/validators.d.ts.map +1 -0
  69. package/dist/node/estimate/index.d.ts +2 -0
  70. package/dist/node/estimate/index.d.ts.map +1 -0
  71. package/dist/node/estimate/lib/index.d.ts.map +1 -0
  72. package/dist/node/estimate/lib/parseDomainEstimates.d.ts.map +1 -0
  73. package/dist/node/index.d.ts +2 -1
  74. package/dist/node/index.d.ts.map +1 -1
  75. package/dist/node/index.mjs +211 -1
  76. package/dist/node/index.mjs.map +1 -1
  77. package/dist/node/validation/index.d.ts +3 -0
  78. package/dist/node/validation/index.d.ts.map +1 -0
  79. package/dist/node/validation/name/Name.d.ts +21 -0
  80. package/dist/node/validation/name/Name.d.ts.map +1 -0
  81. package/dist/node/validation/name/index.d.ts +3 -0
  82. package/dist/node/validation/name/index.d.ts.map +1 -0
  83. package/dist/node/validation/name/lib/index.d.ts +2 -0
  84. package/dist/node/validation/name/lib/index.d.ts.map +1 -0
  85. package/dist/node/validation/name/lib/removeDisallowedCharacters.d.ts +2 -0
  86. package/dist/node/validation/name/lib/removeDisallowedCharacters.d.ts.map +1 -0
  87. package/dist/node/validation/name/types/ValidSources.d.ts +2 -0
  88. package/dist/node/validation/name/types/ValidSources.d.ts.map +1 -0
  89. package/dist/node/validation/name/types/index.d.ts +2 -0
  90. package/dist/node/validation/name/types/index.d.ts.map +1 -0
  91. package/dist/node/validation/validation/Constants.d.ts +3 -0
  92. package/dist/node/validation/validation/Constants.d.ts.map +1 -0
  93. package/dist/node/validation/validation/factory/index.d.ts +2 -0
  94. package/dist/node/validation/validation/factory/index.d.ts.map +1 -0
  95. package/dist/node/validation/validation/factory/validators.d.ts +6 -0
  96. package/dist/node/validation/validation/factory/validators.d.ts.map +1 -0
  97. package/dist/node/validation/validation/index.d.ts +4 -0
  98. package/dist/node/validation/validation/index.d.ts.map +1 -0
  99. package/dist/node/validation/validation/validators/index.d.ts +2 -0
  100. package/dist/node/validation/validation/validators/index.d.ts.map +1 -0
  101. package/dist/node/validation/validation/validators/validators.d.ts +14 -0
  102. package/dist/node/validation/validation/validators/validators.d.ts.map +1 -0
  103. package/package.json +6 -2
  104. package/src/estimate/index.ts +1 -0
  105. package/src/index.ts +2 -1
  106. package/src/validation/index.ts +2 -0
  107. package/src/validation/name/Name.ts +100 -0
  108. package/src/validation/name/index.ts +2 -0
  109. package/src/validation/name/lib/index.ts +1 -0
  110. package/src/validation/name/lib/removeDisallowedCharacters.ts +26 -0
  111. package/src/validation/name/types/ValidSources.ts +1 -0
  112. package/src/validation/name/types/index.ts +1 -0
  113. package/src/validation/validation/Constants.ts +2 -0
  114. package/src/validation/validation/factory/index.ts +1 -0
  115. package/src/validation/validation/factory/validators.ts +47 -0
  116. package/src/validation/validation/index.ts +3 -0
  117. package/src/validation/validation/validators/index.ts +1 -0
  118. package/src/validation/validation/validators/validators.ts +93 -0
  119. package/dist/browser/lib/index.d.ts.map +0 -1
  120. package/dist/browser/lib/parseDomainEstimates.d.ts.map +0 -1
  121. package/dist/neutral/lib/index.d.ts.map +0 -1
  122. package/dist/neutral/lib/parseDomainEstimates.d.ts.map +0 -1
  123. package/dist/node/lib/index.d.ts.map +0 -1
  124. package/dist/node/lib/parseDomainEstimates.d.ts.map +0 -1
  125. /package/dist/browser/{lib → estimate/lib}/index.d.ts +0 -0
  126. /package/dist/browser/{lib → estimate/lib}/parseDomainEstimates.d.ts +0 -0
  127. /package/dist/neutral/{lib → estimate/lib}/index.d.ts +0 -0
  128. /package/dist/neutral/{lib → estimate/lib}/parseDomainEstimates.d.ts +0 -0
  129. /package/dist/node/{lib → estimate/lib}/index.d.ts +0 -0
  130. /package/dist/node/{lib → estimate/lib}/parseDomainEstimates.d.ts +0 -0
  131. /package/src/{lib → estimate/lib}/index.ts +0 -0
  132. /package/src/{lib → estimate/lib}/parseDomainEstimates.ts +0 -0
@@ -0,0 +1,47 @@
1
+ import type { Payload, PayloadValidationFunction } from '@xyo-network/payload-model'
2
+ import type { DomainFields } from '@xyo-network/xns-record-payload-plugins'
3
+
4
+ export const getDomainReservedStringsValidator = (
5
+ reservedStrings: string[],
6
+ ): PayloadValidationFunction<Payload<DomainFields>> => {
7
+ return (payload: Payload<DomainFields>) => {
8
+ const { domain } = payload
9
+ // Check if in one of the reserved name lists
10
+ if (reservedStrings.includes(domain)) {
11
+ console.log('Reserved name')
12
+ return false
13
+ }
14
+ return true
15
+ }
16
+ }
17
+
18
+ export const getDomainReservedFragmentsValidator = (
19
+ reservedFragments: string[],
20
+ ): PayloadValidationFunction<Payload<DomainFields>> => {
21
+ return (payload: Payload<DomainFields>) => {
22
+ const { domain } = payload
23
+ // Check if any of our fragments are in the name
24
+ for (const reserved of reservedFragments) {
25
+ if (domain.includes(reserved)) {
26
+ console.log('Reserved name fragment')
27
+ return false
28
+ }
29
+ }
30
+ return true
31
+ }
32
+ }
33
+
34
+ export const getDomainReservedNamesValidator = (reservedNames: string[]): PayloadValidationFunction<Payload<DomainFields>> => {
35
+ return (payload: Payload<DomainFields>) => {
36
+ const { domain } = payload
37
+ // Check if any of our fragments are in the name
38
+ for (const reserved of reservedNames) {
39
+ const parts = reserved.split(' ')
40
+ if (domain === [parts[1], parts[0]].join('') || domain === [parts[0], parts[1]].join('')) {
41
+ console.log('Reserved name')
42
+ return false
43
+ }
44
+ }
45
+ return true
46
+ }
47
+ }
@@ -0,0 +1,3 @@
1
+ export * from './Constants.ts'
2
+ export * from './factory/index.ts'
3
+ export * from './validators/index.ts'
@@ -0,0 +1 @@
1
+ export * from './validators.ts'
@@ -0,0 +1,93 @@
1
+ import { isModuleName } from '@xyo-network/module-model'
2
+ import type { Payload, PayloadValidationFunction } from '@xyo-network/payload-model'
3
+ import type { DomainFields } from '@xyo-network/xns-record-payload-plugins'
4
+
5
+ import { MAX_DOMAIN_LENGTH, MIN_DOMAIN_LENGTH } from '../Constants.ts'
6
+
7
+ export const domainCasingValidator: PayloadValidationFunction<Payload<DomainFields>> = (
8
+ payload: Payload<DomainFields>,
9
+ ) => {
10
+ const { domain } = payload
11
+ // Check if all lowercase
12
+ if (domain.toLowerCase() !== domain) {
13
+ console.log('name must be lowercase')
14
+ return false
15
+ }
16
+ return true
17
+ }
18
+
19
+ export const domainModuleNameValidator: PayloadValidationFunction<Payload<DomainFields>> = (
20
+ payload: Payload<DomainFields>,
21
+ ) => {
22
+ const { domain } = payload
23
+
24
+ // check if domain is a valid name
25
+ if (!isModuleName(domain)) {
26
+ console.log(`Domain is not a valid module name: ${domain}`)
27
+ return false
28
+ }
29
+
30
+ return true
31
+ }
32
+
33
+ export const domainTldValidator: PayloadValidationFunction<Payload<DomainFields>> = (
34
+ payload: Payload<DomainFields>,
35
+ ) => {
36
+ const { tld } = payload
37
+ // Check if all lowercase
38
+ if (tld.toLowerCase() !== tld) {
39
+ console.log('TLD must be lowercase')
40
+ return false
41
+ }
42
+ // Check if supported TLDs
43
+ if (tld !== 'xyo') {
44
+ console.log('Only XYO TLD currently supported')
45
+ return false
46
+ }
47
+ return true
48
+ }
49
+
50
+ export const getDomainLengthValidator = (
51
+ minNameLength = MIN_DOMAIN_LENGTH,
52
+ maxLength = MAX_DOMAIN_LENGTH,
53
+ ): PayloadValidationFunction<Payload<DomainFields>> => {
54
+ return (payload: Payload<DomainFields>) => {
55
+ const { domain } = payload
56
+ // Check if min length
57
+ if (domain.length < minNameLength) {
58
+ console.log(`name must be at least ${minNameLength} characters`)
59
+ return false
60
+ }
61
+ if (domain.length > maxLength) {
62
+ console.log(`name must be at least ${maxLength} characters`)
63
+ return false
64
+ }
65
+ return true
66
+ }
67
+ }
68
+
69
+ export const getDomainAllowedHyphensValidator = (
70
+ options?: { end?: boolean; start?: boolean },
71
+ ): PayloadValidationFunction<Payload<DomainFields>> => {
72
+ return (payload: Payload<DomainFields>) => {
73
+ const { domain } = payload
74
+ const { start, end } = options ?? {}
75
+ if (!start && domain.startsWith('-')) {
76
+ console.log('name cannot start with hyphen')
77
+ return false
78
+ }
79
+ if (!end && domain.endsWith('-')) {
80
+ console.log('name cannot end with hyphen')
81
+ return false
82
+ }
83
+ return true
84
+ }
85
+ }
86
+
87
+ export const XnsNameSimpleValidators = [
88
+ domainCasingValidator,
89
+ domainModuleNameValidator,
90
+ domainTldValidator,
91
+ getDomainLengthValidator(),
92
+ getDomainAllowedHyphensValidator(),
93
+ ]
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"parseDomainEstimates.d.ts","sourceRoot":"","sources":["../../../src/lib/parseDomainEstimates.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,OAAO,EACR,MAAM,4BAA4B,CAAA;AACnC,OAAO,EACL,KAAK,cAAc,EAEpB,MAAM,yCAAyC,CAAA;AAOhD,eAAO,MAAM,oBAAoB,cAAqB,OAAO,EAAE,KAAG,OAAO,CAAC,cAAc,EAAE,CA0BzF,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"parseDomainEstimates.d.ts","sourceRoot":"","sources":["../../../src/lib/parseDomainEstimates.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,OAAO,EACR,MAAM,4BAA4B,CAAA;AACnC,OAAO,EACL,KAAK,cAAc,EAEpB,MAAM,yCAAyC,CAAA;AAOhD,eAAO,MAAM,oBAAoB,cAAqB,OAAO,EAAE,KAAG,OAAO,CAAC,cAAc,EAAE,CA0BzF,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/lib/index.ts"],"names":[],"mappings":"AAAA,cAAc,2BAA2B,CAAA"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"parseDomainEstimates.d.ts","sourceRoot":"","sources":["../../../src/lib/parseDomainEstimates.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EACV,OAAO,EACR,MAAM,4BAA4B,CAAA;AACnC,OAAO,EACL,KAAK,cAAc,EAEpB,MAAM,yCAAyC,CAAA;AAOhD,eAAO,MAAM,oBAAoB,cAAqB,OAAO,EAAE,KAAG,OAAO,CAAC,cAAc,EAAE,CA0BzF,CAAA"}
File without changes
File without changes
File without changes
File without changes