From 3dc1a84385cef4bef914a8998435a5d6a2589fcc Mon Sep 17 00:00:00 2001 From: Arthur Ariel Sabintsev Date: Wed, 13 Sep 2017 21:45:51 -0400 Subject: [PATCH] Updated docs --- Gemfile.lock | 34 +- docs/Extensions.html | 9 +- docs/Extensions/String.html | 299 +++++++++--------- docs/Structs.html | 16 +- docs/Structs/Guitar.html | 58 ++-- docs/Structs/Guitar/Chord.html | 29 +- docs/badge.svg | 2 +- .../Contents/Info.plist | 6 +- .../Resources/Documents/Extensions.html | 9 +- .../Documents/Extensions/String.html | 299 +++++++++--------- .../Contents/Resources/Documents/Structs.html | 16 +- .../Resources/Documents/Structs/Guitar.html | 58 ++-- .../Documents/Structs/Guitar/Chord.html | 29 +- .../Resources/Documents/css/highlight.css | 0 .../Resources/Documents/css/jazzy.css | 0 .../Resources/Documents/img/carat.png | Bin .../Contents/Resources/Documents/img/dash.png | Bin .../Contents/Resources/Documents/img/gh.png | Bin .../Contents/Resources/Documents/index.html | 66 ++++ .../Contents/Resources/Documents/js/jazzy.js | 0 .../Resources/Documents/js/jquery.min.js | 0 .../Contents/Resources/Documents/search.json | 1 + .../.docset/Contents/Resources/docSet.dsidx | Bin 0 -> 12288 bytes docs/docsets/.tgz | Bin 0 -> 49854 bytes .../Contents/Resources/Documents/index.html | 151 --------- .../Contents/Resources/Documents/search.json | 1 - .../Contents/Resources/docSet.dsidx | Bin 12288 -> 0 bytes docs/docsets/Guitar.tgz | Bin 52029 -> 0 bytes docs/index.html | 101 +----- docs/search.json | 2 +- docs/undocumented.json | 87 +---- 31 files changed, 507 insertions(+), 766 deletions(-) rename docs/docsets/{Guitar.docset => .docset}/Contents/Info.plist (83%) rename docs/docsets/{Guitar.docset => .docset}/Contents/Resources/Documents/Extensions.html (89%) rename docs/docsets/{Guitar.docset => .docset}/Contents/Resources/Documents/Extensions/String.html (90%) rename docs/docsets/{Guitar.docset => .docset}/Contents/Resources/Documents/Structs.html (83%) rename docs/docsets/{Guitar.docset => .docset}/Contents/Resources/Documents/Structs/Guitar.html (89%) rename docs/docsets/{Guitar.docset => .docset}/Contents/Resources/Documents/Structs/Guitar/Chord.html (86%) rename docs/docsets/{Guitar.docset => .docset}/Contents/Resources/Documents/css/highlight.css (100%) rename docs/docsets/{Guitar.docset => .docset}/Contents/Resources/Documents/css/jazzy.css (100%) rename docs/docsets/{Guitar.docset => .docset}/Contents/Resources/Documents/img/carat.png (100%) rename docs/docsets/{Guitar.docset => .docset}/Contents/Resources/Documents/img/dash.png (100%) rename docs/docsets/{Guitar.docset => .docset}/Contents/Resources/Documents/img/gh.png (100%) create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/index.html rename docs/docsets/{Guitar.docset => .docset}/Contents/Resources/Documents/js/jazzy.js (100%) rename docs/docsets/{Guitar.docset => .docset}/Contents/Resources/Documents/js/jquery.min.js (100%) create mode 100644 docs/docsets/.docset/Contents/Resources/Documents/search.json create mode 100644 docs/docsets/.docset/Contents/Resources/docSet.dsidx create mode 100644 docs/docsets/.tgz delete mode 100644 docs/docsets/Guitar.docset/Contents/Resources/Documents/index.html delete mode 100644 docs/docsets/Guitar.docset/Contents/Resources/Documents/search.json delete mode 100644 docs/docsets/Guitar.docset/Contents/Resources/docSet.dsidx delete mode 100644 docs/docsets/Guitar.tgz diff --git a/Gemfile.lock b/Gemfile.lock index fd486ea..faed3b7 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -2,17 +2,17 @@ GEM remote: https://rubygems.org/ specs: CFPropertyList (2.3.5) - activesupport (4.2.8) + activesupport (4.2.9) i18n (~> 0.7) minitest (~> 5.1) thread_safe (~> 0.3, >= 0.3.4) tzinfo (~> 1.1) claide (1.0.2) clamp (0.6.5) - cocoapods (1.2.1) + cocoapods (1.3.1) activesupport (>= 4.0.2, < 5) - claide (>= 1.0.1, < 2.0) - cocoapods-core (= 1.2.1) + claide (>= 1.0.2, < 2.0) + cocoapods-core (= 1.3.1) cocoapods-deintegrate (>= 1.0.1, < 2.0) cocoapods-downloader (>= 1.1.3, < 2.0) cocoapods-plugins (>= 1.0.0, < 2.0) @@ -27,9 +27,9 @@ GEM molinillo (~> 0.5.7) nap (~> 1.0) ruby-macho (~> 1.1) - xcodeproj (>= 1.4.4, < 2.0) - cocoapods-core (1.2.1) - activesupport (>= 4.0.2, < 5) + xcodeproj (>= 1.5.1, < 2.0) + cocoapods-core (1.3.1) + activesupport (>= 4.0.2, < 6) fuzzy_match (~> 2.0.4) nap (~> 1.0) cocoapods-deintegrate (1.0.1) @@ -45,11 +45,12 @@ GEM colored2 (3.1.2) colorize (0.8.1) escape (0.0.4) + ffi (1.9.18) fourflusher (2.0.1) fuzzy_match (2.0.4) gh_inspector (1.0.3) - i18n (0.8.4) - jazzy (0.8.2) + i18n (0.8.6) + jazzy (0.8.3) cocoapods (~> 1.0) mustache (~> 0.99) open4 @@ -59,17 +60,24 @@ GEM sqlite3 (~> 1.3) xcinvoke (~> 0.3.0) liferaft (0.0.6) - minitest (5.10.2) + minitest (5.10.3) molinillo (0.5.7) mustache (0.99.8) nanaimo (0.2.3) nap (1.1.0) netrc (0.7.8) open4 (1.3.4) + rb-fsevent (0.10.2) + rb-inotify (0.9.10) + ffi (>= 0.5.0, < 2) redcarpet (3.4.0) rouge (1.11.1) ruby-macho (1.1.0) - sass (3.4.24) + sass (3.5.1) + sass-listen (~> 4.0.0) + sass-listen (4.0.0) + rb-fsevent (~> 0.9, >= 0.9.4) + rb-inotify (~> 0.9, >= 0.9.7) sqlite3 (1.3.13) synx (0.2.1) clamp (~> 0.6) @@ -80,7 +88,7 @@ GEM thread_safe (~> 0.1) xcinvoke (0.3.0) liferaft (~> 0.0.6) - xcodeproj (1.5.0) + xcodeproj (1.5.1) CFPropertyList (~> 2.3.3) claide (>= 1.0.2, < 2.0) colored2 (~> 3.1) @@ -94,4 +102,4 @@ DEPENDENCIES synx BUNDLED WITH - 1.15.0 + 1.15.4 diff --git a/docs/Extensions.html b/docs/Extensions.html index 87148db..c955952 100644 --- a/docs/Extensions.html +++ b/docs/Extensions.html @@ -13,13 +13,12 @@
-

Guitar Docs (93% documented)

-

View on GitHub

+

Docs (100% documented)

@@ -97,8 +96,8 @@

Declaration

diff --git a/docs/Extensions/String.html b/docs/Extensions/String.html index 16d881b..d45e5ae 100644 --- a/docs/Extensions/String.html +++ b/docs/Extensions/String.html @@ -14,13 +14,12 @@
-

Guitar Docs (93% documented)

-

View on GitHub

+

Docs (100% documented)

@@ -67,9 +66,9 @@

String

  • - + - isAlpha() + isAlpha()
    @@ -98,9 +97,9 @@

    Return Value

  • - + - isAlphanumeric() + isAlphanumeric()
    @@ -129,9 +128,9 @@

    Return Value

  • - + - isCapitalized() + isCapitalized()
    @@ -160,9 +159,9 @@

    Return Value

  • - + - isDecapitalized() + isDecapitalized()
    @@ -191,9 +190,9 @@

    Return Value

  • - + - isLowercased() + isLowercased()
    @@ -222,9 +221,9 @@

    Return Value

  • - + - isNumeric() + isNumeric()
    @@ -253,9 +252,9 @@

    Return Value

  • - + - isUppercased() + isUppercased()
    @@ -288,9 +287,9 @@

    Return Value

  • - + - camelCased() + camelCased()
    @@ -323,9 +322,9 @@

    Return Value

  • - + - capitalized() + capitalized()
    @@ -363,9 +362,9 @@

    Return Value

  • - + - decapitalized() + decapitalized()
    @@ -398,9 +397,9 @@

    Return Value

  • - + - kebabCased() + kebabCased()
    @@ -433,9 +432,9 @@

    Return Value

  • - + - pascalCased() + pascalCased()
    @@ -468,9 +467,9 @@

    Return Value

  • - + - snakeCased() + snakeCased()
    @@ -503,9 +502,9 @@

    Return Value

  • - + - splitWordsByCase() + splitWordsByCase()
    @@ -538,9 +537,9 @@

    Return Value

  • - + - swapCased() + swapCased()
    @@ -577,118 +576,9 @@

    Return Value

  • - - - latinized() - -
    -
    -
    -
    -
    -
    -

    Returns the latinized version of the string without diacritics.

    -
    let string = "Hello! こんにちは! สวัสดี! مرحبا! 您好!"
    -print(string.latinized())
    -// Prints "Hello! kon'nichiha! swasdi! mrhba! nin hao!"
    -
    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    func latinized() -> String
    - -
    -
    -
    -

    Return Value

    -

    The latinized version of the string without diacritics.

    -
    -
    -
    -
  • -
  • -
    - - - - reversedString() - -
    -
    -
    -
    -
    -
    -

    Retuns the reversed version of the string.

    -
    let string = "Hello World"
    -print(string.reversed())
    -// Prints "dlroW olleH"
    -
    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    func reversedString() -> String
    - -
    -
    -
    -

    Return Value

    -

    The reversed copy of the string.

    -
    -
    -
    -
  • -
  • -
    - - - - withoutAccents() - -
    -
    -
    -
    -
    -
    -

    Returns the string without diacritics.

    -
    let string = "Crème brûlée"
    -print(string.withoutAccents())
    -// Prints "Creme brulee"
    -
    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    func withoutAccents() -> String
    - -
    -
    -
    -

    Return Value

    -

    The string without diacritics.

    -
    -
    -
    -
  • - -
    -
    -
    +
    + +
    diff --git a/docs/Structs.html b/docs/Structs.html index 971dac3..dc3ca7a 100644 --- a/docs/Structs.html +++ b/docs/Structs.html @@ -13,13 +13,12 @@
    -

    Guitar Docs (93% documented)

    -

    View on GitHub

    +

    Docs (100% documented)

    @@ -68,9 +67,9 @@

    Guitar

  • - + - Guitar + Guitar
    @@ -78,8 +77,7 @@

    Guitar

    -

    Undocumented

    - + See more
    @@ -90,8 +88,8 @@

    Guitar

    diff --git a/docs/Structs/Guitar.html b/docs/Structs/Guitar.html index 9bc3b63..2c389f1 100644 --- a/docs/Structs/Guitar.html +++ b/docs/Structs/Guitar.html @@ -14,13 +14,12 @@
    -

    Guitar Docs (93% documented)

    -

    View on GitHub

    +

    Docs (100% documented)

    @@ -53,8 +52,7 @@

    Guitar

    -

    Undocumented

    - +
    @@ -62,9 +60,9 @@

    Guitar

  • - + - init() + init()
    @@ -72,7 +70,7 @@

    Guitar

    -

    fatalError occurs when using this empty initializer as Guitar must be initialized using init(pattern:) or init(chord:).

    +

    fatalError occurs when using this empty initializer as Guitar must be initialized using init(pattern:) or init(chord:).

    @@ -89,9 +87,9 @@

    Declaration

  • @@ -135,9 +133,9 @@

    Parameters

  • @@ -181,9 +179,9 @@

    Parameters

  • @@ -243,9 +241,9 @@

    Return Value

  • @@ -305,9 +303,9 @@

    Return Value

  • @@ -371,9 +369,9 @@

    Return Value

  • - + - Chord + Chord
    @@ -403,9 +401,9 @@

    Declaration

  • @@ -453,9 +451,9 @@

    Return Value

  • @@ -503,9 +501,9 @@

    Return Value

  • @@ -553,9 +551,9 @@

    Return Value

  • @@ -605,8 +603,8 @@

    Return Value

  • diff --git a/docs/Structs/Guitar/Chord.html b/docs/Structs/Guitar/Chord.html index 23d9979..f2ec26d 100644 --- a/docs/Structs/Guitar/Chord.html +++ b/docs/Structs/Guitar/Chord.html @@ -14,13 +14,12 @@
    -

    Guitar Docs (93% documented)

    -

    View on GitHub

    +

    Docs (100% documented)

    @@ -68,9 +67,9 @@

    Chord

  • - + - email + email
    @@ -99,9 +98,9 @@

    Declaration

  • - + - firstCharacter + firstCharacter
    @@ -130,9 +129,9 @@

    Declaration

  • - + - lastCharacter + lastCharacter
    @@ -161,9 +160,9 @@

    Declaration

  • - + - nonAlphanumeric + nonAlphanumeric
    @@ -192,9 +191,9 @@

    Declaration

  • - + - nonAlphanumericSpace + nonAlphanumericSpace
    @@ -221,8 +220,8 @@

    Declaration

    diff --git a/docs/badge.svg b/docs/badge.svg index 0067ba4..2606d80 100644 --- a/docs/badge.svg +++ b/docs/badge.svg @@ -1 +1 @@ -documentationdocumentation93%93% \ No newline at end of file +documentationdocumentation100%100% \ No newline at end of file diff --git a/docs/docsets/Guitar.docset/Contents/Info.plist b/docs/docsets/.docset/Contents/Info.plist similarity index 83% rename from docs/docsets/Guitar.docset/Contents/Info.plist rename to docs/docsets/.docset/Contents/Info.plist index 81030bd..61863ec 100644 --- a/docs/docsets/Guitar.docset/Contents/Info.plist +++ b/docs/docsets/.docset/Contents/Info.plist @@ -3,11 +3,11 @@ CFBundleIdentifier - com.jazzy.guitar + com.jazzy. CFBundleName - Guitar + DocSetPlatformFamily - guitar + isDashDocset dashIndexFilePath diff --git a/docs/docsets/Guitar.docset/Contents/Resources/Documents/Extensions.html b/docs/docsets/.docset/Contents/Resources/Documents/Extensions.html similarity index 89% rename from docs/docsets/Guitar.docset/Contents/Resources/Documents/Extensions.html rename to docs/docsets/.docset/Contents/Resources/Documents/Extensions.html index 87148db..c955952 100644 --- a/docs/docsets/Guitar.docset/Contents/Resources/Documents/Extensions.html +++ b/docs/docsets/.docset/Contents/Resources/Documents/Extensions.html @@ -13,13 +13,12 @@
    -

    Guitar Docs (93% documented)

    -

    View on GitHub

    +

    Docs (100% documented)

    @@ -97,8 +96,8 @@

    Declaration

    diff --git a/docs/docsets/Guitar.docset/Contents/Resources/Documents/Extensions/String.html b/docs/docsets/.docset/Contents/Resources/Documents/Extensions/String.html similarity index 90% rename from docs/docsets/Guitar.docset/Contents/Resources/Documents/Extensions/String.html rename to docs/docsets/.docset/Contents/Resources/Documents/Extensions/String.html index 16d881b..d45e5ae 100644 --- a/docs/docsets/Guitar.docset/Contents/Resources/Documents/Extensions/String.html +++ b/docs/docsets/.docset/Contents/Resources/Documents/Extensions/String.html @@ -14,13 +14,12 @@
    -

    Guitar Docs (93% documented)

    -

    View on GitHub

    +

    Docs (100% documented)

    @@ -67,9 +66,9 @@

    String

  • - + - isAlpha() + isAlpha()
    @@ -98,9 +97,9 @@

    Return Value

  • - + - isAlphanumeric() + isAlphanumeric()
    @@ -129,9 +128,9 @@

    Return Value

  • - + - isCapitalized() + isCapitalized()
    @@ -160,9 +159,9 @@

    Return Value

  • - + - isDecapitalized() + isDecapitalized()
    @@ -191,9 +190,9 @@

    Return Value

  • - + - isLowercased() + isLowercased()
    @@ -222,9 +221,9 @@

    Return Value

  • - + - isNumeric() + isNumeric()
    @@ -253,9 +252,9 @@

    Return Value

  • - + - isUppercased() + isUppercased()
    @@ -288,9 +287,9 @@

    Return Value

  • - + - camelCased() + camelCased()
    @@ -323,9 +322,9 @@

    Return Value

  • - + - capitalized() + capitalized()
    @@ -363,9 +362,9 @@

    Return Value

  • - + - decapitalized() + decapitalized()
    @@ -398,9 +397,9 @@

    Return Value

  • - + - kebabCased() + kebabCased()
    @@ -433,9 +432,9 @@

    Return Value

  • - + - pascalCased() + pascalCased()
    @@ -468,9 +467,9 @@

    Return Value

  • - + - snakeCased() + snakeCased()
    @@ -503,9 +502,9 @@

    Return Value

  • - + - splitWordsByCase() + splitWordsByCase()
    @@ -538,9 +537,9 @@

    Return Value

  • - + - swapCased() + swapCased()
    @@ -577,118 +576,9 @@

    Return Value

  • - - - latinized() - -
    -
    -
    -
    -
    -
    -

    Returns the latinized version of the string without diacritics.

    -
    let string = "Hello! こんにちは! สวัสดี! مرحبا! 您好!"
    -print(string.latinized())
    -// Prints "Hello! kon'nichiha! swasdi! mrhba! nin hao!"
    -
    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    func latinized() -> String
    - -
    -
    -
    -

    Return Value

    -

    The latinized version of the string without diacritics.

    -
    -
    -
    -
  • -
  • -
    - - - - reversedString() - -
    -
    -
    -
    -
    -
    -

    Retuns the reversed version of the string.

    -
    let string = "Hello World"
    -print(string.reversed())
    -// Prints "dlroW olleH"
    -
    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    func reversedString() -> String
    - -
    -
    -
    -

    Return Value

    -

    The reversed copy of the string.

    -
    -
    -
    -
  • -
  • -
    - - - - withoutAccents() - -
    -
    -
    -
    -
    -
    -

    Returns the string without diacritics.

    -
    let string = "Crème brûlée"
    -print(string.withoutAccents())
    -// Prints "Creme brulee"
    -
    - -
    -
    -

    Declaration

    -
    -

    Swift

    -
    func withoutAccents() -> String
    - -
    -
    -
    -

    Return Value

    -

    The string without diacritics.

    -
    -
    -
    -
  • - -
    -
    -
    +
    + +
    diff --git a/docs/docsets/Guitar.docset/Contents/Resources/Documents/Structs.html b/docs/docsets/.docset/Contents/Resources/Documents/Structs.html similarity index 83% rename from docs/docsets/Guitar.docset/Contents/Resources/Documents/Structs.html rename to docs/docsets/.docset/Contents/Resources/Documents/Structs.html index 971dac3..dc3ca7a 100644 --- a/docs/docsets/Guitar.docset/Contents/Resources/Documents/Structs.html +++ b/docs/docsets/.docset/Contents/Resources/Documents/Structs.html @@ -13,13 +13,12 @@
    -

    Guitar Docs (93% documented)

    -

    View on GitHub

    +

    Docs (100% documented)

    @@ -68,9 +67,9 @@

    Guitar

  • - + - Guitar + Guitar
    @@ -78,8 +77,7 @@

    Guitar

    -

    Undocumented

    - + See more
    @@ -90,8 +88,8 @@

    Guitar

    diff --git a/docs/docsets/Guitar.docset/Contents/Resources/Documents/Structs/Guitar.html b/docs/docsets/.docset/Contents/Resources/Documents/Structs/Guitar.html similarity index 89% rename from docs/docsets/Guitar.docset/Contents/Resources/Documents/Structs/Guitar.html rename to docs/docsets/.docset/Contents/Resources/Documents/Structs/Guitar.html index 9bc3b63..2c389f1 100644 --- a/docs/docsets/Guitar.docset/Contents/Resources/Documents/Structs/Guitar.html +++ b/docs/docsets/.docset/Contents/Resources/Documents/Structs/Guitar.html @@ -14,13 +14,12 @@
    -

    Guitar Docs (93% documented)

    -

    View on GitHub

    +

    Docs (100% documented)

    @@ -53,8 +52,7 @@

    Guitar

    -

    Undocumented

    - +
    @@ -62,9 +60,9 @@

    Guitar

  • - + - init() + init()
    @@ -72,7 +70,7 @@

    Guitar

    -

    fatalError occurs when using this empty initializer as Guitar must be initialized using init(pattern:) or init(chord:).

    +

    fatalError occurs when using this empty initializer as Guitar must be initialized using init(pattern:) or init(chord:).

    @@ -89,9 +87,9 @@

    Declaration

  • @@ -135,9 +133,9 @@

    Parameters

  • @@ -181,9 +179,9 @@

    Parameters

  • @@ -243,9 +241,9 @@

    Return Value

  • @@ -305,9 +303,9 @@

    Return Value

  • @@ -371,9 +369,9 @@

    Return Value

  • - + - Chord + Chord
    @@ -403,9 +401,9 @@

    Declaration

  • @@ -453,9 +451,9 @@

    Return Value

  • @@ -503,9 +501,9 @@

    Return Value

  • @@ -553,9 +551,9 @@

    Return Value

  • @@ -605,8 +603,8 @@

    Return Value

  • diff --git a/docs/docsets/Guitar.docset/Contents/Resources/Documents/Structs/Guitar/Chord.html b/docs/docsets/.docset/Contents/Resources/Documents/Structs/Guitar/Chord.html similarity index 86% rename from docs/docsets/Guitar.docset/Contents/Resources/Documents/Structs/Guitar/Chord.html rename to docs/docsets/.docset/Contents/Resources/Documents/Structs/Guitar/Chord.html index 23d9979..f2ec26d 100644 --- a/docs/docsets/Guitar.docset/Contents/Resources/Documents/Structs/Guitar/Chord.html +++ b/docs/docsets/.docset/Contents/Resources/Documents/Structs/Guitar/Chord.html @@ -14,13 +14,12 @@
    -

    Guitar Docs (93% documented)

    -

    View on GitHub

    +

    Docs (100% documented)

    @@ -68,9 +67,9 @@

    Chord

  • - + - email + email
    @@ -99,9 +98,9 @@

    Declaration

  • - + - firstCharacter + firstCharacter
    @@ -130,9 +129,9 @@

    Declaration

  • - + - lastCharacter + lastCharacter
    @@ -161,9 +160,9 @@

    Declaration

  • - + - nonAlphanumeric + nonAlphanumeric
    @@ -192,9 +191,9 @@

    Declaration

  • - + - nonAlphanumericSpace + nonAlphanumericSpace
    @@ -221,8 +220,8 @@

    Declaration

    diff --git a/docs/docsets/Guitar.docset/Contents/Resources/Documents/css/highlight.css b/docs/docsets/.docset/Contents/Resources/Documents/css/highlight.css similarity index 100% rename from docs/docsets/Guitar.docset/Contents/Resources/Documents/css/highlight.css rename to docs/docsets/.docset/Contents/Resources/Documents/css/highlight.css diff --git a/docs/docsets/Guitar.docset/Contents/Resources/Documents/css/jazzy.css b/docs/docsets/.docset/Contents/Resources/Documents/css/jazzy.css similarity index 100% rename from docs/docsets/Guitar.docset/Contents/Resources/Documents/css/jazzy.css rename to docs/docsets/.docset/Contents/Resources/Documents/css/jazzy.css diff --git a/docs/docsets/Guitar.docset/Contents/Resources/Documents/img/carat.png b/docs/docsets/.docset/Contents/Resources/Documents/img/carat.png similarity index 100% rename from docs/docsets/Guitar.docset/Contents/Resources/Documents/img/carat.png rename to docs/docsets/.docset/Contents/Resources/Documents/img/carat.png diff --git a/docs/docsets/Guitar.docset/Contents/Resources/Documents/img/dash.png b/docs/docsets/.docset/Contents/Resources/Documents/img/dash.png similarity index 100% rename from docs/docsets/Guitar.docset/Contents/Resources/Documents/img/dash.png rename to docs/docsets/.docset/Contents/Resources/Documents/img/dash.png diff --git a/docs/docsets/Guitar.docset/Contents/Resources/Documents/img/gh.png b/docs/docsets/.docset/Contents/Resources/Documents/img/gh.png similarity index 100% rename from docs/docsets/Guitar.docset/Contents/Resources/Documents/img/gh.png rename to docs/docsets/.docset/Contents/Resources/Documents/img/gh.png diff --git a/docs/docsets/.docset/Contents/Resources/Documents/index.html b/docs/docsets/.docset/Contents/Resources/Documents/index.html new file mode 100644 index 0000000..ac741ce --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/index.html @@ -0,0 +1,66 @@ + + + + Reference + + + + + + + + + +
    +
    +

    Docs (100% documented)

    +
    +
    +
    + +
    +
    + +
    +
    +
    + +

    Authors

    + +
    +
    + +
    +
    + +
  • + diff --git a/docs/docsets/Guitar.docset/Contents/Resources/Documents/js/jazzy.js b/docs/docsets/.docset/Contents/Resources/Documents/js/jazzy.js similarity index 100% rename from docs/docsets/Guitar.docset/Contents/Resources/Documents/js/jazzy.js rename to docs/docsets/.docset/Contents/Resources/Documents/js/jazzy.js diff --git a/docs/docsets/Guitar.docset/Contents/Resources/Documents/js/jquery.min.js b/docs/docsets/.docset/Contents/Resources/Documents/js/jquery.min.js similarity index 100% rename from docs/docsets/Guitar.docset/Contents/Resources/Documents/js/jquery.min.js rename to docs/docsets/.docset/Contents/Resources/Documents/js/jquery.min.js diff --git a/docs/docsets/.docset/Contents/Resources/Documents/search.json b/docs/docsets/.docset/Contents/Resources/Documents/search.json new file mode 100644 index 0000000..de78e96 --- /dev/null +++ b/docs/docsets/.docset/Contents/Resources/Documents/search.json @@ -0,0 +1 @@ +{"Structs/Guitar/Chord.html#/s:6GuitarAAV5ChordO5emailA2DmF":{"name":"email","abstract":"

    Pattern matches email addresses.

    ","parent_name":"Chord"},"Structs/Guitar/Chord.html#/s:6GuitarAAV5ChordO14firstCharacterA2DmF":{"name":"firstCharacter","abstract":"

    Pattern matches first alphanumeric character of each word.

    ","parent_name":"Chord"},"Structs/Guitar/Chord.html#/s:6GuitarAAV5ChordO13lastCharacterA2DmF":{"name":"lastCharacter","abstract":"

    Pattern matches last alphanumeric character of each word.

    ","parent_name":"Chord"},"Structs/Guitar/Chord.html#/s:6GuitarAAV5ChordO15nonAlphanumericA2DmF":{"name":"nonAlphanumeric","abstract":"

    Pattern matches non-Alphanumeric characters.

    ","parent_name":"Chord"},"Structs/Guitar/Chord.html#/s:6GuitarAAV5ChordO20nonAlphanumericSpaceA2DmF":{"name":"nonAlphanumericSpace","abstract":"

    Pattern matches non-Alphanumeric and non-Whitespace characters.

    ","parent_name":"Chord"},"Structs/Guitar.html#/s:6GuitarAAVABycfc":{"name":"init()","abstract":"

    fatalError occurs when using this empty initializer as Guitar must be initialized using init(pattern:) or init(chord:).

    ","parent_name":"Guitar"},"Structs/Guitar.html#/s:6GuitarAAVABSS7pattern_tcfc":{"name":"init(pattern:)","abstract":"

    Designated Initializer for Guitar

    ","parent_name":"Guitar"},"Structs/Guitar.html#/s:6GuitarAAVA2B5ChordO5chord_tcfc":{"name":"init(chord:)","abstract":"

    Delegating Initializer for Guitar

    ","parent_name":"Guitar"},"Structs/Guitar.html#/s:6GuitarAAV17evaluateForRangesSays5RangeVySS5IndexVGGSS4from_So19NSRegularExpressionC7OptionsV4withtF":{"name":"evaluateForRanges(from:with:)","abstract":"

    Evaluates a string for all instances of a regular expression pattern and returns a list of matched ranges for that string.

    ","parent_name":"Guitar"},"Structs/Guitar.html#/s:6GuitarAAV18evaluateForStringsSaySSGSS4from_So19NSRegularExpressionC7OptionsV4withtF":{"name":"evaluateForStrings(from:with:)","abstract":"

    Evaluates a string for all instances of a regular expression pattern and returns a list of matched strings for that string.

    ","parent_name":"Guitar"},"Structs/Guitar.html#/s:6GuitarAAV4testSbSS6string_So19NSRegularExpressionC7OptionsV4withtF":{"name":"test(string:with:)","abstract":"

    Tests a string to see if it matches the regular expression pattern.

    ","parent_name":"Guitar"},"Structs/Guitar/Chord.html":{"name":"Chord","abstract":"

    Common Regular Expression Patterns

    ","parent_name":"Guitar"},"Structs/Guitar.html#/s:6GuitarAAV24firstCharacterOfEachWordSaySSGSS2in_tFZ":{"name":"firstCharacterOfEachWord(in:)","abstract":"

    Returns an array containing the first letter of each word in the test string.

    ","parent_name":"Guitar"},"Structs/Guitar.html#/s:6GuitarAAV23lastCharacterOfEachWordSaySSGSS2in_tFZ":{"name":"lastCharacterOfEachWord(in:)","abstract":"

    Returns an array containing the last letter of each word in the test string.

    ","parent_name":"Guitar"},"Structs/Guitar.html#/s:6GuitarAAV12isValidEmailSbSS5email_tFZ":{"name":"isValidEmail(email:)","abstract":"

    Tests a string to check if it is a valid email address by using a regular expression.

    ","parent_name":"Guitar"},"Structs/Guitar.html#/s:6GuitarAAV7sanitzeS2S6string_tFZ":{"name":"sanitze(string:)","abstract":"

    Sanitizes of a string by removing all non-Alphanumeric characters (excluding whitespaces)

    ","parent_name":"Guitar"},"Structs/Guitar.html":{"name":"Guitar"},"Extensions/String.html#/s:SS6GuitarE7isAlphaSbyF":{"name":"isAlpha()","abstract":"

    A Boolean value indicating if all the characters are letters.

    ","parent_name":"String"},"Extensions/String.html#/s:SS6GuitarE14isAlphanumericSbyF":{"name":"isAlphanumeric()","abstract":"

    A Boolean value indicating if all the characters are alphanumeric.

    ","parent_name":"String"},"Extensions/String.html#/s:SS6GuitarE13isCapitalizedSbyF":{"name":"isCapitalized()","abstract":"

    A Boolean value indicating if the first characters in all of the words in the string are uppercased.

    ","parent_name":"String"},"Extensions/String.html#/s:SS6GuitarE15isDecapitalizedSbyF":{"name":"isDecapitalized()","abstract":"

    A Boolean value indicating if the first characters in all of the words in the string are lowercased.

    ","parent_name":"String"},"Extensions/String.html#/s:SS6GuitarE12isLowercasedSbyF":{"name":"isLowercased()","abstract":"

    A Boolean value indicating if all the characters are lowercased.

    ","parent_name":"String"},"Extensions/String.html#/s:SS6GuitarE9isNumericSbyF":{"name":"isNumeric()","abstract":"

    A Boolean value indicating if all the characters are numbers.

    ","parent_name":"String"},"Extensions/String.html#/s:SS6GuitarE12isUppercasedSbyF":{"name":"isUppercased()","abstract":"

    A Boolean value indicating if all the characters are uppercased.

    ","parent_name":"String"},"Extensions/String.html#/s:SS6GuitarE10camelCasedSSyF":{"name":"camelCased()","abstract":"

    Returns a camel cased version of the string.

    ","parent_name":"String"},"Extensions/String.html#/s:SS6GuitarE11capitalizedSSyF":{"name":"capitalized()","abstract":"

    Returns a capitalized version of the string.

    ","parent_name":"String"},"Extensions/String.html#/s:SS6GuitarE13decapitalizedSSyF":{"name":"decapitalized()","abstract":"

    Returns a decapitalized version of the string.

    ","parent_name":"String"},"Extensions/String.html#/s:SS6GuitarE10kebabCasedSSyF":{"name":"kebabCased()","abstract":"

    Returns the kebab cased (a.k.a. slug) version of the string.

    ","parent_name":"String"},"Extensions/String.html#/s:SS6GuitarE11pascalCasedSSyF":{"name":"pascalCased()","abstract":"

    Returns a pascal cased version of the string.

    ","parent_name":"String"},"Extensions/String.html#/s:SS6GuitarE10snakeCasedSSyF":{"name":"snakeCased()","abstract":"

    Returns the snake cased version of the string.

    ","parent_name":"String"},"Extensions/String.html#/s:SS6GuitarE16splitWordsByCaseSSyF":{"name":"splitWordsByCase()","abstract":"

    Splits a string into mutliple words, delimited by uppercase letters.

    ","parent_name":"String"},"Extensions/String.html#/s:SS6GuitarE9swapCasedSSyF":{"name":"swapCased()","abstract":"

    Returns the swap cased version of the string.

    ","parent_name":"String"},"Extensions/String.html#/s:SS6GuitarE3padSSSi6length_SS9withTokentF":{"name":"pad(length:withToken:)","abstract":"

    Returns the center-padded version of the string.

    ","parent_name":"String"},"Extensions/String.html#/s:SS6GuitarE7padLeftSSSi6length_SS9withTokentF":{"name":"padLeft(length:withToken:)","abstract":"

    Returns the left-padded version of the string.

    ","parent_name":"String"},"Extensions/String.html#/s:SS6GuitarE8padRightSSSi6length_SS9withTokentF":{"name":"padRight(length:withToken:)","abstract":"

    Returns the right-padded version of the string.

    ","parent_name":"String"},"Extensions/String.html#/s:SS6GuitarE9latinizedSSyF":{"name":"latinized()","abstract":"

    Returns the latinized version of the string without diacritics.

    ","parent_name":"String"},"Extensions/String.html#/s:SS6GuitarE14reversedStringSSyF":{"name":"reversedString()","abstract":"

    Retuns the reversed version of the string.

    ","parent_name":"String"},"Extensions/String.html#/s:SS6GuitarE14withoutAccentsSSyF":{"name":"withoutAccents()","abstract":"

    Returns the string without diacritics.

    ","parent_name":"String"},"Extensions/String.html":{"name":"String"},"Extensions.html":{"name":"Extensions","abstract":"

    The following extensions are available globally.

    "},"Structs.html":{"name":"Structs","abstract":"

    The following structs are available globally.

    "}} \ No newline at end of file diff --git a/docs/docsets/.docset/Contents/Resources/docSet.dsidx b/docs/docsets/.docset/Contents/Resources/docSet.dsidx new file mode 100644 index 0000000000000000000000000000000000000000..eb095cf2d85c1e72286288583c6a55042b3272d3 GIT binary patch literal 12288 zcmeI0O;j6I6vy8rya@>eN(-gaXc+`bB3c?gO6f)e9gvofk^yY}!XbH(Daj;c1`GBm zC$7|uE_9*CkE07+=sCL3tsY(KLN~fs_qx!d3tf2Mn(GkRP=wVSr2=&3A7ye2w4_wrh{((=f;(D*kK6Iw_ry$(* zG@n7uFTs&z|DZ00XG9~2HXs|8E`Y;X28vWn*lci|N9I)=JB-)U0eaHT9Rxj zS|XLr>qN;XQd9H`?|58_ElA?x?9}|CBu>pDmJ#bt5iF zR~JlQ#Y^gtT}CLIM?6W?{8{rt)1OVRHHCw}2Hy+D8$W71*6>C{F7S8Y#X!XWgZ~r1 z>Tj+8s{VSt;QP+^yf4cC%)i2q;otEGcp7`^-l{v}{laT_J3QZb-tjySlJ3jR0L#FM z2u2~)BOCe6grOHd&ZLY?`cxRBPShuD8AQ|7tfpI6?Ed||7zrJtV4`Yk<$L7|z2CgU z#>%HLdQf=ohH9j;n?@{=Aey0vBQpg4PwsBg)vsTW<#Usps-fhi=#br3mbWM59wwS6 z&k%UflcqaoqIO#<`balMUBX6MF;q=`mL#3%jh3yblGeqeaiI{(Dap9HmNLR=qOBRJ z3v?n2*>$2_a4`S#B^6ng)pMrOvMi65#f*vceLRW@1p!7*lhuQ{8!3wH?Je2Kqfw#I z0s{{;u|W{n+sh*&TMhk&k{efGjUBB<*@~{l)eas-g#xGN(yH-jHlNhTwyC5O#ptWjG?$tRp{zvw`vrMv>ArJZeNRiE9=ki433vh_yGR#a*3crmo;?2Q^jvn;9LVjD*N z!j7t6ta)*VtBk4ad@I{Asy<%pjE)hls3f%krcw52zY-sRwy9DHJ+a)%?MI z4(+8<<+QgEqxQCk#sM6X5^OE|Z2H;vYz?;>STl(kL^nz+NIUVqvpqyDX_8BeC}*Ri zvvQoQZKmP0vz5yeou0YIN9J+{J$o&&^N%r6XbbRYN+=}AGfH|>F~~$V4`IRyOb@T- zvl(`}*moGw^S8>Baxz5amiHZ3x1TQ93*HLBxT39*n!*~nMFpbLhne6K?2}v*IJ=uvY~W&M;^{gb^@R#;RRd~r6CJKnVIH3F@~AgdXt5QF+Vt(khN(a0;ZY=1 zIA$*iwaHi26{dfQgBlXrVYRa+RkQ3etpE^O#6wWShG)nBspnk}@eT05@UJ$1-uQ82 zYx82@pWtsnIrzT+y1%Xd>-zQjlfLhLJAwQ8@ut55FL^hcUT=!jyFzA zUNbg}D|izA#=JF81G21n*UFl)3rF>ky;i13s*4UKUYcd zj^u9P{}bkBE|a_yH9P;emqN2B-ia7xJ+vNF_z!bET>ft}cZ?0<9R)gQGo_KX znnmBv@QyTh;s0Y22Ka(f8;5i;y+BlLij`E z|K>bT@gJJv!CBmXB)5J=l{AVd5Zt`YEzrOz1T3O b_Ac`j|Emg1ZSqxhh3R`PVZeX?q458|MbjK= literal 0 HcmV?d00001 diff --git a/docs/docsets/.tgz b/docs/docsets/.tgz new file mode 100644 index 0000000000000000000000000000000000000000..c1437ed32b01f6fd044cbd298c406f1f7c980433 GIT binary patch literal 49854 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�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 - - - Guitar Reference - - - - - - - - - -
    -
    -

    Guitar Docs (93% documented)

    -

    View on GitHub

    -
    -
    -
    - -
    -
    - -
    -
    -
    - -

    Guitar 🎸

    -

    A Cross-Platform String and Regular Expression Library written in Swift.

    - -

    BuddyBuild Documentation Platform

    - -

    CocoaPods Carthage Compatible SwiftPM Compatible CocoaPods CocoaPods

    -

    About

    - -

    This library seeks to add common string manipulation functions, including common regular expression capabilities, that are needed in both mobile and server-side development, but are missing in Swift’s Standard Library.

    - -

    The full documentation can be found at http://www.sabintsev.com/Guitar/.

    - -

    Guitar is also part of Swift’s Source Compatibility Suite.

    -

    Features

    - -
      -
    • [x] Boolean Functions (isAlpha, isNumeric, isUppercase, etc.)
    • -
    • [x] Case Functions (camelCased, pascalCased, kebabCased, etc.)
    • -
    • [x] Latinization Functions (.latinized(), .withoutAccents())
    • -
    • [x] Padding Functions (padLeft, padRight, pad)
    • -
    • [x] Regular Expressions (with Common Patterns Built-in)
    • -
    -

    Installation Instructions

    -

    CocoaPods

    - -

    For Swift 3 support:

    -
    pod 'Guitar'
    -
    - -

    For Swift 4 support:

    -
    pod 'Guitar', :git => 'https://github.com/ArtSabintsev/Guitar.git', :branch => 'swift4'
    -
    -

    Carthage

    - -

    For Swift 3 support:

    -
    github "ArtSabintsev/Guitar"
    -
    - -

    For Swift 4 support:

    -
    github "ArtSabintsev/Guitar", "swift4"
    -
    -

    Swift Package Manager

    -
    .Package(url: "https://github.com/ArtSabintsev/Guitar.git", majorVersion: 0)
    -
    -

    Usage Examples

    -

    Regular Expression

    - -
      -
    • Guitar makes it easier to use Regular Expressions to test and evaluate String objects.
    • -
    • Guitar.Chord enumerates common regular expressions and they are located in GuitarChord.swift.
    • -
    • GuitarCommon.swift contains a list of convenience methods for common regular expression evaluations and tests, such as checking the string to determine if it’s a valid email address.
    • -
    -

    Initialization

    -
    Guitar(pattern: String) // A custom regular expression with which to initialize Guitar.
    -
    -Guitar(chord: Guitar.Chord) // A common regular expression with which to initialize Guitar.
    -
    -

    Methods

    - -

    evaluateForRanges(::) returns an array of ranges, [Range<String.Index>], that match a specific regular expression.

    -
    Guitar(chord: .firstCharacter).evaluateForRanges(from: "Hello world") // [Range(Swift.String.CharacterView.Index(_base: Swift.String.UnicodeScalarView.Index(_position: 0), _countUTF16: 1)..<Swift.String.CharacterView.Index(_base: Swift.String.UnicodeScalarView.Index(_position: 1), _countUTF16: 1)), Range(Swift.String.CharacterView.Index(_base: Swift.String.UnicodeScalarView.Index(_position: 6), _countUTF16: 1)..<Swift.String.CharacterView.Index(_base: Swift.String.UnicodeScalarView.Index(_position: 7), _countUTF16: 1))]
    -
    - -

    evaluateForStrings(::) returns an array of strings, [String], that match a specific regular expression.

    -
    Guitar(chord: .firstCharacter).evaluateForStrings(from: "Hello world") // ["H", "w"]
    -
    - -

    test(::) evaluates a string with a specific regular expression. true is returned if matches are found in the string. Otherwise, false is returned.

    -
    Guitar(chord: .email).test(string: "hello@world.com") // `true`
    -
    -

    String Extension

    - -

    This library also adds dozens of methods via String extensions that are missing in the Swift Standard Library or not easily accessible on the String class. Examples of each new method can be found in the jazzy-powered documentation.

    - -

    More specific examples can be found in the -tests folder.

    -

    Inspiration

    - - -

    Created and maintained by

    - -

    Arthur Ariel Sabintsev

    - -
    -
    - -
    -
    - - - diff --git a/docs/docsets/Guitar.docset/Contents/Resources/Documents/search.json b/docs/docsets/Guitar.docset/Contents/Resources/Documents/search.json deleted file mode 100644 index dd85db6..0000000 --- a/docs/docsets/Guitar.docset/Contents/Resources/Documents/search.json +++ /dev/null @@ -1 +0,0 @@ -{"Structs/Guitar/Chord.html#/s:FOV6Guitar6Guitar5Chord5emailFMS1_S1_":{"name":"email","abstract":"

    Pattern matches email addresses.

    ","parent_name":"Chord"},"Structs/Guitar/Chord.html#/s:FOV6Guitar6Guitar5Chord14firstCharacterFMS1_S1_":{"name":"firstCharacter","abstract":"

    Pattern matches first alphanumeric character of each word.

    ","parent_name":"Chord"},"Structs/Guitar/Chord.html#/s:FOV6Guitar6Guitar5Chord13lastCharacterFMS1_S1_":{"name":"lastCharacter","abstract":"

    Pattern matches last alphanumeric character of each word.

    ","parent_name":"Chord"},"Structs/Guitar/Chord.html#/s:FOV6Guitar6Guitar5Chord15nonAlphanumericFMS1_S1_":{"name":"nonAlphanumeric","abstract":"

    Pattern matches non-Alphanumeric characters.

    ","parent_name":"Chord"},"Structs/Guitar/Chord.html#/s:FOV6Guitar6Guitar5Chord20nonAlphanumericSpaceFMS1_S1_":{"name":"nonAlphanumericSpace","abstract":"

    Pattern matches non-Alphanumeric and non-Whitespace characters.

    ","parent_name":"Chord"},"Structs/Guitar.html#/s:FV6Guitar6GuitarcFT_S0_":{"name":"init()","abstract":"

    fatalError occurs when using this empty initializer as Guitar must be initialized using init(pattern:) or init(chord:).

    ","parent_name":"Guitar"},"Structs/Guitar.html#/s:FV6Guitar6GuitarcFT7patternSS_S0_":{"name":"init(pattern:)","abstract":"

    Designated Initializer for Guitar

    ","parent_name":"Guitar"},"Structs/Guitar.html#/s:FV6Guitar6GuitarcFT5chordOS0_5Chord_S0_":{"name":"init(chord:)","abstract":"

    Delegating Initializer for Guitar

    ","parent_name":"Guitar"},"Structs/Guitar.html#/s:FV6Guitar6Guitar17evaluateForRangesFT4fromSS4withVCSo19NSRegularExpression7Options_GSaGVs5RangeVVSS13CharacterView5Index__":{"name":"evaluateForRanges(from:with:)","abstract":"

    Evaluates a string for all instances of a regular expression pattern and returns a list of matched ranges for that string.

    ","parent_name":"Guitar"},"Structs/Guitar.html#/s:FV6Guitar6Guitar18evaluateForStringsFT4fromSS4withVCSo19NSRegularExpression7Options_GSaSS_":{"name":"evaluateForStrings(from:with:)","abstract":"

    Evaluates a string for all instances of a regular expression pattern and returns a list of matched strings for that string.

    ","parent_name":"Guitar"},"Structs/Guitar.html#/s:FV6Guitar6Guitar4testFT6stringSS4withVCSo19NSRegularExpression7Options_Sb":{"name":"test(string:with:)","abstract":"

    Tests a string to see if it matches the regular expression pattern.

    ","parent_name":"Guitar"},"Structs/Guitar/Chord.html":{"name":"Chord","abstract":"

    Common Regular Expression Patterns

    ","parent_name":"Guitar"},"Structs/Guitar.html#/s:ZFV6Guitar6Guitar24firstCharacterOfEachWordFT2inSS_GSaSS_":{"name":"firstCharacterOfEachWord(in:)","abstract":"

    Returns an array containing the first letter of each word in the test string.

    ","parent_name":"Guitar"},"Structs/Guitar.html#/s:ZFV6Guitar6Guitar23lastCharacterOfEachWordFT2inSS_GSaSS_":{"name":"lastCharacterOfEachWord(in:)","abstract":"

    Returns an array containing the last letter of each word in the test string.

    ","parent_name":"Guitar"},"Structs/Guitar.html#/s:ZFV6Guitar6Guitar12isValidEmailFT5emailSS_Sb":{"name":"isValidEmail(email:)","abstract":"

    Tests a string to check if it is a valid email address by using a regular expression.

    ","parent_name":"Guitar"},"Structs/Guitar.html#/s:ZFV6Guitar6Guitar7sanitzeFT6stringSS_SS":{"name":"sanitze(string:)","abstract":"

    Sanitizes of a string by removing all non-Alphanumeric characters (excluding whitespaces)

    ","parent_name":"Guitar"},"Structs/Guitar.html":{"name":"Guitar","abstract":"

    Undocumented

    "},"Extensions/String.html#/s:FE6GuitarSS7isAlphaFT_Sb":{"name":"isAlpha()","abstract":"

    A Boolean value indicating if all the characters are letters.

    ","parent_name":"String"},"Extensions/String.html#/s:FE6GuitarSS14isAlphanumericFT_Sb":{"name":"isAlphanumeric()","abstract":"

    A Boolean value indicating if all the characters are alphanumeric.

    ","parent_name":"String"},"Extensions/String.html#/s:FE6GuitarSS13isCapitalizedFT_Sb":{"name":"isCapitalized()","abstract":"

    A Boolean value indicating if the first characters in all of the words in the string are uppercased.

    ","parent_name":"String"},"Extensions/String.html#/s:FE6GuitarSS15isDecapitalizedFT_Sb":{"name":"isDecapitalized()","abstract":"

    A Boolean value indicating if the first characters in all of the words in the string are lowercased.

    ","parent_name":"String"},"Extensions/String.html#/s:FE6GuitarSS12isLowercasedFT_Sb":{"name":"isLowercased()","abstract":"

    A Boolean value indicating if all the characters are lowercased.

    ","parent_name":"String"},"Extensions/String.html#/s:FE6GuitarSS9isNumericFT_Sb":{"name":"isNumeric()","abstract":"

    A Boolean value indicating if all the characters are numbers.

    ","parent_name":"String"},"Extensions/String.html#/s:FE6GuitarSS12isUppercasedFT_Sb":{"name":"isUppercased()","abstract":"

    A Boolean value indicating if all the characters are uppercased.

    ","parent_name":"String"},"Extensions/String.html#/s:FE6GuitarSS10camelCasedFT_SS":{"name":"camelCased()","abstract":"

    Returns a camel cased version of the string.

    ","parent_name":"String"},"Extensions/String.html#/s:FE6GuitarSS11capitalizedFT_SS":{"name":"capitalized()","abstract":"

    Returns a capitalized version of the string.

    ","parent_name":"String"},"Extensions/String.html#/s:FE6GuitarSS13decapitalizedFT_SS":{"name":"decapitalized()","abstract":"

    Returns a decapitalized version of the string.

    ","parent_name":"String"},"Extensions/String.html#/s:FE6GuitarSS10kebabCasedFT_SS":{"name":"kebabCased()","abstract":"

    Returns the kebab cased (a.k.a. slug) version of the string.

    ","parent_name":"String"},"Extensions/String.html#/s:FE6GuitarSS11pascalCasedFT_SS":{"name":"pascalCased()","abstract":"

    Returns a pascal cased version of the string.

    ","parent_name":"String"},"Extensions/String.html#/s:FE6GuitarSS10snakeCasedFT_SS":{"name":"snakeCased()","abstract":"

    Returns the snake cased version of the string.

    ","parent_name":"String"},"Extensions/String.html#/s:FE6GuitarSS16splitWordsByCaseFT_SS":{"name":"splitWordsByCase()","abstract":"

    Splits a string into mutliple words, delimited by uppercase letters.

    ","parent_name":"String"},"Extensions/String.html#/s:FE6GuitarSS9swapCasedFT_SS":{"name":"swapCased()","abstract":"

    Returns the swap cased version of the string.

    ","parent_name":"String"},"Extensions/String.html#/s:FE6GuitarSS9latinizedFT_SS":{"name":"latinized()","abstract":"

    Returns the latinized version of the string without diacritics.

    ","parent_name":"String"},"Extensions/String.html#/s:FE6GuitarSS14reversedStringFT_SS":{"name":"reversedString()","abstract":"

    Retuns the reversed version of the string.

    ","parent_name":"String"},"Extensions/String.html#/s:FE6GuitarSS14withoutAccentsFT_SS":{"name":"withoutAccents()","abstract":"

    Returns the string without diacritics.

    ","parent_name":"String"},"Extensions/String.html#/s:FE6GuitarSS3padFT6lengthSi9withTokenSS_SS":{"name":"pad(length:withToken:)","abstract":"

    Returns the center-padded version of the string.

    ","parent_name":"String"},"Extensions/String.html#/s:FE6GuitarSS7padLeftFT6lengthSi9withTokenSS_SS":{"name":"padLeft(length:withToken:)","abstract":"

    Returns the left-padded version of the string.

    ","parent_name":"String"},"Extensions/String.html#/s:FE6GuitarSS8padRightFT6lengthSi9withTokenSS_SS":{"name":"padRight(length:withToken:)","abstract":"

    Returns the right-padded version of the string.

    ","parent_name":"String"},"Extensions/String.html":{"name":"String"},"Extensions.html":{"name":"Extensions","abstract":"

    The following extensions are available globally.

    "},"Structs.html":{"name":"Structs","abstract":"

    The following structs are available globally.

    "}} \ No newline at end of file diff --git a/docs/docsets/Guitar.docset/Contents/Resources/docSet.dsidx b/docs/docsets/Guitar.docset/Contents/Resources/docSet.dsidx deleted file mode 100644 index fabb416ee93edeeb1709439248f732df88520855..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 12288 zcmeI0&vV;E6vtP#cOBbx+#j^5>b6mvhByT3xJjBO93TmDCT){6mg~0RkWuV)Eb7R{ zQb=0{7;$69!KgcK7G~R7E0?zJ#7$sMI zv9lod7J2Kwx*6zZpqqhi2D%yOW}usaZU(v;=w_gsfo=x68Tij_q+VBRGxF9}U|3JF!-#7_(Q?J9Y% z%6e&7=Yo9$L_4X=>t)<@Z`06cImph;UKX465=w!%%Zl@2M!1q$Se(h+5H5)~o))MZ zAuC?bn!c_U>DWd=?ptgv0NKkAyx6T@59B ze&~6(XFB*@@a^CX`U$;{mf&yj9=rj=fsX>~fg}De{6*g%zPrAD?icPWBH4ZIWd@E8 zLl6gpl3v@&>zeg(wxn;CPbMHZ1xCbMI#xBMqH6YtU4Lo_0=|EWm?-K-<62{&CCw}B z-pZ2*%<;yFs$9q@8znta#_EP%n%-9QQnqpvtJA}aST9uyJDU$Awdu5Yett{Q<(ed2 zsLQ0Y=S?9=nQBN$(wZb~4k9qa8*y^yWn662-=w9oyE}XafhpcNL~d+vYGXuUcQ?5K z1fJmyj?T5RrO)K^Sk<+Jm)xbsoyO@b$yV;PsawOZU{Z(*=E`~0bs96>i>DwM;J3=M zuBgf#T=1kg)i5))1g52J%hfrV#OO_{VaBvp`w>X-2Gpu$MZZ?56|~vgRMeAZ>b%>W zX)m6HV35D9sq#(iJcN4G6>n-Sw+J;O{ zibF8Mzfr(>xk{eSvgc(^jX7-1NgrdAZdo$bWNA*CXOqs8F4jsCM{PqUw{jGMVg5Bm zyIQT{THf<^Or2{srIPCx``GqYw56?0TvPI%w&GO7jA^YLvBJAt*={vF+muOOKa4<< zH~fnBLhCC%;j(7R(i3b0DcW4i8^~eHM01DCf~IIQ4>;U2}Cmn?*>IRYkvp6B=u^^;Wrq0qv8k>73Ol zt&d5|oU|2FfHlZ`41o#Ku@o&w9@>JqDJ$g!rte<$>1MVy(%A{7LY=H{_aY$j#zj3YoX$%!dA}V+V4gRgDJr#&c^=q|>}^JDVwUfywP-?X-@zvt$p zN@{9J%HR#seQV;aY7J}j5I4D8)#+J|ERGQmBe1|575s`^-ja2kuGC1d(2a@XchCU`AFqa2vr*KBCn^Z1Xv7f(4SxNm6R8 zv8{6o-kxCiwzih*LF5czgvhB!Pf)lkc+6v-JVwlJSsGoNV0&hbj8=kXVW+Z$y~xA# zxCh9+TZk|@%`!{+gpRH~hiD~ISftiD(z#>VUS$VxS6v}eR6v8Iki?CYT2Y&8tyGos zSS;gBazb?qHa!ANcG;zCPWRmCPJ-!0DYZs^lmG%Fabw7JPaFPH6E3Z~E9^&LC~gcm z>P|b3oE5C@X2XZTaNHPl7MXVZxaw8iQI}_|F}8nCW`ka`3V0XGbe3h zyf-~J|MMA0@SkgjcyEG_^8ZnDdpAJdlb(zJ`|9D@5bsHj5}j>ImwElj4Mg#uOu5ti zf7skW4us{*x@Qqpl}C2mc=&garS&$MFAw7iqZ< zaeKl4`wNKTKbeZn?j7g<*eyiypEQ7uQMmK;Z2vF83E{nW5XFDad78HGZsk7@uJg1l z=5!rRK!X1qW46EK|9x-JCbY=?Tl^m}jw6cyToVy8jLT zhpr)t|6Hf}zsD-<9pwMu^Q00fW~43gKhhD!f6j%^d&~duB}DPx?X(S?-If0XMMUx6 kS;N|KvWVh;sI&b4CyX_ZP5=M^ diff --git a/docs/docsets/Guitar.tgz b/docs/docsets/Guitar.tgz deleted file mode 100644 index fc1f60bf934ce74583dc01f1ab9031bb9cbf40c1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 52029 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 diff --git a/docs/index.html b/docs/index.html index b9981fa..ac741ce 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,7 +1,7 @@ - Guitar Reference + Reference @@ -10,18 +10,17 @@ - +
    -

    Guitar Docs (93% documented)

    -

    View on GitHub

    +

    Docs (100% documented)

    @@ -52,97 +51,13 @@
    -

    Guitar 🎸

    -

    A Cross-Platform String and Regular Expression Library written in Swift.

    - -

    BuddyBuild Documentation Platform

    - -

    CocoaPods Carthage Compatible SwiftPM Compatible CocoaPods CocoaPods

    -

    About

    - -

    This library seeks to add common string manipulation functions, including common regular expression capabilities, that are needed in both mobile and server-side development, but are missing in Swift’s Standard Library.

    - -

    The full documentation can be found at http://www.sabintsev.com/Guitar/.

    - -

    Guitar is also part of Swift’s Source Compatibility Suite.

    -

    Features

    - -
      -
    • [x] Boolean Functions (isAlpha, isNumeric, isUppercase, etc.)
    • -
    • [x] Case Functions (camelCased, pascalCased, kebabCased, etc.)
    • -
    • [x] Latinization Functions (.latinized(), .withoutAccents())
    • -
    • [x] Padding Functions (padLeft, padRight, pad)
    • -
    • [x] Regular Expressions (with Common Patterns Built-in)
    • -
    -

    Installation Instructions

    -

    CocoaPods

    - -

    For Swift 3 support:

    -
    pod 'Guitar'
    -
    - -

    For Swift 4 support:

    -
    pod 'Guitar', :git => 'https://github.com/ArtSabintsev/Guitar.git', :branch => 'swift4'
    -
    -

    Carthage

    - -

    For Swift 3 support:

    -
    github "ArtSabintsev/Guitar"
    -
    - -

    For Swift 4 support:

    -
    github "ArtSabintsev/Guitar", "swift4"
    -
    -

    Swift Package Manager

    -
    .Package(url: "https://github.com/ArtSabintsev/Guitar.git", majorVersion: 0)
    -
    -

    Usage Examples

    -

    Regular Expression

    - -
      -
    • Guitar makes it easier to use Regular Expressions to test and evaluate String objects.
    • -
    • Guitar.Chord enumerates common regular expressions and they are located in GuitarChord.swift.
    • -
    • GuitarCommon.swift contains a list of convenience methods for common regular expression evaluations and tests, such as checking the string to determine if it’s a valid email address.
    • -
    -

    Initialization

    -
    Guitar(pattern: String) // A custom regular expression with which to initialize Guitar.
    -
    -Guitar(chord: Guitar.Chord) // A common regular expression with which to initialize Guitar.
    -
    -

    Methods

    - -

    evaluateForRanges(::) returns an array of ranges, [Range<String.Index>], that match a specific regular expression.

    -
    Guitar(chord: .firstCharacter).evaluateForRanges(from: "Hello world") // [Range(Swift.String.CharacterView.Index(_base: Swift.String.UnicodeScalarView.Index(_position: 0), _countUTF16: 1)..<Swift.String.CharacterView.Index(_base: Swift.String.UnicodeScalarView.Index(_position: 1), _countUTF16: 1)), Range(Swift.String.CharacterView.Index(_base: Swift.String.UnicodeScalarView.Index(_position: 6), _countUTF16: 1)..<Swift.String.CharacterView.Index(_base: Swift.String.UnicodeScalarView.Index(_position: 7), _countUTF16: 1))]
    -
    - -

    evaluateForStrings(::) returns an array of strings, [String], that match a specific regular expression.

    -
    Guitar(chord: .firstCharacter).evaluateForStrings(from: "Hello world") // ["H", "w"]
    -
    - -

    test(::) evaluates a string with a specific regular expression. true is returned if matches are found in the string. Otherwise, false is returned.

    -
    Guitar(chord: .email).test(string: "hello@world.com") // `true`
    -
    -

    String Extension

    - -

    This library also adds dozens of methods via String extensions that are missing in the Swift Standard Library or not easily accessible on the String class. Examples of each new method can be found in the jazzy-powered documentation.

    - -

    More specific examples can be found in the -tests folder.

    -

    Inspiration

    - - -

    Created and maintained by

    - -

    Arthur Ariel Sabintsev

    +

    Authors

    diff --git a/docs/search.json b/docs/search.json index dd85db6..de78e96 100644 --- a/docs/search.json +++ b/docs/search.json @@ -1 +1 @@ -{"Structs/Guitar/Chord.html#/s:FOV6Guitar6Guitar5Chord5emailFMS1_S1_":{"name":"email","abstract":"

    Pattern matches email addresses.

    ","parent_name":"Chord"},"Structs/Guitar/Chord.html#/s:FOV6Guitar6Guitar5Chord14firstCharacterFMS1_S1_":{"name":"firstCharacter","abstract":"

    Pattern matches first alphanumeric character of each word.

    ","parent_name":"Chord"},"Structs/Guitar/Chord.html#/s:FOV6Guitar6Guitar5Chord13lastCharacterFMS1_S1_":{"name":"lastCharacter","abstract":"

    Pattern matches last alphanumeric character of each word.

    ","parent_name":"Chord"},"Structs/Guitar/Chord.html#/s:FOV6Guitar6Guitar5Chord15nonAlphanumericFMS1_S1_":{"name":"nonAlphanumeric","abstract":"

    Pattern matches non-Alphanumeric characters.

    ","parent_name":"Chord"},"Structs/Guitar/Chord.html#/s:FOV6Guitar6Guitar5Chord20nonAlphanumericSpaceFMS1_S1_":{"name":"nonAlphanumericSpace","abstract":"

    Pattern matches non-Alphanumeric and non-Whitespace characters.

    ","parent_name":"Chord"},"Structs/Guitar.html#/s:FV6Guitar6GuitarcFT_S0_":{"name":"init()","abstract":"

    fatalError occurs when using this empty initializer as Guitar must be initialized using init(pattern:) or init(chord:).

    ","parent_name":"Guitar"},"Structs/Guitar.html#/s:FV6Guitar6GuitarcFT7patternSS_S0_":{"name":"init(pattern:)","abstract":"

    Designated Initializer for Guitar

    ","parent_name":"Guitar"},"Structs/Guitar.html#/s:FV6Guitar6GuitarcFT5chordOS0_5Chord_S0_":{"name":"init(chord:)","abstract":"

    Delegating Initializer for Guitar

    ","parent_name":"Guitar"},"Structs/Guitar.html#/s:FV6Guitar6Guitar17evaluateForRangesFT4fromSS4withVCSo19NSRegularExpression7Options_GSaGVs5RangeVVSS13CharacterView5Index__":{"name":"evaluateForRanges(from:with:)","abstract":"

    Evaluates a string for all instances of a regular expression pattern and returns a list of matched ranges for that string.

    ","parent_name":"Guitar"},"Structs/Guitar.html#/s:FV6Guitar6Guitar18evaluateForStringsFT4fromSS4withVCSo19NSRegularExpression7Options_GSaSS_":{"name":"evaluateForStrings(from:with:)","abstract":"

    Evaluates a string for all instances of a regular expression pattern and returns a list of matched strings for that string.

    ","parent_name":"Guitar"},"Structs/Guitar.html#/s:FV6Guitar6Guitar4testFT6stringSS4withVCSo19NSRegularExpression7Options_Sb":{"name":"test(string:with:)","abstract":"

    Tests a string to see if it matches the regular expression pattern.

    ","parent_name":"Guitar"},"Structs/Guitar/Chord.html":{"name":"Chord","abstract":"

    Common Regular Expression Patterns

    ","parent_name":"Guitar"},"Structs/Guitar.html#/s:ZFV6Guitar6Guitar24firstCharacterOfEachWordFT2inSS_GSaSS_":{"name":"firstCharacterOfEachWord(in:)","abstract":"

    Returns an array containing the first letter of each word in the test string.

    ","parent_name":"Guitar"},"Structs/Guitar.html#/s:ZFV6Guitar6Guitar23lastCharacterOfEachWordFT2inSS_GSaSS_":{"name":"lastCharacterOfEachWord(in:)","abstract":"

    Returns an array containing the last letter of each word in the test string.

    ","parent_name":"Guitar"},"Structs/Guitar.html#/s:ZFV6Guitar6Guitar12isValidEmailFT5emailSS_Sb":{"name":"isValidEmail(email:)","abstract":"

    Tests a string to check if it is a valid email address by using a regular expression.

    ","parent_name":"Guitar"},"Structs/Guitar.html#/s:ZFV6Guitar6Guitar7sanitzeFT6stringSS_SS":{"name":"sanitze(string:)","abstract":"

    Sanitizes of a string by removing all non-Alphanumeric characters (excluding whitespaces)

    ","parent_name":"Guitar"},"Structs/Guitar.html":{"name":"Guitar","abstract":"

    Undocumented

    "},"Extensions/String.html#/s:FE6GuitarSS7isAlphaFT_Sb":{"name":"isAlpha()","abstract":"

    A Boolean value indicating if all the characters are letters.

    ","parent_name":"String"},"Extensions/String.html#/s:FE6GuitarSS14isAlphanumericFT_Sb":{"name":"isAlphanumeric()","abstract":"

    A Boolean value indicating if all the characters are alphanumeric.

    ","parent_name":"String"},"Extensions/String.html#/s:FE6GuitarSS13isCapitalizedFT_Sb":{"name":"isCapitalized()","abstract":"

    A Boolean value indicating if the first characters in all of the words in the string are uppercased.

    ","parent_name":"String"},"Extensions/String.html#/s:FE6GuitarSS15isDecapitalizedFT_Sb":{"name":"isDecapitalized()","abstract":"

    A Boolean value indicating if the first characters in all of the words in the string are lowercased.

    ","parent_name":"String"},"Extensions/String.html#/s:FE6GuitarSS12isLowercasedFT_Sb":{"name":"isLowercased()","abstract":"

    A Boolean value indicating if all the characters are lowercased.

    ","parent_name":"String"},"Extensions/String.html#/s:FE6GuitarSS9isNumericFT_Sb":{"name":"isNumeric()","abstract":"

    A Boolean value indicating if all the characters are numbers.

    ","parent_name":"String"},"Extensions/String.html#/s:FE6GuitarSS12isUppercasedFT_Sb":{"name":"isUppercased()","abstract":"

    A Boolean value indicating if all the characters are uppercased.

    ","parent_name":"String"},"Extensions/String.html#/s:FE6GuitarSS10camelCasedFT_SS":{"name":"camelCased()","abstract":"

    Returns a camel cased version of the string.

    ","parent_name":"String"},"Extensions/String.html#/s:FE6GuitarSS11capitalizedFT_SS":{"name":"capitalized()","abstract":"

    Returns a capitalized version of the string.

    ","parent_name":"String"},"Extensions/String.html#/s:FE6GuitarSS13decapitalizedFT_SS":{"name":"decapitalized()","abstract":"

    Returns a decapitalized version of the string.

    ","parent_name":"String"},"Extensions/String.html#/s:FE6GuitarSS10kebabCasedFT_SS":{"name":"kebabCased()","abstract":"

    Returns the kebab cased (a.k.a. slug) version of the string.

    ","parent_name":"String"},"Extensions/String.html#/s:FE6GuitarSS11pascalCasedFT_SS":{"name":"pascalCased()","abstract":"

    Returns a pascal cased version of the string.

    ","parent_name":"String"},"Extensions/String.html#/s:FE6GuitarSS10snakeCasedFT_SS":{"name":"snakeCased()","abstract":"

    Returns the snake cased version of the string.

    ","parent_name":"String"},"Extensions/String.html#/s:FE6GuitarSS16splitWordsByCaseFT_SS":{"name":"splitWordsByCase()","abstract":"

    Splits a string into mutliple words, delimited by uppercase letters.

    ","parent_name":"String"},"Extensions/String.html#/s:FE6GuitarSS9swapCasedFT_SS":{"name":"swapCased()","abstract":"

    Returns the swap cased version of the string.

    ","parent_name":"String"},"Extensions/String.html#/s:FE6GuitarSS9latinizedFT_SS":{"name":"latinized()","abstract":"

    Returns the latinized version of the string without diacritics.

    ","parent_name":"String"},"Extensions/String.html#/s:FE6GuitarSS14reversedStringFT_SS":{"name":"reversedString()","abstract":"

    Retuns the reversed version of the string.

    ","parent_name":"String"},"Extensions/String.html#/s:FE6GuitarSS14withoutAccentsFT_SS":{"name":"withoutAccents()","abstract":"

    Returns the string without diacritics.

    ","parent_name":"String"},"Extensions/String.html#/s:FE6GuitarSS3padFT6lengthSi9withTokenSS_SS":{"name":"pad(length:withToken:)","abstract":"

    Returns the center-padded version of the string.

    ","parent_name":"String"},"Extensions/String.html#/s:FE6GuitarSS7padLeftFT6lengthSi9withTokenSS_SS":{"name":"padLeft(length:withToken:)","abstract":"

    Returns the left-padded version of the string.

    ","parent_name":"String"},"Extensions/String.html#/s:FE6GuitarSS8padRightFT6lengthSi9withTokenSS_SS":{"name":"padRight(length:withToken:)","abstract":"

    Returns the right-padded version of the string.

    ","parent_name":"String"},"Extensions/String.html":{"name":"String"},"Extensions.html":{"name":"Extensions","abstract":"

    The following extensions are available globally.

    "},"Structs.html":{"name":"Structs","abstract":"

    The following structs are available globally.

    "}} \ No newline at end of file +{"Structs/Guitar/Chord.html#/s:6GuitarAAV5ChordO5emailA2DmF":{"name":"email","abstract":"

    Pattern matches email addresses.

    ","parent_name":"Chord"},"Structs/Guitar/Chord.html#/s:6GuitarAAV5ChordO14firstCharacterA2DmF":{"name":"firstCharacter","abstract":"

    Pattern matches first alphanumeric character of each word.

    ","parent_name":"Chord"},"Structs/Guitar/Chord.html#/s:6GuitarAAV5ChordO13lastCharacterA2DmF":{"name":"lastCharacter","abstract":"

    Pattern matches last alphanumeric character of each word.

    ","parent_name":"Chord"},"Structs/Guitar/Chord.html#/s:6GuitarAAV5ChordO15nonAlphanumericA2DmF":{"name":"nonAlphanumeric","abstract":"

    Pattern matches non-Alphanumeric characters.

    ","parent_name":"Chord"},"Structs/Guitar/Chord.html#/s:6GuitarAAV5ChordO20nonAlphanumericSpaceA2DmF":{"name":"nonAlphanumericSpace","abstract":"

    Pattern matches non-Alphanumeric and non-Whitespace characters.

    ","parent_name":"Chord"},"Structs/Guitar.html#/s:6GuitarAAVABycfc":{"name":"init()","abstract":"

    fatalError occurs when using this empty initializer as Guitar must be initialized using init(pattern:) or init(chord:).

    ","parent_name":"Guitar"},"Structs/Guitar.html#/s:6GuitarAAVABSS7pattern_tcfc":{"name":"init(pattern:)","abstract":"

    Designated Initializer for Guitar

    ","parent_name":"Guitar"},"Structs/Guitar.html#/s:6GuitarAAVA2B5ChordO5chord_tcfc":{"name":"init(chord:)","abstract":"

    Delegating Initializer for Guitar

    ","parent_name":"Guitar"},"Structs/Guitar.html#/s:6GuitarAAV17evaluateForRangesSays5RangeVySS5IndexVGGSS4from_So19NSRegularExpressionC7OptionsV4withtF":{"name":"evaluateForRanges(from:with:)","abstract":"

    Evaluates a string for all instances of a regular expression pattern and returns a list of matched ranges for that string.

    ","parent_name":"Guitar"},"Structs/Guitar.html#/s:6GuitarAAV18evaluateForStringsSaySSGSS4from_So19NSRegularExpressionC7OptionsV4withtF":{"name":"evaluateForStrings(from:with:)","abstract":"

    Evaluates a string for all instances of a regular expression pattern and returns a list of matched strings for that string.

    ","parent_name":"Guitar"},"Structs/Guitar.html#/s:6GuitarAAV4testSbSS6string_So19NSRegularExpressionC7OptionsV4withtF":{"name":"test(string:with:)","abstract":"

    Tests a string to see if it matches the regular expression pattern.

    ","parent_name":"Guitar"},"Structs/Guitar/Chord.html":{"name":"Chord","abstract":"

    Common Regular Expression Patterns

    ","parent_name":"Guitar"},"Structs/Guitar.html#/s:6GuitarAAV24firstCharacterOfEachWordSaySSGSS2in_tFZ":{"name":"firstCharacterOfEachWord(in:)","abstract":"

    Returns an array containing the first letter of each word in the test string.

    ","parent_name":"Guitar"},"Structs/Guitar.html#/s:6GuitarAAV23lastCharacterOfEachWordSaySSGSS2in_tFZ":{"name":"lastCharacterOfEachWord(in:)","abstract":"

    Returns an array containing the last letter of each word in the test string.

    ","parent_name":"Guitar"},"Structs/Guitar.html#/s:6GuitarAAV12isValidEmailSbSS5email_tFZ":{"name":"isValidEmail(email:)","abstract":"

    Tests a string to check if it is a valid email address by using a regular expression.

    ","parent_name":"Guitar"},"Structs/Guitar.html#/s:6GuitarAAV7sanitzeS2S6string_tFZ":{"name":"sanitze(string:)","abstract":"

    Sanitizes of a string by removing all non-Alphanumeric characters (excluding whitespaces)

    ","parent_name":"Guitar"},"Structs/Guitar.html":{"name":"Guitar"},"Extensions/String.html#/s:SS6GuitarE7isAlphaSbyF":{"name":"isAlpha()","abstract":"

    A Boolean value indicating if all the characters are letters.

    ","parent_name":"String"},"Extensions/String.html#/s:SS6GuitarE14isAlphanumericSbyF":{"name":"isAlphanumeric()","abstract":"

    A Boolean value indicating if all the characters are alphanumeric.

    ","parent_name":"String"},"Extensions/String.html#/s:SS6GuitarE13isCapitalizedSbyF":{"name":"isCapitalized()","abstract":"

    A Boolean value indicating if the first characters in all of the words in the string are uppercased.

    ","parent_name":"String"},"Extensions/String.html#/s:SS6GuitarE15isDecapitalizedSbyF":{"name":"isDecapitalized()","abstract":"

    A Boolean value indicating if the first characters in all of the words in the string are lowercased.

    ","parent_name":"String"},"Extensions/String.html#/s:SS6GuitarE12isLowercasedSbyF":{"name":"isLowercased()","abstract":"

    A Boolean value indicating if all the characters are lowercased.

    ","parent_name":"String"},"Extensions/String.html#/s:SS6GuitarE9isNumericSbyF":{"name":"isNumeric()","abstract":"

    A Boolean value indicating if all the characters are numbers.

    ","parent_name":"String"},"Extensions/String.html#/s:SS6GuitarE12isUppercasedSbyF":{"name":"isUppercased()","abstract":"

    A Boolean value indicating if all the characters are uppercased.

    ","parent_name":"String"},"Extensions/String.html#/s:SS6GuitarE10camelCasedSSyF":{"name":"camelCased()","abstract":"

    Returns a camel cased version of the string.

    ","parent_name":"String"},"Extensions/String.html#/s:SS6GuitarE11capitalizedSSyF":{"name":"capitalized()","abstract":"

    Returns a capitalized version of the string.

    ","parent_name":"String"},"Extensions/String.html#/s:SS6GuitarE13decapitalizedSSyF":{"name":"decapitalized()","abstract":"

    Returns a decapitalized version of the string.

    ","parent_name":"String"},"Extensions/String.html#/s:SS6GuitarE10kebabCasedSSyF":{"name":"kebabCased()","abstract":"

    Returns the kebab cased (a.k.a. slug) version of the string.

    ","parent_name":"String"},"Extensions/String.html#/s:SS6GuitarE11pascalCasedSSyF":{"name":"pascalCased()","abstract":"

    Returns a pascal cased version of the string.

    ","parent_name":"String"},"Extensions/String.html#/s:SS6GuitarE10snakeCasedSSyF":{"name":"snakeCased()","abstract":"

    Returns the snake cased version of the string.

    ","parent_name":"String"},"Extensions/String.html#/s:SS6GuitarE16splitWordsByCaseSSyF":{"name":"splitWordsByCase()","abstract":"

    Splits a string into mutliple words, delimited by uppercase letters.

    ","parent_name":"String"},"Extensions/String.html#/s:SS6GuitarE9swapCasedSSyF":{"name":"swapCased()","abstract":"

    Returns the swap cased version of the string.

    ","parent_name":"String"},"Extensions/String.html#/s:SS6GuitarE3padSSSi6length_SS9withTokentF":{"name":"pad(length:withToken:)","abstract":"

    Returns the center-padded version of the string.

    ","parent_name":"String"},"Extensions/String.html#/s:SS6GuitarE7padLeftSSSi6length_SS9withTokentF":{"name":"padLeft(length:withToken:)","abstract":"

    Returns the left-padded version of the string.

    ","parent_name":"String"},"Extensions/String.html#/s:SS6GuitarE8padRightSSSi6length_SS9withTokentF":{"name":"padRight(length:withToken:)","abstract":"

    Returns the right-padded version of the string.

    ","parent_name":"String"},"Extensions/String.html#/s:SS6GuitarE9latinizedSSyF":{"name":"latinized()","abstract":"

    Returns the latinized version of the string without diacritics.

    ","parent_name":"String"},"Extensions/String.html#/s:SS6GuitarE14reversedStringSSyF":{"name":"reversedString()","abstract":"

    Retuns the reversed version of the string.

    ","parent_name":"String"},"Extensions/String.html#/s:SS6GuitarE14withoutAccentsSSyF":{"name":"withoutAccents()","abstract":"

    Returns the string without diacritics.

    ","parent_name":"String"},"Extensions/String.html":{"name":"String"},"Extensions.html":{"name":"Extensions","abstract":"

    The following extensions are available globally.

    "},"Structs.html":{"name":"Structs","abstract":"

    The following structs are available globally.

    "}} \ No newline at end of file diff --git a/docs/undocumented.json b/docs/undocumented.json index 3812e88..5773c0b 100644 --- a/docs/undocumented.json +++ b/docs/undocumented.json @@ -1,89 +1,6 @@ { "warnings": [ - { - "file": "/Users/Arthur/Documents/oss/guitar/Sources/Guitar.swift", - "line": null, - "symbol": "Guitar", - "symbol_kind": "source.lang.swift.decl.extension", - "warning": "undocumented" - }, - { - "file": "/Users/Arthur/Documents/oss/guitar/Sources/Guitar.swift", - "line": null, - "symbol": "Guitar", - "symbol_kind": "source.lang.swift.decl.extension", - "warning": "undocumented" - }, - { - "file": "/Users/Arthur/Documents/oss/guitar/Sources/Guitar.swift", - "line": null, - "symbol": "Guitar", - "symbol_kind": "source.lang.swift.decl.extension", - "warning": "undocumented" - }, - { - "file": "/Users/Arthur/Documents/oss/guitar/Sources/Guitar.swift", - "line": null, - "symbol": "Guitar", - "symbol_kind": "source.lang.swift.decl.extension", - "warning": "undocumented" - }, - { - "file": "/Users/Arthur/Documents/oss/guitar/Sources/Guitar.swift", - "line": null, - "symbol": "Guitar", - "symbol_kind": "source.lang.swift.decl.extension", - "warning": "undocumented" - }, - { - "file": "/Users/Arthur/Documents/oss/guitar/Sources/Guitar.swift", - "line": null, - "symbol": "Guitar", - "symbol_kind": "source.lang.swift.decl.extension", - "warning": "undocumented" - }, - { - "file": "/Users/Arthur/Documents/oss/guitar/Sources/Guitar.swift", - "line": null, - "symbol": "Guitar", - "symbol_kind": "source.lang.swift.decl.extension", - "warning": "undocumented" - }, - { - "file": "/Users/Arthur/Documents/oss/guitar/Sources/Guitar.swift", - "line": null, - "symbol": "Guitar", - "symbol_kind": "source.lang.swift.decl.extension", - "warning": "undocumented" - }, - { - "file": "/Users/Arthur/Documents/oss/guitar/Sources/Guitar.swift", - "line": 13, - "symbol": "Guitar", - "symbol_kind": "source.lang.swift.decl.struct", - "warning": "undocumented" - }, - { - "file": "/Users/Arthur/Documents/oss/guitar/Sources/Guitar.swift", - "line": 13, - "symbol": "Guitar", - "symbol_kind": "source.lang.swift.decl.struct", - "warning": "undocumented" - }, - { - "file": "/Users/Arthur/Documents/oss/guitar/Sources/Guitar.swift", - "line": 13, - "symbol": "Guitar", - "symbol_kind": "source.lang.swift.decl.struct", - "warning": "undocumented" - }, - { - "file": "/Users/Arthur/Documents/oss/guitar/Sources/Guitar.swift", - "line": 13, - "symbol": "Guitar", - "symbol_kind": "source.lang.swift.decl.struct", - "warning": "undocumented" - } + ], - "source_directory": "/Users/Arthur/Documents/oss/guitar" + "source_directory": "/Users/Arthur/Documents/oss/guitar/GuitarExample" } \ No newline at end of file