@amplitude/ampli
Version:
Amplitude CLI
24 lines (23 loc) • 1.17 kB
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
const code_1 = require("../code");
const multilineComment_1 = require("../multilineComment");
const sinlgelineComment_1 = require("../sinlgelineComment");
const stringLiteral_1 = require("../stringLiteral");
class SwiftCodeFactory extends code_1.default {
constructor(source) {
const sourceChars = [...source];
const factories = [
new sinlgelineComment_1.default(sourceChars, '//'),
new multilineComment_1.default(sourceChars, '/*', '*/', true),
new stringLiteral_1.default(sourceChars, `"`, `"`, [`\\"`, `\\\\`], false),
new stringLiteral_1.default(sourceChars, `"""`, `"""`, [`\\"`, `\\\\`], true),
];
for (let i = 1; i < 20; i += 1) {
const addition = '#'.repeat(i);
factories.push(new stringLiteral_1.default(sourceChars, `${addition}"`, `"${addition}`, [`\\${addition}`], false), new stringLiteral_1.default(sourceChars, `${addition}"""`, `"""${addition}`, [`\\${addition}`], true));
}
super(sourceChars, factories);
}
}
exports.default = SwiftCodeFactory;