@@ -146,7 +146,7 @@ final class TemplateParser {
146
146
return
147
147
}
148
148
case " # " :
149
- let content = templateString . substring ( with : templateString. index ( after: tagInitialIndex) ..< i)
149
+ let content = String ( templateString [ templateString . index ( after: tagInitialIndex) ..< i] )
150
150
let token = TemplateToken (
151
151
type: . section( content: content, tagDelimiterPair: currentDelimiters. tagDelimiterPair) ,
152
152
lineNumber: startLineNumber,
@@ -157,7 +157,7 @@ final class TemplateParser {
157
157
return
158
158
}
159
159
case " ^ " :
160
- let content = templateString . substring ( with : templateString. index ( after: tagInitialIndex) ..< i)
160
+ let content = String ( templateString [ templateString . index ( after: tagInitialIndex) ..< i] )
161
161
let token = TemplateToken (
162
162
type: . invertedSection( content: content, tagDelimiterPair: currentDelimiters. tagDelimiterPair) ,
163
163
lineNumber: startLineNumber,
@@ -168,7 +168,7 @@ final class TemplateParser {
168
168
return
169
169
}
170
170
case " $ " :
171
- let content = templateString . substring ( with : templateString. index ( after: tagInitialIndex) ..< i)
171
+ let content = String ( templateString [ templateString . index ( after: tagInitialIndex) ..< i] )
172
172
let token = TemplateToken (
173
173
type: . block( content: content) ,
174
174
lineNumber: startLineNumber,
@@ -179,7 +179,7 @@ final class TemplateParser {
179
179
return
180
180
}
181
181
case " / " :
182
- let content = templateString . substring ( with : templateString. index ( after: tagInitialIndex) ..< i)
182
+ let content = String ( templateString [ templateString . index ( after: tagInitialIndex) ..< i] )
183
183
let token = TemplateToken (
184
184
type: . close( content: content) ,
185
185
lineNumber: startLineNumber,
@@ -190,7 +190,7 @@ final class TemplateParser {
190
190
return
191
191
}
192
192
case " > " :
193
- let content = templateString . substring ( with : templateString. index ( after: tagInitialIndex) ..< i)
193
+ let content = String ( templateString [ templateString . index ( after: tagInitialIndex) ..< i] )
194
194
let token = TemplateToken (
195
195
type: . partial( content: content) ,
196
196
lineNumber: startLineNumber,
@@ -201,7 +201,7 @@ final class TemplateParser {
201
201
return
202
202
}
203
203
case " < " :
204
- let content = templateString . substring ( with : templateString. index ( after: tagInitialIndex) ..< i)
204
+ let content = String ( templateString [ templateString . index ( after: tagInitialIndex) ..< i] )
205
205
let token = TemplateToken (
206
206
type: . partialOverride( content: content) ,
207
207
lineNumber: startLineNumber,
@@ -212,7 +212,7 @@ final class TemplateParser {
212
212
return
213
213
}
214
214
case " & " :
215
- let content = templateString . substring ( with : templateString. index ( after: tagInitialIndex) ..< i)
215
+ let content = String ( templateString [ templateString . index ( after: tagInitialIndex) ..< i] )
216
216
let token = TemplateToken (
217
217
type: . unescapedVariable( content: content, tagDelimiterPair: currentDelimiters. tagDelimiterPair) ,
218
218
lineNumber: startLineNumber,
@@ -223,7 +223,7 @@ final class TemplateParser {
223
223
return
224
224
}
225
225
case " % " :
226
- let content = templateString . substring ( with : templateString. index ( after: tagInitialIndex) ..< i)
226
+ let content = String ( templateString [ templateString . index ( after: tagInitialIndex) ..< i] )
227
227
let token = TemplateToken (
228
228
type: . pragma( content: content) ,
229
229
lineNumber: startLineNumber,
@@ -234,7 +234,7 @@ final class TemplateParser {
234
234
return
235
235
}
236
236
default :
237
- let content = templateString . substring ( with : tagInitialIndex..< i)
237
+ let content = String ( templateString [ tagInitialIndex..< i] )
238
238
let token = TemplateToken (
239
239
type: . escapedVariable( content: content, tagDelimiterPair: currentDelimiters. tagDelimiterPair) ,
240
240
lineNumber: startLineNumber,
@@ -255,7 +255,7 @@ final class TemplateParser {
255
255
lineNumber += 1
256
256
} else if atString ( i, currentDelimiters. unescapedTagEnd) {
257
257
let tagInitialIndex = templateString. index ( startIndex, offsetBy: currentDelimiters. unescapedTagStartLength)
258
- let content = templateString . substring ( with : tagInitialIndex..< i)
258
+ let content = String ( templateString [ tagInitialIndex..< i] )
259
259
let token = TemplateToken (
260
260
type: . unescapedVariable( content: content, tagDelimiterPair: currentDelimiters. tagDelimiterPair) ,
261
261
lineNumber: startLineNumber,
@@ -274,7 +274,7 @@ final class TemplateParser {
274
274
lineNumber += 1
275
275
} else if atString ( i, currentDelimiters. setDelimitersEnd) {
276
276
let tagInitialIndex = templateString. index ( startIndex, offsetBy: currentDelimiters. setDelimitersStartLength)
277
- let content = templateString . substring ( with : tagInitialIndex..< i)
277
+ let content = String ( templateString [ tagInitialIndex..< i] )
278
278
let newDelimiters = content. components ( separatedBy: CharacterSet . whitespacesAndNewlines) . filter { $0. count > 0 }
279
279
if ( newDelimiters. count != 2 ) {
280
280
let error = MustacheError ( kind: . parseError, message: " Invalid set delimiters tag " , templateID: templateID, lineNumber: startLineNumber)
0 commit comments