@@ -15,8 +15,6 @@ function build (schema, options) {
1515 `
1616 code += `
1717 ${ $asString . toString ( ) }
18- ${ $asStringSmall . toString ( ) }
19- ${ $asStringLong . toString ( ) }
2018 ${ $asNumber . toString ( ) }
2119 ${ $asNull . toString ( ) }
2220 ${ $asBoolean . toString ( ) }
@@ -86,47 +84,7 @@ function $asString (str) {
8684 str = str . toString ( )
8785 }
8886
89- if ( str . length < 42 ) {
90- return $asStringSmall ( str )
91- } else {
92- return $asStringLong ( str )
93- }
94- }
95-
96- function $asStringLong ( str ) {
97- var result = ''
98- var l = str . length
99- var i
100-
101- for ( ; ( i = str . indexOf ( '"' ) ) >= 0 && i < l ; ) {
102- result += str . slice ( 0 , i ) + '\\"'
103- str = str . slice ( i + 1 )
104- l = str . length
105- }
106-
107- if ( l > 0 ) {
108- result += str
109- }
110-
111- return '"' + result + '"'
112- }
113-
114- function $asStringSmall ( str ) {
115- var result = ''
116- var last = 0
117- var l = str . length
118- for ( var i = 0 ; i < l ; i ++ ) {
119- if ( str [ i ] === '"' ) {
120- result += str . slice ( last , i ) + '\\"'
121- last = i + 1
122- }
123- }
124- if ( last === 0 ) {
125- result = str
126- } else {
127- result += str . slice ( last )
128- }
129- return '"' + result + '"'
87+ return JSON . stringify ( str )
13088}
13189
13290function $asRegExp ( reg ) {
@@ -306,12 +264,13 @@ function buildObject (schema, code, name, externalSchema) {
306264
307265 code += result . code
308266 laterCode = result . laterCode
309-
267+ /* eslint-disable no-useless-escape */
310268 if ( i < a . length - 1 ) {
311269 code += `
312270 json += \',\'
313271 `
314272 }
273+ /* eslint-enable no-useless-escape */
315274
316275 if ( schema . required && schema . required . indexOf ( key ) !== - 1 ) {
317276 code += `
@@ -398,14 +357,14 @@ function nested (laterCode, name, key, schema, externalSchema) {
398357 `
399358 break
400359 case 'object' :
401- funcName = ( name + key ) . replace ( / [ - . \[ \] ] / g, '' )
360+ funcName = ( name + key ) . replace ( / [ - . \[ \] ] / g, '' ) // eslint-disable-line
402361 laterCode = buildObject ( schema , laterCode , funcName , externalSchema )
403362 code += `
404363 json += ${ funcName } (obj${ key } )
405364 `
406365 break
407366 case 'array' :
408- funcName = ( name + key ) . replace ( / [ - . \[ \] ] / g, '' )
367+ funcName = ( name + key ) . replace ( / [ - . \[ \] ] / g, '' ) // eslint-disable-line
409368 laterCode = buildArray ( schema , laterCode , funcName , externalSchema )
410369 code += `
411370 json += ${ funcName } (obj${ key } )
0 commit comments